该篇描述的是9i的库由于参数log_archive_format设置不正确导致备份归档日志时报错ORA-19563,解决倒是很容易,但是问题是:在正常业务期间,数据库发生检查点,切换日志,产生归档的日志只是对同一个归档日志的覆盖叠加的写,而且在alert中没有任何相关的报错。之前记得有一次对该参数进行修改重启数据库的时候,会报相关的错误,但是这次并没有相关错误抛出,只是对同一个归档日志的叠加写,然后是覆盖。
...
常规恢复思路
这是个常规恢复的小例子,旨在给大家一个恢复的思路,当发生需要恢复的时候,我们不要盲目进行恢复,我们首先要明白恢复哪些文件,为什么恢复,恢复又需要哪些文件,这样一来,我们便可在恢复之前就知道常规恢复能否达到恢复的目的。
SQL> startup
ORACLE instance started.
Total System Global Area 939495424 bytes
Fixed Size 2233960 bytes
Variable Size ...
BBED跳过归档日志恢复数据
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 400
SQL> select * from gv$version;
INST_ID BANNER
---------- --------------------------------------------------------------------------------
1 Oracle Database 11g Enterprise ...
BBED修复需介质恢复的文件
参考文档:disassembling the oracle data block,writter by graham thornton 2005
注:该文档是在9i下进行的,在11g中数据块格式都发生了变化,主要参数名未变,但偏移量发生变化
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 400
SQL> select * from...
使用bbed恢复corrupt的块和10231的对比
当我们查询一张表的时候,在扫描到某些记录时,该记录的数据块已经corruption,那么我们可以用10231事件跳过该坏块读取其他数据。
此处我使用bbed恢复该corruption的块。并读取其中的数据。
参考文档:disassembling the oracle data block,writter by graham thornton 2005
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64...
BBED恢复已删除的行记录
参考文档:disassembling the oracle data block,writter by graham thornton 2005
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 400
SQL> select * from gv$version;
INST_ID BANNER
---------- ----------------------------------------------...
BBED的常见使用命令及修改字符
参考文档:disassembling the oracle data block,writter by graham thornton 2005
注意:一般建议在数据库关闭的情况下使用bbed。防止正常的checkpoint和bbed的sum apply冲突导致数据块损坏。
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 400
SQL> sel...
BBED的安装编译_11g_x64
参考文档:disassembling the oracle data block,writter by graham thornton 2005
操作系统信息
[oracle@rhl6 lib]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 400
SQL> select * from gv$version;
INST_ID BANNER
---------- ----------------------------------------------...
无备份情况下的数据文件恢复一例
下边的例子是数据库始终在启动状态下,通过操作系统文件描述符恢复误删除的数据库的数据文件。
恢复条件:数据库始终处于启动状态。
注意:通过lsof命令找操作系统文件号和数据库文件的对应关系是关键。
操作系统信息
[oracle@rhl6 ~]$ uname -a
Linux rhl6.0x64 2.6.32-71.el6.x86_64 #1 SMP Wed Sep 1 01:33:01 EDT 2010 x86_64 x86_64 x86_64 GNU/Linux
数据库版本
SQL> set line 300
SQL>...
增量备份恢复的一个小例子
背景:一个项目需要恢复一个库做测试,之前有源库的增量备份(0+1+2级),时间窗口只有5H,测试的时候发现恢复一个0级全备需要3H,再加一些其他操作,时间窗口内完成测试较为紧张。一个同事提出说在进行2级增量恢复的时候,数据库会从之前所有可用的0级+2级+1级全部从头来一遍,这样就会花费一个0级恢复的时间,理论上增量备份恢复应该是很智能的,没有这么笨,遂有下边的这个小测试,就是事先将0级restore...