昨天关闭数据库的时候还好好的,今天早上起来打开数据库就报错了
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 587202560 bytes
Fixed Size 1250332 bytes
Variable Size 385879012 bytes
Database Buffers 192937984 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-16038: 日志 2 序列号 198 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 2 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
经过一系列查找,找到了解决办法:
1.查看v$log;
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
---------- ---------- --- ----------------
1 200 NO CURRENT
3 199 NO INACTIVE
2 198 NO INACTIVE
看到组1是非当前状态,并且没有归档
网上的解决方法是
SQL> alter database clear unarchived logfile group 1;alter database clear unarchived logfile group 1
*
第 1 行出现错误:
ORA-00262: 当前日志 1 (关闭线程 1 的日志) 无法切换
ORA-00312: 联机日志 1 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
ORA-00350: 日志 2 (实例 orcl 的日志, 线程 1) 需要归档
ORA-00312: 联机日志 2 线程 1:
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
报错了,所以我修改的是group 2
SQL> alter database clear unarchived logfile group 2;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> conn hnxx/hnxx
已连接。
成功了,不知道这样是不是有错,不过现在能用了,以后再补充吧。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29618264/viewspace-1408936/
,如需转载,请注明出处,否则将追究法律责任。