执行基于变化的恢复时怎样确定要是用的SCN

[复制链接]
查看11 | 回复4 | 2006-4-17 13:46:34 | 显示全部楼层 |阅读模式
执行基于变化的恢复时怎样确定要是用的SCN
确保恢复了要恢复的东西,不恢复不想要得东西(其中包含错误信息)


回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
用DBMS_LOGMNR来解析日志文件,找到相应语句对应的SCN就可以了
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
goldensun
DBMS_LOGMNR
举个例子说以下参数好吗?
谢谢!
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
ogmnr的使用:
1、在oracle8i中要首先运行dbmslsm.sql和dbmslsmd.sql
如果报错:
dbmslmd.sql 中修改
TYPE col_desc_array IS VARRAY(513) OF col_description;

TYPE col_desc_array IS VARRAY(700) OF col_description;
2、修改初始化参数utl_file_dir为d:\oracle\log;
3、在sqlplus中运行
EXECUTE dbms_logmnr_d.build(
dictionary_filename => ' mydb_dictionary.ora',
dictionary_location => 'd:\oracle\log',options=>dbms_logmnr_d.store_in_flat_file);
4、执行
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' d:\Oracle\oradata\demo\redo01.log',
Options=>dbms_logmnr.new);
或者
EXECUTE dbms_logmnr.add_logfile(
LogFileName=>' d:\Oracle\oradata\demo\redo02.log',
Options=>dbms_logmnr.addfile);
5、开始分析
EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>' d:\oracle\log\mydb_dictionary.ora ',
startTime=>to_date('01-JUNE-2001 12:30:00','DD-MON-YYYY HH24:MI:SS'),endtime=>to_date('01-JUNE-2001 17:30:00','DD-MON-YYYY HH24:MI:SS'));
或者
EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>' d:\oracle\log\mydb_dictionary.ora ',
startscn=>125,endscn=>200);
或者不加筛选:
EXECUTE dbms_logmnr.start_logmnr(
DictFileName=>' d:\oracle\log\mydb_dictionary.ora ')
6、查询分析结果:
SELECT sql_redo FROM v$logmnr_contents WHERE username=scott' AND tablename='table1';
7、结束当前分析:
DBMS_LOGMNR.END_LOGMNR
回复

使用道具 举报

千问 | 2006-4-17 13:46:34 | 显示全部楼层
再次感谢各位,感谢jaunt斑竹
以前曾用过,不太熟,也请教过jaunt斑竹,后来忘拉,想找以前的帖子,据说为了减轻服务器负担白天不能查帖子,所以就又发了一个
我看了9I的书从头到尾没有
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行