oracle查看附加日志,Oracle 11g LogMiner解析redo日志

一、设置日期格式(方便查看)

SQL> alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;

System altered.

SQL>

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

TO_CHAR(SYSDATE,'YY

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

2018-09-19 08:33:27

SQL>

二、开启补全日志

查看补全日志是否开启:

SQL> Select

SUPPLEMENTAL_LOG_DATA_MIN,

SUPPLEMENTAL_LOG_DATA_PK,

SUPPLEMENTAL_LOG_DATA_UI,

SUPPLEMENTAL_LOG_DATA_FK,

SUPPLEMENTAL_LOG_DATA_ALL from v$database;

开启补全日志:

SQL> alter database add supplemental log data;

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

再次查看:

SQL> Select

SUPPLEMENTAL_LOG_DATA_MIN,

SUPPLEMENTAL_LOG_DATA_PK,

SUPPLEMENTAL_LOG_DATA_UI,

SUPPLEMENTAL_LOG_DATA_FK,

SUPPLEMENTAL_LOG_DATA_ALL from v$database;

SUPPLEME SUP SUP SUP SUP

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

YES    YES YES YES NO

SQL>

三、开启归档

SQL> archive log list

Database log mode          No Archive Mode

Automatic archival          Disabled

Archive destination          USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence    6

Current log sequence          8

SQL>

SQL> shutdown immediate

Database closed.

Database dismounted.

Oracle instance shut down.

SQL>

SQL>

SQL> startup mount

ORACLE instance started.

Total System Global Area  839282688 bytes

Fixed Size            2217992 bytes

Variable Size          494929912 bytes

Database Buffers      335544320 bytes

Redo Buffers            6590464 bytes

Database mounted.

SQL>

SQL>

SQL> alter database archivelog;

Database altered.

SQL>

SQL>

SQL> alter database open;

Database altered.

SQL>

SQL> archive log list

Database log mode          Archive Mode

Automatic archival          Enabled

Archive destination          USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence    6

Next log sequence to archive  8

Current log sequence          8

SQL>

SQL>

SQL> alter system switch logfile;

System altered.

SQL>

四、配置LogMiner工具

SQL> show parameter UTL_FILE

NAME                    TYPE    VALUE

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

utl_file_dir                string

SQL>

SQL> alter system set utl_file_dir='/u03' scope=spfile;

System altered.

SQL>

SQL>

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

SQL>

SQL> startup

ORACLE instance started.

Total System Global Area  839282688 bytes

Fixed Size            2217992 bytes

Variable Size          494929912 bytes

Database Buffers      335544320 bytes

Redo Buffers            6590464 bytes

Database mounted.

Database opened.

SQL>

SQL>

SQL> show parameter UTL_FILE

NAME                    TYPE    VALUE

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

utl_file_dir                string    /u03

SQL>

五、创建数据字典文件

数据字典文件是一个文本文件,使用包DBMS_LOGMNR_D来创建。如果我们要分析的数据库中的表有变化,影响到库的数据字典也发生变化,这时就需要重新创建该字典文件。另外一种情况是在分析另外一个数据库文件的重作日志时,也必须要重新生成一遍被分析数据库的数据字典文件。

SQL> begin

dbms_logmnr_d.build('dfdict.data','/u03');

end;

/

PL/SQL procedure successfully completed.

SQL>

进入操作系统目录,在/u03下已经生成了数据字典文件:dfdict.data

[root@RedHat5 u03]# ls

dfdict.data

六、创建要分析的日志文件列表

Oracle的重作日志分为两种,在线(online)和离线(offline)归档日志文件,我这里主要分析归档日志,在线日志原理一样。

6.1、查看日志组的状况

SQL> select GROUP# ,SEQUENCE# ,STATUS  from v$log;

GROUP#  SEQUENCE# STATUS

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

1      10 INACTIVE

2      11 CURRENT

3        9 INACTIVE

SQL>

现在做任何操作都是的事物日志记录到第二个日志组的日志文件(current)

6.2、查看日志组成员

SQL> set linesize 120

SQL> col MEMBER format a45

SQL> select GROUP#,MEMBER from v$logfile;

G

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值