测试的缘由:一直我们都对OCP的不完全恢复有着概念的理解,那就是不完全恢复只能针对数据库,不能对datafile,这个是没有问题,但是10g的闪回数据库是否给了我们一个概念,那就是可以往回查找数据。如果没有闪回功能,没有备份,只有归档,可以恢复吗,也是可以的。
昨天,我看了一个贴子, http://www.itpub.net/thread-1046806-1-1.html,我认为是可以恢复的,结果兄弟们都认为不能恢复,当时手头没有数据库,向 d.c.b.a 请教,以及查看 eygle 的 http://www.eygle.com/archives/2005/10/oracle_hidden_allow_resetlogs_corruption.html 这篇文章后,确认了可以恢复。
模拟环境:
首先模拟第1次DML,修改数据后,这个表有1000条记录,归档的sequence#为63号
SQL> select count(*) from sb_zsxx;
COUNT(*)
----------
1700
SQL>
SQL>
SQL> delete from sb_zsxx where rownum<701;
已删除700行。
SQL> commit;
提交完成。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 62 52428800 2 YES INACTIVE 1101458 29-8月 -08
2 1 61 52428800 2 YES INACTIVE 1098397 29-8月 -08
3 1 63 52428800 2 NO CURRENT 1104823 01-9月 -08
SQL> alter system archive log current;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
SQL> conn scott/tiger
已连接。
SQL> select count(*) from sb_zsxx;
COUNT(*)
----------
1000
再次对这个表做DML,归档sequence#为64号,当前归档是65号
SQL> delete from sb_zsxx where rownum<501;
已删除500行。
SQL> commit;
提交完成。
SQL> conn / as sysdba
已连接。
SQL> alter system archive log current;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 +DATA_GROUP/devdb/
最早的联机日志序列 63
下一个存档日志序列 65
当前日志序列 65
昨天,我看了一个贴子, http://www.itpub.net/thread-1046806-1-1.html,我认为是可以恢复的,结果兄弟们都认为不能恢复,当时手头没有数据库,向 d.c.b.a 请教,以及查看 eygle 的 http://www.eygle.com/archives/2005/10/oracle_hidden_allow_resetlogs_corruption.html 这篇文章后,确认了可以恢复。
模拟环境:
首先模拟第1次DML,修改数据后,这个表有1000条记录,归档的sequence#为63号
SQL> select count(*) from sb_zsxx;
COUNT(*)
----------
1700
SQL>
SQL>
SQL> delete from sb_zsxx where rownum<701;
已删除700行。
SQL> commit;
提交完成。
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 62 52428800 2 YES INACTIVE 1101458 29-8月 -08
2 1 61 52428800 2 YES INACTIVE 1098397 29-8月 -08
3 1 63 52428800 2 NO CURRENT 1104823 01-9月 -08
SQL> alter system archive log current;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
SQL> conn scott/tiger
已连接。
SQL> select count(*) from sb_zsxx;
COUNT(*)
----------
1000
再次对这个表做DML,归档sequence#为64号,当前归档是65号
SQL> delete from sb_zsxx where rownum<501;
已删除500行。
SQL> commit;
提交完成。
SQL> conn / as sysdba
已连接。
SQL> alter system archive log current;
系统已更改。
SQL> alter system checkpoint;
系统已更改。
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 +DATA_GROUP/devdb/
最早的联机日志序列 63
下一个存档日志序列 65
当前日志序列 65
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/175005/viewspace-440323/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/175005/viewspace-440323/