Oracle回闪空间不足引起的ORA-03113问题排解

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分钟。

猜你喜欢

转载自zyfromcq.iteye.com/blog/2198668