toad查看oracle的plsql包,Oracle logminer 分析redo log(TOAD与PLSQL)

Oracle logminer 分析redo log

Oracle 11g r2 RAC centos 6.5

设置时间格式

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') date_format from dual ;

查看数据库是否开启补全日志功能

select

SUPPLEMENTAL_LOG_DATA_MIN,

SUPPLEMENTAL_LOG_DATA_PK,

SUPPLEMENTAL_LOG_DATA_UI,

SUPPLEMENTAL_LOG_DATA_FK,

SUPPLEMENTAL_LOG_DATA_ALL from v$database;

开启补全日志

alter database add supplemental log data;

alter database add supplemental log data (primary key, unique,foreign key) columns;

再次查询检查是否开启

开启归档--详细见归档的开启

SQL> archive log list;

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        +FRA/bol/arch

Oldest online log sequence     93

Next log sequence to archive   95

Current log sequence        95

配置LogMiner工具

SQL> show parameter UTL_FILE

NAME      TYPE  VALUE

------------------------------------ ----------- ------------------------------

utl_file_dir      string

1 利用toad自带的工具logminer

dml 操作

select *from TESTYHQ;

insert into TESTYHQ(id1,name1)values (2,'hq');

commit;

利用toad的logminer直接分析redo

select * from V$LOGFILE;

select group#,sequence#,bytes,members,status from v$log;

toad-database-diagnose-logminer

选择online logs,输入redo文件全路径,比如

1c9d95abd26f053d94cf00c1f330a11e.png

0ad4570bdf305f0da152c3b47f8e38a5.png

91eecd37a8cd8e4b2c31f0e1e426116f.png

+DATA/bol/onlinelog/group_2.258.990861405

再选择时间范围,选择过大的话,日志会有很多,完成后点击finish,直接生成记录

349052a30c381fbf369653ea0f90fe42.png

可以用sql进行筛选查看

select scn,timestamp,operation,seg_owner,seg_name,

table_space,row_id,username,os_username,machine_name,

session#,serial#,sql_redo,sql_undo from v$logmnr_contents where seg_owner='SDE';

几个关键字段,username,machine_name,session#,serial#,sql_redo,sql_undo,可以清楚的看见

scn,时间,操作内容,表名,操作的机器名字,和操作语句,以及undo内容

7c7d309b6d07a921c9e9b20b9fbdc11f.png

d7b8c56d56b0a7a04af0ef8b9512c531.gif

9cfcf334f56a65a4533f189186753626.png

2 利用plsql进行分析

[root@rac1 /]# mkdir u02

[root@rac1 /]# chown oracle:oinstall /u02

alter system set utl_file_dir='/u02' scope=spfile; --需要重启db

SQL>  show parameter UTL_FILE

NAME      TYPE  VALUE

------------------------------------ ----------- ------------------------------

utl_file_dir      string  /u02

[root@rac1 admin]# ls dbmslm*

dbmslmd.sql  dbmslm.sql  dbmslms.sql

[root@rac1 admin]# pwd

/u01/app/11.2.0/grid/rdbms/admin

SQL> @/u01/app/11.2.0/grid/rdbms/admin/dbmslmd.sql

SQL> @/u01/app/11.2.0/grid/rdbms/admin/dbmslm.sql

SQL> @/u01/app/11.2.0/grid/rdbms/admin/dbmslms.sql

SQL> execute dbms_logmnr_d.build(dictionary_filename =>'dfdict.data',dictionary_location =>'/u02');

PL/SQL procedure successfully completed.

--- 如果报错,请检查目录及权限

*

ERROR at line 1:

ORA-01336: specified dictionary file cannot be opened

ORA-29283: invalid file operation

ORA-06512: at "SYS.UTL_FILE", line 536

ORA-29283: invalid file operation

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6110

ORA-06512: at "SYS.DBMS_LOGMNR_INTERNAL", line 6200

ORA-06512: at "SYS.DBMS_LOGMNR_D", line 12

ORA-06512: at line 1

--

insert into TESTYHQ(id1,name1)values (444,'hq');

commit;

select group#,sequence#,bytes,members,status from v$log;

select * from V$LOGFILE;

SQL> alter system switch logfile;

----

因为这里只有一个日志,那么只需要添加一个就好了(第一个日志用new“=>dbms_logmnr.new”)

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.new,logfilename =>'/u01/app/oracle/oradata/or11g/redo01.log');

如果是有多个日志,那么就继续添加(添加其他日志用add“=>dbms_logmnr.addfile”):

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.addfile,logfilename=>'/u01/app/oracle/oradata/or11g/redo02.log');

dbms_logmnr.new --用于建一个日志分析表

dbms_logmnr.addfile --用于加,入用于分析的日志文件

dbms_logmnr.removefile --用于移出,用于分析的日志文件

如果是删除日志就用removefile,如:

execute dbms_logmnr.add_logfile(options =>dbms_logmnr.removefile,logfilename =>'/u01/app/oracle/oradata/or11g/redo03.log');

---

SQL> alter system switch logfile;

System altered.

SQL> exec dbms_logmnr.add_logfile('+DATA/bol/onlinelog/group_1.257.990861405',dbms_logmnr.new);

PL/SQL procedure successfully completed.

SQL> exec dbms_logmnr.start_logmnr(dictfilename=>'/u02/dfdict.data');

PL/SQL procedure successfully completed.

select scn,timestamp,operation,seg_owner,seg_name,

table_space,row_id,username,os_username,machine_name,

session#,serial#,sql_redo,sql_undo from v$logmnr_contents where seg_owner='SDE';

create table t01 as select scn,timestamp,operation,seg_owner,seg_name,

table_space,row_id,username,os_username,machine_name,

session#,serial#,sql_redo,sql_undo from v$logmnr_contents where seg_owner='SDE';

--v$logmnr_contents 针对于session,其他session执行该查询就会报错

ORA-01306: 在从v$logmnr_contents中选择之前必须调用dbms_logmnr.start_logmnr()

select *from t01;

SQL> exec dbms_logmnr.end_logmnr;--关闭日志挖掘

PL/SQL procedure successfully completed.

select *from t01;

ad3eca35417b7540b46c7d393911f5a6.png

1eb0dd88bbe73a173faa05b2850e426f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/346028.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nutshell中的Java 8语言功能-第2部分

编者注:您也可以在此处检查Part-1。 嗨,朋友们,这是简明系列的Java 8语言功能的第2部分。 在这里,我们将讨论Java 8的以下功能: 接口中的静态方法 流 1.接口中的静态方法 什么是静态方法? 静态方法是属…

梯度下降法、最速下降法

梯度下降法 最优化问题是求解函数极值的问题,包括极大值和极小值。相信所有的读者对这个问题都不陌生,在初中时我们就学会了求解二次函数的极值(抛物线的顶点),高中时学习了幂函数,指数函数,对…

超越函数

代数数 在数论中,超越数是指任何一个不是代数数的数字(通常它是复数)。它满足以下条件——只要它不是任何一个整系数代数方程的根,它即是超越数。最著名的超越数是e以及π。 超越数 超越数的例子 所有超越数构成的集是一个不可数…

只需5分钟即可启动并运行分层架构:: Spring Boot第1部分

这是一个分为两部分的系列,其中我将展示如何使用Spring Boot创建分层架构。 什么是分层体系结构:简而言之,当我们构建企业应用程序时,我们维护不同的层以封装特定于层的逻辑,这样就不会溢出到另一层。 当我们考虑企业…

linux设置默认的首页文件,Linux 设置Firefox主页

Linux 设置Firefox主页在Linux系统中,当用户启动Firefox主页时,会自动打开Firefox默认设置的主页。当然,用户也可以通过Firefox的首选项,手动将Firefox主页设置为自己喜欢的或经常访问的网页。在本单元练习中,将Firefo…

向量范数与矩阵范数

一、向量的范数 1.1 定义 1.2 举例 首先定义一个向量为:a[-5,6,8, -10] 1.2.1 向量的1范数 向量的1范数即:向量的各个元素的绝对值之和,上述向量a的1范数结果就是:29,MATLAB代码实现为&…

苹果linux桌面文件夹,Ubuntu 10.04下一键安装Mac OS X主题桌面

不久前的《Ubuntu 10.04下Mac OS X风格桌面美化安装》遭到网友的砖头,认为和Mac OS X风格桌面美化安装根本没有关系。本来是要跟这篇一起发布的,一等就等了这么长,下面我们来看下在Ubuntu 10.04下一键安装Mac OS X主题桌面的工具Epidermis th…

示性函数、共轭函数、对偶范数、共轭

示性函数(Indicator function) 共轭函数 对偶范数 几个常用公式 共轭(conjugate) 所谓“轭”,指的是古代牛车上放在并行的牛脖颈上的曲木。共轭关系,通俗来说一般用以描述两件事物以一定规律相互配对或孪生(一般共轭对…

Redis-实践知识

转自极客时间Redis 亚风 原文视频:https://u.geekbang.org/lesson/535?article681062 Redis最佳实践 普通KEY Redis 的key虽然可以自定义,但是最好遵循下面几个实践的约定: 格式:[业务名称]:[数据名]:[id] 长度不超过44字节 不…

MicroProfile OpenAPI上的Swagger UI

MicroProfile OpenApi为我们提供了一种使用OpenApi 3描述我们JAX-RS API的标准化方法。如果您以前使用过swagger-jaxrs和swagger-annotations ,由于OpenApi是基于Swagger构建的,因此您会感到非常熟悉。 2015年11月5日,SmartBear与3Scale&…

linux 跟踪内存,用strace跟踪malloc内存分配

strace介绍strace是一个非常有用的命令,它用于记录和跟踪程序运行期间收到的信号和调用的系统调用。strace的简单使用ubuntu64:~$ strace cat /dev/nullexecve("/bin/cat", ["cat", "/dev/null"], [/* 32 vars */]) 0brk(NULL) 0x1…

归一化、标准化和正则化

归一化 Normalization 归一化一般是将数据映射到指定的范围,用于去除不同维度数据的量纲以及量纲单位。 常见的映射范围有 [0, 1] 和 [-1, 1] ,最常见的归一化方法就是 Min-Max 归一化: 举个例子,我们判断一个人的身体状况是否健…

slf4j绑定器_用于ADFLogger的SLF4J绑定–缺少的部分

slf4j绑定器由于最好的原因,在我的日常工作中,我希望为ADF Logger Oracle ADF提供一个SLF4J适配器。 毫不奇怪,slf4j没有用于ADFLogger的适配器,但是由于ADFLogger只是Java Util Logging的轻巧包装,因此花了一个多小时…

核心网

在我们正式讲解之前,我想通过这张网络简图帮助大家认识一下全网的网络架构,通过对全网架构的了解,将方便您对后面每一块网络细节的理解。 这张图分为左右两部分,右边为无线侧网络架构,左边为固定侧网络架构。 无线侧…

JDK 11:轻松取出单文件Java源代码程序

JDK 11 Early Access Builds包含与JEP 330相关的预览功能(“启动单个文件源代码程序”)。 我之前在“ Shebang即将来到Java? ”和“ 为JDK 11提议的JEP 329和JEP 330 ”,由于JDK 11 Early Access Builds,在这篇文章中…

瑞利、莱斯与Nakagami-m信道衰落模型

一、信道的定义与调制信道的数学模型 1.信道的定义与分类 信道(Channel)是指以传输媒质为基础的信号通道。根据新到的定义,如果信道仅是指信号的传输媒质,这种信道称为狭义信道;如果这种信道不仅是传输媒质&#xff…

linux用if语句编程序,Shell 脚本基础 - 使用 if 语句进行条件检测

Bourne Shell 的 if 语句和大部分编程语言一样 - 检测条件是否真实,如果条件为真,shell 会执行这个 if 语句指定的代码块,如果条件为假,shell 就会跳过 if 代码块,继续执行之后的代码。if 语句的语法:if[判…

卫星导航定位 -- 坐标系统与时间系统

原文https://blog.csdn.net/f2157120/article/details/81210843 1 协议天球坐标系 以地球质心为坐标原点,以地球自转的轴为z轴 2 协议地球坐标系 3 WGS-84坐标系 4 CGS2000坐标系统 5 直角坐标系与大地坐标系转换 6 大地坐标系转换 7 时间系统 8 GNSS时间系统 …

博弈论学科整体概览

一、博弈论的概念 博弈论又被称为对策论(Game Theory)既是现代数学的一个新分支,也是运筹学的一个重要学科。博弈论主要研究公式化了的激励结构间的相互作用。是研究具有斗争或竞争性质现象的数学理论和方法。博弈论考虑游戏中的个体的预测行…