我在 CentOS 5 上。
[root@newjanux spooldb]# uname -a
Linux newjanux 2.6.18-164.el5 #1 SMP Thu Sep 3 03:28:30 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
和 SGE 6.2u2
我已经备份了原始数据库以防万一……berkeley db 因损坏而无法启动。软件包中附带了修复此问题的工具,但它失败了(以同样的方式):
[root@newjanux spooldb]# /opt/sge/utilbin/lx24-amd64/db_recover -v -c
Finding last valid log LSN: file: 2136 offset 2719640
db_recover: Log file corrupt at LSN: [399][10485626]
db_recover: PANIC: Invalid argument
db_recover: DB_ENV->open: DB_RUNRECOVERY: Fatal error, run database recovery
嗯,我以为我曾是正在运行数据库恢复!
怎么办?
答案1
使用该-c
选项时,您必须恢复数据库的干净副本以及创建该备份副本后生成的所有日志。-c
然后,该选项将使用日志来应用缺失的事务。
看http://docs.oracle.com/cd/E17275_01/html/programmer_reference/transapp_recovery.html