Oracle 释放flash recovery area的四种方法
早上收到一台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大小。
1: SQL show parameter db_recovery_file_dest
5: ------------------------------------ ----------- ------------------------------
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;
4.17以下对迁移Oracle到PoalrDB O的方法描述,不恰当的是哪些? 2.以下对迁移Oracle到PoalrDB O的方法描述,不恰当的是哪些 A. 应用只需要修改下驱动程序,其他不修改就能完全运行 B. 不需要掌握Oracle的性能情况,直接按照客户的口头描述进行数据库选型和数据库规格选型 C. 迁移Oracle到PoalrDB O,正确的做法是先全面评估源Oracle库的对象、SQL,性能现状、维护方式,服务器类型,再进行目标数据库选型 D. 迁移Oracle到PoalrDB O不止是数据迁移,要考虑业务应用如何适配目标数据库,面向业务准确性进行应用和数据库改造、调优 正确答案:AB
4.14.1.以下对迁移Oracle到PoalrDB O的方法描述,不恰当的是哪些() 1.以下对迁移Oracle到PoalrDB O的方法描述,不恰当的是哪些() A. 应用只需要修改下驱动程序,其他不修改就能完全运行 B. 不需要掌握Oracle的性能情况,直接按照客户的口头描述进行数据库选型和数据库规格选型 C. 迁移Oracle到PoalrDB O,正确的做法是先全面评估源Oracle库的对象、SQL,性能现状、维护方式,服务器类型,再进行目标数据库选型 D. 迁移Oracle到PoalrDB O不止是数据迁移,要考虑业务应用如何适配目标数据库,面向业务准确性进行应用和数据库改造、调优 答案:AB
潇湘隐者 网名潇湘隐者/潇湘剑客、英文名Kerry,兴趣广泛,广泛涉猎,个性随意,不善言辞。执意做一名会写代码的DBA,混迹于IT行业
相关文章
- 深入理解Oracle SGA的运行原理(查看oracle的sga)
- Oracle数据库安装指南(oracle安装方法)
- Oracle大字段导出的正确方法(oracle导出大字段)
- Oracle 导出不涉及的表的方法(oracle导出排除表)
- Oracle网络配置简明指南(oracle网络配置)
- Oracle创建表序列的简单方法(oracle创建表序列)
- Oracle元素不为空的判断方法(oracle不为空判断)
- 删除Oracle数据库中的记录(删除数据库oracle)
- 分析Oracle触发器类型及其使用方法(oracle触发器类型)
- 深入理解数据仓库:Oracle的应用与实践(数据仓库oracle)
- 探索Oracle查询当前时间的方法(oracle返回当前时间)
- 解决Oracle中文乱码问题的方法分享(oracle中文乱码)
- Oracle JDE架构:解决商业问题的有效方法(oracle jde)
- 深入了解eiss特色完美诠释Oracle(eiss包含oracle)
- 的方法Oracle中实现结果集输出的方法(oracle中输出结果集)
- Oracle中产生序列号的简单方法(oracle产生序列数)
- Oracle中快捷提取字符的方法(oracle中提取字符)
- Oracle中取整数的最佳方法(oracle中怎么取整数)
- 批量插入Oracle数据库的简便方法(oracle中多条插入)
- Oracle 中实现MD5加密的简单操作(oracle中md5加密)
- redefinition如何利用Oracle中的dbmsredefinition加速表重定义(oracle中dbms)
- 三种开发Oracle数据库的方法(oracle 三方式)