logmnr 的使用

请先参照doc.1504755,上面有详细的英文介绍


今天在生产库上动刀了,说下生产库的状态,网优10g的RAC,归档切换的很快,大概4分钟一次,导致厂商备份很慢。然后日志又被他们的烂脚本给阉割了,咨询了下oracle原厂支持,说使用下logmnr。下面贴详细步骤:


SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
SQL> @?/rdbms/admin/dbmslm.sql
SQL> desc dbms_logmnr
SQL> show parameter log_archive_dest
SQL> show parameter db_recovery_file_dest

SQL> execute dbms_logmnr.add_logfile( logfilename =>'/tmp/arch/1_62376_708033235.dbf',options => dbms_logmnr.new);
SQL> execute dbms_logmnr.add_logfile( logfilename =>'/tmp/arch/1_62377_708033235.dbf',options =>dbms_logmnr.addfile);
SQL> execute dbms_logmnr.start_logmnr( options =>dbms_logmnr.dict_from_online_catalog);
select sql_redo,sql_undo,username from v$LOGMNR_CONTENTS where rownum <=2;
select count(*) from v$LOGMNR_CONTENTS;

SQL>select username AS USR,(XIDUSN || '.' || XIDSLT || '.' || XIDSQN) AS XID,
operation,
SQL_REDO,
SQL_UNDO
from v$LOGMNR_CONTENTS
where username in ('sys');

SQL>create table logmnr_contents_n1_20k tablespace FMDBS as select * from v$logmnr_contents where rownum <=20000;

SQL> execute dbms_logmnr.end_logmnr();


execute dbms_logmnr.add_logfile( options =>dbms_logmnr.removefile,logfilename =>'/tmp/arch/1_62376_708033235.dbf');
execute dbms_logmnr.add_logfile( options =>dbms_logmnr.removefile,logfilename =>'/tmp/arch/1_62377_708033235.dbf');


select SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_PK,SUPPLEMENTAL_LOG_DATA_UI,SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL from gv$database;


SQL> select name from v$archived_log where dictionary_begin='YES';
SQL> select name from v$archived_log where dictionary_end='YES';



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值