今天在启动自己windowns下的oracle时,遇到如下的情况:
Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.
D:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 11月 9 20:59:04 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / as sysdba
已连接。
步骤1:
SQL> shutdown immediate
ORA-01109: 数据库未打开
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount;
ORACLE 例程已经启动。
Total System Global Area 1593835520 bytes
Fixed Size 1251508 bytes
Variable Size 536872780 bytes
Database Buffers 1048576000 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
步骤2:
SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16038: 日志 1 序列号 74 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
查了一下错误信息
ORA-19809: limit exceeded for recovery files
Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.
Action: The error is accompanied by 19804. See message 19804 for further details.
解决方法:
方法1、
1)将归档设置到其他目录
修改alter system set log_archive_dest = 其他路径
2)转移或者删除闪回恢复区里的归档日志。
方法2、
也可以使用增大闪回恢复区的方法来解决
SQL> show parameter db_recovery_file_dest_size
NAME TYPE VALUE
db_recovery_file_dest_size big integer 2G
下面是我的解决该问题的全部过程:(使用方法1来解决的)
首先试图只使用CLEAR LOGFILE命令来试图转移或者删除闪回恢复区里的归档日志,文档描述如下:
Use the CLEAR LOGFILE clause to reinitialize an online redo log, optionally without archiving the redo log.
CLEAR LOGFILE is similar to adding and dropping a redo log, except that the statement may be issued even if there
are only two logs for the thread and may be issued for the current redo log of a closed thread.
You must specify UNARCHIVED if you want to reuse a redo log that was not archived.
首先,执行下面的语句看看group1是不是current日志组
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
1 74 NO INACTIVE
3 75 NO INACTIVE
2 76 NO CURRENT
SQL> alter database clear logfile group 1;
alter database clear logfile group 1
*
第 1 行出现错误:
ORA-00350: 日志 1 (实例 orcl 的日志, 线程 1) 需要归档
ORA-00312: 联机日志 1 线程 1:
'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'
总结: 日志文件组的状态
current: 当前正在使用的工作组
inactive: 非活动组
active : 归档还没有完成
unused : 还没有使用,一般新建的工组组都是这个状态
视图使用 clear unarchived logfile,使用UNARCHIVED会在重做日志不再需要归档的情况下可以定义UNARCHIVED。
3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/