Oracle数据库备份与恢复(6):LogMiner
2008-11-05 11:43:41 来源:WEB开发网6.4 使用LogMiner 进行分析
6.4.1 设定用于LogMiner分析的日志文件存放的位置
设置 UTL_FILE_DIR,需要重启数据库。
设置 utl_file_dir=* 表示你能操作任何目录
在 initsid.ora 文件中加入 utl_file_dir参数或者:
SQL> alter system set utl_file_dir='d:' scope=spfile;
SQL> shutdown immediate
SQL> starup
6.4.2 生成数据字典文件
SQL>
BEGIN
2 dbms_logmnr_d.build(
3 dictionary_filename => 'logminer_dict.dat',
4 dictionary_location => '/u01/arch'
5 );
6 END;
7 /
dictionary_location指的是 Logminer数据字典文件存放的位置,它必须匹配 utl_file_dir的 设定。
dictionary_filename指的是放于存放位置的字典文件的名字,名字可以任意取。
6.4.3 建立日志分析表
建立日志分析表数据库必须在 mount或 nomount 状态建立日志分析表,使用 dbms_logmnr.add_logfile() SQL> BEGIN 2 dbms_logmnr.add_logfile(3 options => dbms_logmnr.new,4 logfilename => '/u01/arch/arc_ctc_0503.arc' 5 );6 END;7 /其中的 options有三种取值,dbms_logmnr.new 用于建一个日志分析表 dbms_logmnr.addfile 用于加入用于分析的的日志文件 dbms_logmnr.removefile 用于移出用于分析的日志文件
6.4.4 添加用于分析的日志文件
SQL>
BEGIN
2 dbms_logmnr.add_logfile(
3 options => dbms_logmnr.addfile,
4 logfilename => '/u01/arch/arc_ctc_0504.arc'
5 );
6 END;
7 /
可以用以下方法查询分析的日志文件包含的 scn 范围和日期范围:
SQL> select low_time,high_time,low_scn,next_scn from v$logmnr_logs;
6.4.5 启动LogMiner 进行分析
SQL> BEGIN
2 dbms_logmnr.start_logmnr(
3 dictfilename => '/u01/arch/logminer_dict.dat',
4 starttime => to_date('20030501 12:15:00','yyyymmdd hh24:mi:ss'),
5 endtime=> to_date('20030501 15:40:30','yyyymmdd hh24:mi:ss')
6 );
7 END;
8 /
即分析2003年5月 1日这天 12:15至 15:40这段时间,并把分析结果放到数据字典中以用于查询。
还有两个参数 startscn (起始 SCN号) 及 endscn (终止 SCN) 号。
6.4.6 查看日志分析的结果
查看DML操作:
SELECT operation, sql_redo, sql_undo
FROMV$logmnr_contents WHERE seg_name = 'QIUYB';
OPERATION SQL_REDO SQL_UNDO
---------- -------------------------- --------------------------
INSERT inser into qiuyb.qiuyb …… delete from qiuyb.qiuyb……
其中 operation指的是操作,sql_redo 指的是实际的操作,sql_undo 指的是用于取消的相反的操作。
查看DDL操作:
SELECT timstamp, sql_redo FROM v$logmnr_contents
WHERE upper(sql_redo) like '%TRUNCATE%';
6.4.7结束LogMiner的分析
SQL>BEGIN
2 dbms_logmnr.end_logmnr();
3 end;
4 /
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
- ››Oracle中在pl/sql developer修改表的两种方式
更多精彩
赞助商链接