Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103643338
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-05-21 13:11:30

  来源:

今天在启动我得数据库时,发现数据库只能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:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.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:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.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:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.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:ORACLEPRODUCT10.2.0ORADATAORCLREDO02.LOG'

SQL> alter database clear unarchived logfile group 2;

数据库已更改。


到这,日志清除完毕,这回应该没问题了吧,启动数据库

SQL>  alter database  open;

数据库已更改。

SQL>


ok,问题解决

总结: 日志文件组的状态

current: 当前正在使用的工作组
inactive: 非活动组
active  : 归档还没有完成
unused  : 还没有使用,一般新建的工组组都是这个状态

在active,current状态下的工作组都不能删除,要日志切换后才可以

阅读(343) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~