oracle因为日志错误无法打开
今天在启动我得数据库时,发现数据库只能mounted,无法打开,提示错误:
SQL> select open_mode from v$database;
OPEN_MODE ---------- MOUNTED
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-16014: 日志 2 的序列号 66 未归档, 没有可用的目的地 ORA-00312: 联机日志 2 线程 1: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
原来是日志有问题,这个问题比较好解决. 查看下这个日志的状态
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- FIRST_CHANGE# FIRST_TIME ------------- -------------- 1 1 68 52428800 1 NO INACTIVE 1949257 22-9月 -07
3 1 69 52428800 1 NO CURRENT 1959968 23-9月 -07
2 1 66 52428800 1 NO INACTIVE 1918631 21-9月 -07
这个日志是inactive,那就清除日志吧,动手干
SQL> alter database clear logfile group 2; alter database clear logfile group 2 * 第 1 行出现错误: ORA-00350: 日志 2 (实例 orcl 的日志, 线程 1) 需要归档 ORA-00312: 联机日志 2 线程 1: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
SQL> alter database clear unarchived logfile group 2;
数据库已更改。
到这,日志清除完毕,这回应该没问题了吧,启动数据库
SQL> alter database open;
数据库已更改。
SQL>
ok,问题解决
总结: 日志文件组的状态
current: 当前正在使用的工作组 inactive: 非活动组 active : 归档还没有完成 unused : 还没有使用,一般新建的工组组都是这个状态
在active,current状态下的工作组都不能删除,要日志切换后才可以
SQL> select open_mode from v$database;
OPEN_MODE ---------- MOUNTED
SQL> alter database open; alter database open * 第 1 行出现错误: ORA-16014: 日志 2 的序列号 66 未归档, 没有可用的目的地 ORA-00312: 联机日志 2 线程 1: 'F:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'
原来是日志有问题,这个问题比较好解决. 查看下这个日志的状态
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS ---------- ---------- ---------- ---------- ---------- --- ---------------- FIRST_CHANGE# FIRST_TIME ------------- -------------- 1 1 68 52428800 1 NO INACTIVE |