/* 2008/05/30
*环境:Windows XP +Oracle10.2.0.1
*Oracle 备份与恢复培训教程 Kenny Smith,Stephan Haisley著 周琪、韩岷、李渝琳等译
*第二部分:用户管理的备份与恢复
*第10章:LogMiner
*/
练习:分析重做文件
1、创建数据字典文件
安装logMiner,必须首先要运行下面这样两个脚本,
l $ORACLE_HOME/rdbms/admin/dbmslm.sql
2 $ORACLE_HOME/rdbms/admin/dbmslmd.sql.
SQL> @G:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslm.sql
程序包已创建。
授权成功。
SQL> @G:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\dbmslmd.sql
程序包已创建。
在$oracle_home\database\initrisenet.ora加上*.UTL_FILE_DIR='E:\logminer'
关闭数据库,然后启动
SQL> execute dbms_logmnr_d.build(-
> dictionary_filename=>'dictionary.ora',-
> dictionary_location=>'e:\logminer');
PL/SQL 过程已成功完成。
2、产生数据库操作
SQL> connect scott/mzl
已连接。
SQL> desc dept;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
DEPTNO NOT NULL NUMBER(2)
DNAME VARCHAR2(14)
LOC VARCHAR2(13)
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
50 support denver
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
SQL> update dept set loc='beijing' where deptno='40';
已更新 1 行。
SQL> commit;
提交完成。
3、为分析指定日志文件
SQL> select * from bonus;
未选定行
SQL> drop table bonus;
表已删除。
SQL> set time on;
15:30:29 SQL> conn sys/mzl as sysdba
已连接。
15:30:41 SQL> select sequence# from v$log where status='CURRENT';
SEQUENCE#
----------
1
15:31:11 SQL> alter system switch logfile;
系统已更改。
15:31:28 SQL> select sequence# from v$log where status='CURRENT';
SEQUENCE#
----------
2
4、启动LogMiner
15:34:14 SQL> select db_name,thread_sqn,filename
15:34:52 2 from v$logmnr_logs;
未选定行
15:35:00 SQL> begin
15:36:20 2 dbms_logmnr.add_logfile(
15:36:33 3 logfilename=>'G:\oracle\product\10.2.0\flash_recovery_area\R
ISENET\ARCHIVELOG\2008_01_31\O1_MF_1_1_3T2YBJH4_.ARC',
15:37:18 4 ptions=>dbms_logmnr.NEW);
15:37:37 5 end;
15:37:40 6 /
PL/SQL 过程已成功完成。
15:38:35 SQL> set time off;
SQL> select db_name,thread_sqn,filename from v$logmnr_logs;
DB_NAME THREAD_SQN
-------- ----------
FILENAME
--------------------------------------------------------------------------------
RISENET 1
G:\oracle\product\10.2.0\flash_recovery_area\RISENET\ARCHIVELOG\2008_01_31\O1_MF
_1_1_3T2YBJH4_.ARC
启动LogMiner
SQL> execute dbms_logmnr.start_logmnr(-
> dictfilename=>'e:\logminer\dictionary.ora');
PL/SQL 过程已成功完成。
5、分析日志文件内容
select sql_redo from v$logmnr_contents;
select sql_redo from v$logmnr_contents where tablespace='DEPT';
6、关闭LogMiner
SQL> create table logmnr_contents as select * from v$logmnr_contents;
表已创建。
SQL> execute dbms_logmnr.end_logmnr;
PL/SQL 过程已成功完成。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-325135/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12778571/viewspace-325135/