这时如果手工删除归档日志,直接在windows的服务上重启oracle service orcl后, 想连接到orcl,则会出现oracle错误:
ORA-01033: ORACLE initialization or shutdown in progress
问题分析,此错误报告说数据库正在启动或关闭;
解决办法,以管理员身份登录,shutdown abort或startup force。
在startup force 时会出现以下错误:
C:...>sqlplus sys/girl as sysdba
Sql>startup force
...
...
数据库装载完毕。
ORA-16038: 日志 3 序列号 5035 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1:
'F:/ORACLE/PRODUCT/10.1.0/ORADATA/GRAXY/REDO03.LOG'
问题分析:
情况应该是快速闪回区空间设定为2G,也由于手工删除了归档日志,但归档日志的信息应该还存的数据库里。 用以下方法解决:
//将快闪空间改成更高
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=4G SCOPE=BOTH;
然后从新启动数据库。
重新启动数据库即ok了。
但这个解决办法只是把归档日志的空间提高了。
不过以后就不怕手工删除归档日志了。
1.建议先把之前的归档日志删除,保留最近一次的;
2.如果出现问题,则采用该办法恢复;
3.最后再用这个SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=2G SCOPE=BOTH;把归档日志的空间改回去。目前已经改回去了。但不知道在哪里删除归档日志,建议试试(试前记得备份数据库)。