只好重启系统一下了。。。
重启之后,数据库可以打开,
一 查看归档模式
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 44
下一个存档日志序列 46
当前日志序列 46
二,查看一下 log_archive_start参数是否为true,(我的问题就出现在这里)
SQL> show parameter log_archive_start
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
三 修改log_archive_start参数为true 由于此参数为静态参数,在下面的命令中如果用scope=both 则会出现错误!
SQL> alter system set log_archive_start=true scope=both;
alter system set log_archive_start=true scope=both
*
第 1 行出现错误:
ORA-02095: 无法修改指定的初始化参数
SQL> alter system set log_archive_start=true scope=spfile;
系统已更改。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area 535662592 bytes
Fixed Size 1334380 bytes
Variable Size 138412948 bytes
Database Buffers 390070272 bytes
Redo Buffers 5844992 bytes
数据库装载完毕。
数据库已经打开。
系统正常打开! 成功。。
不过网上也有关于ora-004741错误的介绍。
参考资料:http://space.itpub.net/7813229/viewspace-623999
我的情况属于下面 的一种B:
A、日志组配置不正确,导致日志切换频繁。
B、日志写入频繁,在一个时间周期内,生成文件数量超过系统配置限度。
解决过程
1、调整日志组策略,调整系统打开最大文件数的参数,进行观察。 第二天又发生之前的症状。继续调整
2、到现场确认磁盘阵列,确认磁盘阵列情况正常。
3、切换服务器HA后,系统正常。
4、对比两台服务器差异,发现发生错误的那台服务器的系统内核配置文件中
我的oracle版本为11g的 ,总以为log_archive_start参数在10g版本以后,将数据库归档后,oracle系统自动将此参数设置成true,即启动ARCn 。可是我的数据库好像没这么做!从这个查询可以看出
SQL> show parameter log_archive_start
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
因此重做日志文件中的提交数据永远不能被复制到归档日志文件中,所以lgwr和dbwr进程只能等待,出现了我一楼的贴图,数据库停机了!
有理解不对的地方,请大家给予指正!谢谢了。。。