Oracle 释放flash recovery area的四种方法
2014-03-19 15:15
441 查看
早上收到一台Linux服务器磁盘告警邮件以及监控告警日志程序发来的邮件。检查过后,发现Linux服务器中一个分区没有空间了。主要原因是由于昨晚程序员做升级时,产生了大量的归档日志,导致联机重做日志无法归档,出现下面错误:
363 | Wed Mar 19 02:33:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
369 | Wed Mar 19 02:34:16 2014 | ORA-16014: log 2 sequence# 75999 not archived, no available destinations
370 | Wed Mar 19 02:34:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
373 | Wed Mar 19 02:34:16 2014 | ORA-16014: log 2 sequence# 75999 not archived, no available destinations
374 | Wed Mar 19 02:34:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
383 | Wed Mar 19 02:39:16 2014 | ORA-19502: write error on file "/u03/flash_recovery_area/mes/archivelog/2014_03_19/o1_mf_1_75999_9lk4pngn_.arc", blockno 108545 (blocksize=512)
384 | Wed Mar 19 02:39:16 2014 | ORA-27072: File I/O error
由于当时比较急,于是手工删除了昨天的归档日志,释放了大量空间,结果发现告警日志出现了如下错误:
ORA-19815: WARNING: db_recovery_file_dest_size of 42949672960 bytes is 100.00% used, and has 7684830208 remaining bytes available.
Wed Mar 19 08:48:48 2014
************************************************************************
You have following choices to free up space from flash 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.
************************************************************************
Wed Mar 19 08:48:54 2014
Thread 1 advanced to log sequence 76076 (LGWR switch)
出现这个错误时因为:当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。
如上所示,Oracle 提供了4中方法解决这个问题:
You have following choices to free up space from flash 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.
翻译如下:
你可以采用下面选项释放闪回恢复区的空间:
1:考虑修改RMAN备份保留策略,如果你使用的Data Guard,应该考虑修改RMAN归档日志删除策略。
2:使用RMAN BACKUP RECOVERY AREA命令将备份至于第三方设备(例如磁带)
3:增加磁盘空间并增加db_recovery_file_dest_size大小。
[/code]
4: 使用RMAN DELETE命令删除不需要的文件,如果使用如果操作系统命令来删除文件,则必须使用RMAN CROSSCHECK和
DELETE EXPIRED 的命令
$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Wed Mar 19 14:51:09 2014
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: EPPS (DBID=2179379665)
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> delete obsolete;
参考资料:http://www.eygle.com/archives/2004/12/rman_crosscheck.html
363 | Wed Mar 19 02:33:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
369 | Wed Mar 19 02:34:16 2014 | ORA-16014: log 2 sequence# 75999 not archived, no available destinations
370 | Wed Mar 19 02:34:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
373 | Wed Mar 19 02:34:16 2014 | ORA-16014: log 2 sequence# 75999 not archived, no available destinations
374 | Wed Mar 19 02:34:16 2014 | ORA-00312: online log 2 thread 1: '/u01/app/oracle/oradata/mes/redo02.log'
383 | Wed Mar 19 02:39:16 2014 | ORA-19502: write error on file "/u03/flash_recovery_area/mes/archivelog/2014_03_19/o1_mf_1_75999_9lk4pngn_.arc", blockno 108545 (blocksize=512)
384 | Wed Mar 19 02:39:16 2014 | ORA-27072: File I/O error
由于当时比较急,于是手工删除了昨天的归档日志,释放了大量空间,结果发现告警日志出现了如下错误:
ORA-19815: WARNING: db_recovery_file_dest_size of 42949672960 bytes is 100.00% used, and has 7684830208 remaining bytes available.
Wed Mar 19 08:48:48 2014
************************************************************************
You have following choices to free up space from flash 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.
************************************************************************
Wed Mar 19 08:48:54 2014
Thread 1 advanced to log sequence 76076 (LGWR switch)
出现这个错误时因为:当手工删除了归档日志以后,Rman备份会检测到日志缺失,从而无法进一步继续执行。所以此时需要手工执行crosscheck过程,之后Rman备份可以恢复正常。
如上所示,Oracle 提供了4中方法解决这个问题:
You have following choices to free up space from flash 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.
翻译如下:
你可以采用下面选项释放闪回恢复区的空间:
1:考虑修改RMAN备份保留策略,如果你使用的Data Guard,应该考虑修改RMAN归档日志删除策略。
2:使用RMAN BACKUP RECOVERY AREA命令将备份至于第三方设备(例如磁带)
3:增加磁盘空间并增加db_recovery_file_dest_size大小。
[code] SQL> show parameter db_recovery_file_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u03/flash_recovery_area
db_recovery_file_dest_size big integer 40G
SQL>alter system set db_recovery_file_dest_size=48G scope=both;
[/code]
4: 使用RMAN DELETE命令删除不需要的文件,如果使用如果操作系统命令来删除文件,则必须使用RMAN CROSSCHECK和
DELETE EXPIRED 的命令
$ rman target /
Recovery Manager: Release 10.2.0.4.0 - Production on Wed Mar 19 14:51:09 2014
Copyright (c) 1982, 2007, Oracle. All rights reserved.
connected to target database: EPPS (DBID=2179379665)
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all;
RMAN> delete obsolete;
参考资料:http://www.eygle.com/archives/2004/12/rman_crosscheck.html
相关文章推荐
- 如何在Oracle中释放flash_recovery_area(粗鲁的方法)
- 如何在Oracle中释放flash_recovery_area(温柔的方法)
- oracle归档日志超出了恢复闪回恢复区(flash_recovery_area)限制的解决方法
- oracle归档日志超出了恢复闪回恢复区(flash_recovery_area)限制的解决方法
- oracle log_archive_dest_1 未指定导致flash_recovery_area引发数据库挂起
- 提示ORA-03113:通信通道的文件结尾解决导致ORA-01033: ORACLE 正在初始化或关闭(flash_recovery_area空间压力)
- Oracle10g如何释放flash_recovery_area,解决ORA-19815错误
- oracle之Flash Recovery Area全面介绍 分类: H2_ORACLE 2013-04-26 15:03 1625人阅读 评论(0) 收藏
- flash_recovery_area空间压力导致ORA-01033:ORACLE 正在初始化或关闭
- oracle之Flash Recovery Area全面介绍
- oracle之Flash Recovery Area全面介绍
- Oracle10g如何释放flash_recovery_area,解决ORA-19815错误
- oracle之Flash Recovery Area全面介绍
- oracle之Flash Recovery Area全面介绍 (转载)
- 改变 Flash Recovery Area (FRA)到一个新路径的方法
- oracle之Flash Recovery Area全面介绍
- oracle之Flash Recovery Area全面介绍
- 【ORACLE】flash recovery area(闪回恢复区)管理
- Oracle数据库10g中释放flash_recovery_area
- oracle之Flash Recovery Area全面介绍