对于我的数据库分配,我们正在研究“数据库损坏”,并要求删除我已经使用命令完成的第二个重做日志文件: rm log02a.rdo这是在$ HOME / ORADATA / u03目录中。
现在我启动我的数据库使用startup pfile=$PFILE nomount然后我使用命令alter database mount; 现在当我尝试打开它alter database open; 它给了我这个错误:
ORA-03113: end-of-file on communication channel Process ID: 22125 Session ID: 25 Serial number: 1
我假设这是因为第二个重做日志文件丢失。 还有log01a.rdo,但不是我删除的那个。 我怎样才能恢复这个现在,以便我可以再次打开我的数据库?
我已经查看了数据库创build脚本,并指定log02a.rdo文件为10M大小和2组的一部分。
如果我select group#, member from v$logfile; 我得到:
1 /oradata/student_db/user06/ORADATA/u03/log01a.rdo 2 /oradata/student_db/user06/ORADATA/u03/log02a.rdo 3 /oradata/student_db/user06/ORADATA/u03/log03a.rdo 4 /oradata/student_db/user06/ORADATA/u03/log04a.rdo
所以它是第2组的一部分。如果我尝试再次添加log02a.rdo文件“已经是数据库的一部分”。 如果我放下组2,然后再添加这些命令:
ALTER DATABASE ADD LOGFILE GROUP 2 ('$HOME/ORADATA/u03/log02a.rdo') SIZE 10M;
没有。 据说改变了数据库,但它仍然不会启动。 任何想法我可以做到重新创build这个,并能够打开我的数据库了吗?
除非您碰巧拥有c的备份,否则无法重新创build它,包括其中的数据。 您可以启动数据库重置日志并重新创build一个空文件
尝试:
startup nomount; alter database mount; alter database open resetlogs;
更多信息http://web.njit.edu/info/limpid/DOC/backup.102/b14191/osrecov009.htm