现象一:
数据库startup时,出现数据库无法正常mount,并报ORA-03113错误。
SQL> startup
ORACLE instance started.
Total System Global Area 830930944 bytes
Fixed Size 2217912 bytes
Variable Size 599787592 bytes
Database Buffers 222298112 bytes
Redo Buffers 6627328 bytes
Database mounted.
ORA-03113: end-of-file on communication channel
Process ID: 6846
Session ID: 125 Serial number: 5
分析:
根据进程号(Process ID)查找到LOG文件的:oral-ora-6846.trc,查看到报错信息
ORA-19815: WARNING: db_recovery_file_dest_size of 4039114752 bytes is 100.00% used, and has 0 remaining bytes available.
结论:
db_recovery_file_dest_size被全部耗尽,导致数据库宕机及无法启动。
一:数据库已关闭时:
1.修改回闪空间大小
Sql>startup nomount ‘将数据库启到NOMOUNT状态
Sql> alter system set db_recovery_file_dest_size=30G; ‘将空间改为30G
sql>alter database mount;
SQL>alter database open;
2.修改回闪空间时间
Sql>startup nomount ‘将数据库启到NOMOUNT状态
Sql> alter system set db_flashback_retention_target=20160;‘将回闪时间改为14天
数据库startup时,出现数据库无法正常mount,并报ORA-03113错误。
数据库startup 时,报错:ORA-03113: end-of-file on communication channel
3、参考ORA-00313: open failed for members of log group 3 解决
我们查看oracle 警告日志alert.log ,错误提示:ORA-00313,日志组 group3 找不到。
解决方案参考:ORA-00313: open failed for members of log group 3
二、如果数据库在启动状态的时候:
1、清理过期文件
1.1进入rman命令状态
[oracle@localhost ~]$ rman target/
Recovery Manager: Release 11.2.0.1.0 - Production on Sat Sep 25 14:18:53 2010
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
connected to target database: ONLINE (DBID=2094135012)
1.2查看所有LOG文件
RMAN> crosscheck archivelog all;
1.3删除所有LOG文件
RMAN> delete archivelog all;
PS:
其间遇到crosscheck命令无效,主要是进入rman时,返回“connected to target database: (no database start)”。查其原因是,oracle_sid不匹配。使用echo $ORACLE_SID命令查看,使用export命令修改。
2、扩大db_recovery_file_dest_size空间
2.1查看回闪空间位置、大小及回闪时间
Sql>show parameter db_recovery '查看回闪位置及回闪区大小
Sql>show parameter flashback '查看回闪位置
Sql>select file_type,PERCENT_SPACE_USED,NUMBER_OF_FILES from v$flash_recovery_area_usage; ‘查看回闪空间文件类型及占用情况
2.2修改回闪空间大小
Sql>startup nomount ‘将数据库启到NOMOUNT状态
Sql> alter system set db_recovery_file_dest_size=8000M; ‘将空间改为8G
2.2修改回闪空间时间
Sql>startup nomount ‘将数据库启到NOMOUNT状态
Sql> alter system set db_flashback_retention_target=20160;‘将回闪时间改为14天
http://oracle.so138.com/ora/oracle-cuo-wu-dai-ma-ku-oracle-jia-yuan