Logminer的使用
admin
2023-05-07 19:01:56
0

[oracle@db12c ~]$ mkdir utl_file_dir

[oracle@db12c ~]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.2.0 Production on Sun Sep 20 15:55:20 2015

Copyright (c) 1982, 2014, Oracle.  All rights reserved.

Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SYS@ORA12C> alter system set utl_file_dir='/home/oracle/utl_file_dir' scope=spfile;

System altered.

SYS@ORA12C> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SYS@ORA12C> startup

ORACLE instance started.

Total System Global Area 729808896 bytes

Fixed Size   2928680 bytes

Variable Size 553652184 bytes

Database Buffers 167772160 bytes

Redo Buffers   5455872 bytes

Database mounted.

Database opened.

SYS@ORA12C> @?/rdbms/admin/dbmslms.sql;

Session altered.

Package created.

No errors.

Grant succeeded.

Session altered.

_user'@'_connect_identifier> @?/rdbms/admin/dbmslm.sql;

Session altered.

Package created.

Grant succeeded.

Synonym created.

Session altered.

_user'@'_connect_identifier> @?/rdbms/admin/dbmslmd.sql;

Session altered.

Package created.

Synonym created.

Session altered.

SYS@ORA12C> alter database add supplemental log data; --打开补充日志

Database altered.

SYS@ORA12C> select SUPPLEMENTAL_LOG_DATA_MIN from v$database;

SUPPLEME

--------

YES

SYS@ORA12C> exec dbms_logmnr_d.build(dictionary_filename=>'LGM_v1201dict.ora',dictionary_location=>'/home/oracle/utl_file_dir'); --创建数据字典

PL/SQL procedure successfully completed.


模拟数据恢复:(首先把scott用户表T给truncate了,后续在hr用户做了很多操作,需要把这些数据都恢复过来)

COTT@ORA12C> create table t as select * from dba_objects;

Table created.

SCOTT@ORA12C> select sysdate from dual;

SYSDATE

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

2015-09-20 16:32:58

1 row selected.

SCOTT@ORA12C> conn hr/hr;

Connected.

HR@ORA12C> create table hr(id int,name varchar2(100);

create table hr(id int,name varchar2(100)

HR@ORA12C> create table hr(id int,name varchar2(100));

Table created.

HR@ORA12C> insert into hr values(1,'1gsge');

1 row created.

HR@ORA12C> insert into hr values(2,'1gsdfdge');

1 row created.

HR@ORA12C> insert into hr values(3,'1gsdfddfdge');

1 row created.

HR@ORA12C> insert into hr values(5,'1gsdfddfdgdfde');

1 row created.

HR@ORA12C> insert into hr values(4,'1gsdfddfdfdfdgdfde');

1 row created.

HR@ORA12C> commit;

Commit complete.

HR@ORA12C> select * from hr;

      ID NAME

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

1 1gsge

2 1gsdfdge

3 1gsdfddfdge

5 1gsdfddfdgdfde

4 1gsdfddfdfdfdgdfde


5 rows selected.

HR@ORA12C> conn / as sysdba

Connected.

SYS@ORA12C> conn scott/scott;

Connected.

SCOTT@ORA12C> truncate table t;

Table truncated.

SCOTT@ORA12C> conn / as sysdba

Connected.

SYS@ORA12C> alter system switch logfile;

System altered.

SYS@ORA12C> archive log list;

Database log mode       Archive Mode

Automatic archival       Enabled

Archive destination       USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     3

Next log sequence to archive   5

Current log sequence       5

当前日志序列号是5,那么我以前操作的就是4,

添加日志

SYS@ORA12C> exec dbms_logmnr.add_logfile(logfilename=>'/tmp/o1_mf_1_4_bzww1nfk_.arc',options=>dbms_logmnr.new);

PL/SQL procedure successfully completed.

开始挖掘:

SYS@ORA12C> exec dbms_logmnr.start_logmnr(dictfilename=>'/tmp/LGM_v1201dict.ora',options=>dbms_logmnr.ddl_dict_tracking);

PL/SQL procedure successfully completed.

SYS@ORA12C> select distinct username from v$logmnr_contents;只在当前会话有效,

USERNAME

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

HR

SCOTT

UNKNOWN

SYS

SYS@ORA12C> create table logmnr as select * from v$logmnr_contents; --创建正式表方便查询。

Table created.

create index logmnr_idx on logmnr(username,table_name,operation);--建索引

SELECT username, sql_redo, TIMESTAMP

  FROM logmnr a

 WHERE a.timestamp >

       to_timestamp('2015-09-20 16:32:58', 'yyyy-mm-dd hh34:mi:ss')

   AND a.username NOT IN ('SYS', 'SYSMAN')

这样就可用闪回或者rman把scott用户T表恢复,然后通过sql_redo把HR用户的数据恢复:


Logminer的使用


Logminer的使用

相关内容

热门资讯

Google在港推出AI代理G... 观点网讯:7月29日,Google在香港推出AI代理Gemini Spark,该代理可全天候在后台运...
5G+165Hz!联想新品官宣... 近两年来,小屏平板一直是比较有趣的一个品类。 不同于大平板注重效率、手机追求万能的特点,拯救者Y70...
原创 马... 马斯克又出来了。这次说2036年钱就没用了。 理由是人工智能加机器人,东西多到你用不完,还拿钱干嘛...
美的集团:我国智能家居互联互通... IT之家 7 月 30 日消息,美的集团今日发布公告,7 月 21 日至 23 日,智能家居互联互通...
华为新款MatePad Pro... 【CNMO科技消息】7月30日,@华为终端 官宣全新旗舰平板华为MatePad Pro。 新款华为...
从实验室到实景验证:6G光子太... 全息通信是第六代移动通信(6G)的典型应用场景之一,旨在通过融合无线传输与全息三维成像技术,实现超大...
从“能对话”到“能干活”——人... 【经济界面】 光明日报记者 刘坤 李晓东 周洪双 人工智能(AI)眼镜化身为个人“助理”,实时进行...
【全新发布】UminiP Pr... (来源:洲明科技)
日本通过“H3火箭8号”发射失... △H3火箭(资料图) 日本文部科学省30日召开关于去年“H3火箭8号”发射失败的会议。会议通过的最终...
互联网巨头抢滩健康硬件,上游芯... 封面新闻记者 付文超 当下,互联网巨头对健康硬件的押注,正在成为产业现实,加速拉动整个产业链步入新一...