早上连接oracle,发现oracle无法正常工作,无法shutdown immediate方式关闭,shutdown abort方式关闭之后再启动,出现错误提示ld
早上连接Oracle,发现oracle无法正常工作,,无法shutdown immediate方式关闭,shutdown abort方式关闭之后再启动,出现错误提示“ORA-03113 end-of-file on communication channel”
分析alter日志信息如下:
Errors in file /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-19815: 警告: db_recovery_file_dest_size 字节 (共 4070572032 字节) 已使用 100.00%, 尚有 0 字节可用。
************************************************************************
You have following choices to free up space from recovery area:
1. Consider changing RMAN RETENTION POLICY. If you are using Data Guard,
then consider changing RMAN ARCHIVELOG DELETION POLICY.
2. Back up files to tertiary device such as tape using RMAN
BACKUP RECOVERY AREA command.
3. Add disk space and increase db_recovery_file_dest_size parameter to
reflect the new space.
4. Delete unnecessary files using RMAN DELETE command. If an operating
system command was used to delete files, then use RMAN CROSSCHECK and
DELETE EXPIRED commands.
************************************************************************
Errors in file /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-19809: 超出了恢复文件数的限制
ORA-19804: 无法回收 36931584 字节磁盘空间 (从 4070572032 限制中)
ARCH: Error 19809 Creating archive log file to ’/u01/flash_recovery_area/ONLINE/archivelog/2010_09_25/o1_mf_1_109_%u_.arc’
Errors in file /u01/diag/rdbms/online/online/trace/online_ora_1544.trc:
ORA-16038: 日志 1 sequence# 109 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 1 线程 1: ’/u01/oradata/online/redo01.log’
USER (ospid: 1544): terminating the instance due to error 16038
Instance terminated by USER, pid = 1544
可以看出已经达到db_recovery_file_dest_size规定的限制大小,处理方法如下:
1:在操作系统上删除相关的文件,启动数据库,依然报前面的错误信息
2:由spfile生成pfile,增大pfile中的db_recovery_file_dest_size参数的值
3:由修改过的pfile生成spfile,启动数据库
4:使用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)
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
5:查看recovery_file_dest动态性能视图
SQL> desc v$recovery_file_dest;
名称 是否为空? 类型
----------------------------------------- -------- ------------------------
NAME VARCHAR2(513)
SPACE_LIMIT NUMBER
SPACE_USED NUMBER
SPACE_RECLAIMABLE NUMBER
NUMBER_OF_FILES NUMBER
SQL> col name format a50;
SQL> select * from v$recovery_file_dest;
NAME SPACE_LIMIT SPACE_USED
-------------------------------------------------- ----------- ----------
SPACE_RECLAIMABLE NUMBER_OF_FILES
----------------- ---------------
/u01/flash_recovery_area 5242880000 755426304
0 19
分析:flash_recovery_area初始化参数定义的值,一般用来存放归档日志(archivelog)和rman的备份集(backupset),Oracle 11g r2 64位安装完后,db_recovery_file_dest_size为3882M,为了防止oracle因为这个原因崩溃,应当根据需要适当调整这个值的大小,并定期清理过期的日志信息
SQL> show parameter db_recovery;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/flash_recovery_area
db_recovery_file_dest_size big integer 5000M
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉 本文系统来源:php中文网