感谢这篇文章: http://jingh3209.blog.163.com/blog/static/1569667200911342117220/
初始情况是用dbvis连接数据库时,提示数据库正在初始化或者停止过程中.后面再没去管,几天后再去连接,还是一样的提示信息.这回很明显是数据库出问题了.
用sysdba进入sqlplus,强制启动数据库,结果显示日志无法归档和超出了回复文件数的限制.
SQL> startup force
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 117443460 bytes
Database Buffers 486539264 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
ORA-16038: 日志 3 序列号 1807 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 3 线程 1: 'E:\ORADATA\MDC\REDO03.LOG'
查看v$log
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARCHIV STATUS
---------- ---------- ------ --------------------------------
1 1808 NO INACTIVE
3 1807 NO INACTIVE
2 1809 NO CURRENT
看到组3是非当前状态,并且没有归档,使用参考文章中的处理非归档文件的方法.
SQL> alter database clear unarchived logfile group 3;
数据库已更改。
启动数据库,这个启动成功.
SQL> alter database open;
数据库已更改。
用dbvis连接数据库,连接成功.