DB2恢复高分求助:如果数据库控制文件,日志文件损坏,怎样从全备恢复?
问题描述:
1. AIX + DB2 9环境,实例db2inst1下有三个数据库,dbnm1,dbnm2,dbnm3,位于/db2data(也就是说,/db2data/db2inst1/NODE0000下面有7个文件夹,SQL00001,SQL00002,SQL00003,DBNM1,DBNM2,DBNM3,sqllibdir)
2. 对数据库dbnm3做一个离线数据库全备,成功
3. 由于误操作,SQL00003文件夹被彻底删除,此时需要恢复数据库dbnm3。
问题在于:
1. 直接恢复,提示
SQL1042C An unexpected system error occurred. SQLSTATE=58004
2. 试图drop db dbnm3, 提示:
SQL1036C An I/O error occurred while accessing the database. SQLSTATE=58030
3. 系统数据库目录中删除 dbnm3, uncatalog db dbnm3,再恢复,提示:
SQL1005N The database alias "dbnm3" already exists in either the local
database directory or system database directory.
也就是说,由于本地数据库目录中存在dbnm3,但是又无法访问它的控制和日志文件,导致无法恢复。本地数据库目录又无法直接添加删除。
我想到的解决方法:
1。恢复到另一个名字,restore db dbnm3 from xxx taken at xxx into new_dbnm3
2。或者把另外两个数据库先全部备份,然后删除NODE0000下所有文件夹,再uncatalog dbnm1, dbnm2,dbnm3,再一一恢复。
请问有没有其他方法,能够使用离线数据库全备,来直接恢复dbnm3?