配色: 字号:
Oracle回闪空间不足引起的ORA-03113问题排解
2013-05-07 | 阅:  转:  |  分享 
  
Oracle回闪空间不足引起的ORA-03113问题排解



现象:

数据库startup时,出现数据库无法正常mount,并报ORA-03113错误。



SQL>startup

ORACLEinstancestarted.

TotalSystemGlobalArea830930944bytes

FixedSize2217912bytes

VariableSize599787592bytes

DatabaseBuffers222298112bytes

RedoBuffers6627328bytes

Databasemounted.



ORA-03113:end-of-fileoncommunicationchannel

ProcessID:6846

SessionID:125Serialnumber:5



分析:

根据进程号(ProcessID)查找到LOG文件的:oral-ora-6846.trc,查看到报错信息

ORA-19815:WARNING:db_recovery_file_dest_sizeof4039114752bytesis100.00%used,andhas0remainingbytesavailable.



结论:

db_recovery_file_dest_size被全部耗尽,导致数据库宕机及无法启动。





解决方法:

1、清理过期文件

1.1进入rman命令状态

[oracle@localhost~]$rmantarget/

RecoveryManager:Release11.2.0.1.0-ProductiononSatSep2514:18:532010

Copyright(c)1982,2009,Oracleand/oritsaffiliates.Allrightsreserved.

connectedtotargetdatabase:ONLINE(DBID=2094135012)



1.2查看所有LOG文件

RMAN>crosscheckarchivelogall;



1.3删除所有LOG文件

RMAN>deletearchivelogall;





PS:

其间遇到crosscheck命令无效,主要是进入rman时,返回“connectedtotargetdatabase:(nodatabasestart)”。查其原因是,oracle_sid不匹配。使用echo$ORACLE_SID命令查看,使用export命令修改。





2、扩大db_recovery_file_dest_size空间

2.1查看回闪空间位置、大小及回闪时间

Sql>showparameterdb_recovery ''查看回闪位置及回闪区大小

Sql>showparameterflashback ''查看回闪位置

Sql>selectfile_type,PERCENT_SPACE_USED,NUMBER_OF_FILESfromv$flash_recovery_area_usage; ‘查看回闪空间文件类型及占用情况



2.2修改回闪空间大小

Sql>startupnomount ‘将数据库启到NOMOUNT状态

Sql>altersystemsetdb_recovery_file_dest_size=8000M;‘将空间改为8G





2.2修改回闪空间时间

Sql>startupnomount ‘将数据库启到NOMOUNT状态

Sql>altersystemsetdb_flashback_retention_target=20160;‘将回闪时间改为14天



时间计算方法是24小时60分钟。



献花(0)
+1
(本文系忧郁_小刚首藏)