设为首页 收藏本站
查看: 1729|回复: 0

[经验分享] oracle归档日志满了的处理方法

[复制链接]

尚未签到

发表于 2018-9-23 06:20:35 | 显示全部楼层 |阅读模式
  db_recovery_file_dest_size
  参考文档 : http://www.eygle.com/archives/2005/03/oracle10gecieif.html
  1.错误提示:
  ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 87.41% used, and has 270457856 remaining bytes available.
  Tue Apr 15 11:35:02 2008
  ************************************************************************
  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.
  ************************************************************************
  db_recovery_file_dest_size是指目录 : F:\oracle\product\10.2.0\flash_recovery_area\ ,一般用来存放归档日志(archivelog)和rman的备份集(backupset)
  默认值一般为2G,但在实际生产库上这个值显然是不够的,我们根据的自己数据库的模式和备份策略来设置这参数的大小,但不管怎样
  他还是有时候会满的.这就需要我们来解决了.
  解决方法:
  1.就是增大db_recovery_file_dest_size 的参数值
  A.
  SQL> show parameter db_recovery_file_dest_size
  NAME                                 TYPE        VALUE
  ------------------------------------ -----------
  db_recovery_file_dest_size           big integer 2G
  B.
  SQL> alter system set  db_recovery_file_dest_size=3G;
  系统已更改。
  C.
  SQL> show parameter db_recovery_file_dest_size或(recover)
  NAME                                 TYPE        VALUE
  ------------------------------------ -----------
  db_recovery_file_dest_size           big integer   3G
  SQL>
  2.删除不必要的数据
  A.可以手动删除不必要的文件,但这个时候他并不释放空间,还需要执行rman命令来实际释放空间
  在os上删除不必要的文件,但查询,发现空间没有释放
  SQL> select substr(name,1,30) name,space_limit as quota,space_used as used,
  space_reclaimable as reclaimable,number_of_files as files from v$recovery_f
  ile_dest;
  NAME              QUOTA       USED    RECLAIMABLE(可回收)      FILES
  ------------------------------------------------------------ -------
  F:\oracle\product\10.2.0/flash       2147483648  239380480     0    5
  释放空间
  C:\Documents and Settings\Administrator>rman catalog rman/rman@rman target sys/movo@movo
  恢复管理器: Release 10.2.0.1.0 - Production on 星期二 4月 15 14:47:44 2008
  Copyright (c) 1982, 2005, Oracle.  All rights reserved.
  连接到目标数据库: MOVO (DBID=3762284645)
  连接到恢复目录数据库
  RMAN> crosscheck archivelog all;
  分配的通道: ORA_DISK_1
  通道 ORA_DISK_1: sid=158 devtype=DISK
  对归档日志的验证成功
  存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_04_14\O1_MF_1_51_4
  05X2ZBQ_.ARC 记录 ID=47 时间戳 =652025186
  对归档日志的验证失败
  存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_04_14\O1_MF_1_52_4
  06CKOLK_.ARC 记录 ID=48 时间戳 =652039991
  对归档日志的验证失败
  存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_04_15\O1_MF_1_53_4
  083TMJ3_.ARC 记录 ID=49 时间戳 =652097619
  
  对归档日志的验证失败
  存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_04_15\O1_MF_1_54_4
  0856SOZ_.ARC 记录 ID=50 时间戳 =652099034
  已交叉检验的 4 对象
  RMAN> delete expired archivelog all;
  释放的通道: ORA_DISK_1
  分配的通道: ORA_DISK_1
  通道 ORA_DISK_1: sid=158 devtype=DISK
  已存档的日志副本列表
  关键字     Thrd Seq     S 短时间     名称
  ------- ---- ------- - ---------- ----
  387     1    51      X 13-4月 -08 F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_
  04_14\O1_MF_1_51_405X2ZBQ_.ARC
  是否确定要删除以上对象 (输入 YES 或 NO)? yes
  已删除的存档日志
  存档日志文件名 =F:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\MOVO\ARCHIVELOG\2008_04_14\O1_MF_1_51_4
  05X2ZBQ_.ARC 记录 ID=47 时间戳 =652025186
  1 EXPIRED 对象已删除
  SQL> select substr(name,1,30) name,space_limit as quota,space_used as used,
  space_reclaimable as reclaimable,number_of_files as files from v$recovery_f
  ile_dest;
  NAME             QUOTA      USED   RECLAIMABLE      FILES
  ------------------------------------------------------------ ----------
  F:\oracle\product\10.2.0/flash       2147483648  239380480   0    4
  F:\oracle\product\10.2.0/flash       2147483648  239380480     0    5
  
  ---- end ----
  更改归档路径
  1\ mkdir /archivelog
  2\ chown -R oracle.dba /archivelog

  3\>  4\ shutdown immediate --- startupmount---alter database archivelog----alter database open;

  5\>  6\ archive log list
  7\ show parameters archive;

  oracle更改归档路径
1.更改归档路径  在ORACLE10G中,默认的归档路径为$ORACLE_BASE/flash_recovery_area。对于这个路径,
  ORACLE有一个限制,就是默认只能有2G的空间给归档日志使用,可以使用下面两个SQL语句去查看它的限制
  1. select * from v$recovery_file_dest;
  sql >show parameter db_recovery_file_dest(这个更友好直观一些)
  当归档日志数量大于2G时,那么就会由于没有更多的空间去容纳更多的归档日志会报无法继续归档的错误。
  如:
  RA-19809: limit exceeded for recovery files
  ORA-19804: cannot reclaim 10017792 bytes disk space from 2147483648 limit
  ARC0: Error 19809 Creating archive log file to '/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2007_04_30/o1_mf_1_220_0_.arc'
  这时我们可以修改它的默认限制,比如说将它增加到5G或更多,也可以将归档路径重新置到别的路径,就不会有这个限制了。
  更改限制语句如下:
  alter system set db_recovery_file_dest_size=5368709102  (这里为5G 5x1024x1024x1024=5G)
  或者直接修改归档的路径即可

  SQL>>  2.更改归档模式
  sql> archive log list;
  sql> shutdown immediate;
  sql> startup mount;

  sql>>
  sql>>  sql> archive log list; ......


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-600022-1-1.html 上篇帖子: Oracle SQL Developer连接MS SQL SERVER 2000的处理 下篇帖子: 图解Oracle备份方式分类
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表