备份前:sal=800
1 rman 备份数据库
[oracle@dba bk]$ vim a.sh
#!/bin/bash
rman target / log=/bk/1.txt append <
backup as compressed backupset database format '/bk/db%u';
backup as compressed backupset archivelog all delete input format'/bk/arc%u';
backup as compressed backupset spfile format '/bk/sp%u';
backup as compressed backupset current controlfile format '/bk/con%u';
delete noprompt obsolete;
EOF
2。交易——备份后,sal=805
update scott.emp set sal=sal+1;
commit;
alter system switch logfile;
3.删除表:
drop table scott.emp purge;
4。 日志的挖掘
添加要挖掘的文件:
SQL> select 'exec dbms_logmnr.add_logfile('''||member||''')' from v$logfile;
'EXECDBMS_LOGMNR.ADD_LOGFILE('''||MEMBER||''')'
----------------------------------------------------------------------------------------------------
exec dbms_logmnr.add_logfile('/db254/redo03.log')
exec dbms_logmnr.add_logfile('/db254/redo02.log')
exec dbms_logmnr.add_logfile('/db254/redo01.log')
SQL> exec dbms_logmnr.add_logfile('/db254/redo03.log'
PL/SQL procedure successfully completed.
SQL> exec dbms_logmnr.add_logfile('/db254/redo02.log')
PL/SQL procedure successfully completed.
SQL> exec dbms_logmnr.add_logfile('/db254/redo01.log')
PL/SQL procedure successfully completed.
开始挖掘:
SQL> exec dbms_logmnr.start_logmnr;
PL/SQL procedure successfully completed.
SQL> select scn,sql_redo from v$logmnr_contents where sql_redo like 'drop %';
SCN SQL_REDO
--------- ----------------------------------------------------------------------------------------------------
1080082 drop table scott.t1 purge;
5.重启数据库到mount状态:
shut immediate;
startup mont;
6 RMAN> restore database until scn 828114 ; --自动恢复至指定scn之前的畚份
RMAN> recover database until scn 828114 ;
7 SYS@ora10g> alter database open resetlogs;
8 SYS@ora10g> select * from scott.emp; 检查是否恢复——sal=805
Resetlogs打开库之后,定要对库做一次全备!!!
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29101923/viewspace-1434728/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29101923/viewspace-1434728/