Oracle回闪空间不足引起的ORA-03113问题排解
现象:
数据库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、清理过期文件
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天
时间计算方法是24小时*60分钟。
‘将回闪时间改为
因篇幅问题不能全部显示,请点此查看更多更全内容