在Oracle数据库维护中,常常需要分析原来数据库都做了哪些删除、更新、增加数据的操作,所以一般需要用到Logminer这工具来分析归档日志。
环境:AIX5.3+Oracle10.2.0.1 使用IBM的Tivoli Storage Manager把数据库数据、归档日志备份到带库中.
1、确定具体时间的DML操作,把相应的归档日志从带库恢复到数据库中
1)、远程登陆或本地登陆数据库服务器系统:
进入rman的命令界面:
LHXXDBS01:oraoms> rman target/
RMAN>list backup; (把所有的备份都列出来)
如果只提取恢复归档日志,用下面命令即可,然后记住那天归档日志的sequence 号:
RMAN>list backupset of archivelog all; (把所有的归档日志列出来)
或者:
1)在sqlplus用sys超级用户登陆数据库中,然后把当前的时间改成'yyyy-mm-dd hh24:mi:ss'格式,这样可以看清楚归档日志的起始时间:
SQL>alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
2)v$log_history视图的sequence#为归档日志序列号,first_time为该归档日志的开始时间。
SQL>select sequence#,first_time from v$log_history;
记下某天的归档日志序列,比如为9700--9712、选择存放归档日志的位置,然后执行命令:
RMAN>RUN
{
SET ARCHIVELOG DESTINATION TO '新位置';
RESTORE ARCHIVELOG SEQUENCE XXXX;
}
注:导出多个归档日志:
RUN
{
SET ARCHIVELOG DESTINATION TO '新位置';
RESTORE ARCHIVELOG SEQUENCE between XX and XX;
}
如:
RUN
{
SET ARCHIVELOG DESTINATION TO '/oracle/oms/oradata/temp';
RESTORE ARCHIVELOG SEQUENCE between 9700 and 9712;
}
3、建立日志分析列表,把第一个归档日志放到分析列表
示例:
SQL> conn /as sysdba
已连接。
SQL>execute dbms_logmnr.add_logfile(logfilename=>'/oracle/oms/oradata/temp/1_9700_644336885.dbf',options=>dbms_logmnr.new);
4、把第二个归档日志放到分析列表(第二个归档日志以后都是下面的格式)
SQL>execute dbms_logmnr.add_logfile(logfilename=>'/oracle/oms/oradata/temp/1_9701_644336885.dbf',options=>dbms_logmnr.addfile);
5、启动LogMiner
SQL> execute dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog);
6、把分析出来的数据放在logminer_test表中,这样方便查询。因为表v$logmnr_contents的数据量很大,选择一个空闲的表空间
SQL>
create table logminer_test tablespace users
as
select * from v$logmnr_contents;
7、把分析日志表logminer_test的查询权限赋予给read只读的数据库用户,这样使用第三方工具很方便查询(plsql等):
SQL>grant select on logminer_test to read;
或者直接查看日志分析结果:
SQL> col username format a8
SQL> col sql_redo format a50
SQL> alter session set nls_date_format='yyyy-mm-dd
hh24:mi:ss';
会话已更改。
SQL> select username,timestamp,sql_redo from v$logmnr_contents where seg_name='COMM_MENU_INFO';
8、结束LogMiner
SQL> execute dbms_logmnr.end_logmnr;
PL/SQL 过程已成功完成。
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24870090/viewspace-1027446/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/24870090/viewspace-1027446/