qmya00 发表于 2018-9-21 12:54:04

清空 oracle 闪回区

  impdp 导入数据出现如下错误
  


[*]Errors in file /oracle/app/diag/rdbms/gavin/Gavin/trace/Gavin_arc0_5889.trc:
[*]ORA-19809: 超出了恢复文件数的限制
[*]ORA-19804: 无法回收 49837568 字节磁盘空间 (从 5218762752 限制中)
[*]ARC0: Error 19809 Creating archive log file to '/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_180_%u_.arc'
  

  应为arc log 没有指定默认放在了闪回区,手工删除闪回区归档日志后,仍然出现以上错误,查询闪回区使用情况
  


[*]sys@GAVIN>SELECT substr(name, 1, 30) name, space_limit AS quota,
[*]2             space_used      AS used,
[*]3            space_reclaimable AS reclaimable,
[*]4            number_of_files   AS files
[*]5      FROMv$recovery_file_dest ;
[*]
[*]NAME                                                                                                                        QUOTA       USED
[*]------------------------------------------------------------------------------------------------------------------------ ---------- ----------
[*]RECLAIMABLE      FILES
[*]----------- ----------
[*]/oracle/app/flash_recovery_are                                                                                           5218762752 5174088704
[*]          0      110
  

  发现仍然记录了110个文件,并未释放.
  使用rman对归档日志惊醒cross check
  


[*]$ rman target /
[*]
[*]恢复管理器: Release 11.2.0.1.0 - Production on 星期四 7月 19 14:00:00 2012
[*]
[*]Copyright (c) 1982, 2009, Oracle and/or its affiliates.All rights reserved.
[*]
[*]连接到目标数据库: GAVIN (DBID=2942876758)
[*]
[*]RMAN> crosscheck archivelog all;
[*]
[*]使用目标数据库控制文件替代恢复目录
[*]分配的通道: ORA_DISK_1
[*]通道 ORA_DISK_1: SID=16 设备类型=DISK
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_70_80h2qxpn_.arc RECID=1 STAMP=789049214
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_71_80h6z3hl_.arc RECID=2 STAMP=789053542
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_72_80h6z8o7_.arc RECID=3 STAMP=789053549
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_73_80h6zlgv_.arc RECID=4 STAMP=789053557
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_74_80h6zrds_.arc RECID=5 STAMP=789053566
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_75_80h70264_.arc RECID=6 STAMP=789053571
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_76_80h707kp_.arc RECID=7 STAMP=789053577
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_77_80h70fg1_.arc RECID=8 STAMP=789053583
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_78_80h70mhx_.arc RECID=9 STAMP=789053589
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_79_80h70sgg_.arc RECID=10 STAMP=789053594
[*]对归档日志的验证失败
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_80_80h70zgp_.arc RECID=11 STAMP=789053601
[*]对归档日志的验证失败
[*]...
[*]...
[*]...
[*]...
[*]...
[*]=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_179_80h7k015_.arc RECID=110 STAMP=789054113
[*]已交叉检验的 110 对象
  

  使用rman 从数据库记录中删除归档日志的记录
  


[*]RMAN> delete expired archivelog all;
[*]
[*]使用目标数据库控制文件替代恢复目录
[*]分配的通道: ORA_DISK_1
[*]通道 ORA_DISK_1: SID=20 设备类型=DISK
[*]db_unique_name 为 GAVIN 的数据库的归档日志副本列表
[*]=====================================================================
[*]
[*]关键字   线程序列   S 时间下限
[*]------- ---- ------- - ----------
[*]1       1    70      X 19-7月 -12
[*]      名称: /oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_70_80h2qxpn_.arc
[*]
[*]...
[*]...
[*]...
[*]
[*]110   1    179   X 19-7月 -12
[*]      名称: /oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_179_80h7k015_.arc
[*]
[*]
[*]是否确定要删除以上对象 (输入 YES 或 NO)? yes
[*]...
[*]...
[*]...
[*]已删除的归档日志
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_70_80h2qxpn_.arc RECID=1 STAMP=789049214
[*]已删除的归档日志
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_71_80h6z3hl_.arc RECID=2 STAMP=789053542
[*]已删除的归档日志
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_72_80h6z8o7_.arc RECID=3 STAMP=789053549
[*]...
[*]...
[*]...
[*]已删除的归档日志
[*]归档日志文件名=/oracle/app/flash_recovery_area/GAVIN/archivelog/2012_07_19/o1_mf_1_179_80h7k015_.arc RECID=110 STAMP=789054113
[*]110 EXPIRED 对象已删除
  

  重新验证闪回区占用情况
  


[*]sys@GAVIN>SELECT substr(name, 1, 30) name, space_limit AS quota,
[*]2            space_used      AS used,
[*]3             space_reclaimable AS reclaimable,
[*]4            number_of_files   AS files
[*]5       FROMv$recovery_file_dest ;
[*]
[*]NAME                                                                                                                        QUOTA       USED
[*]------------------------------------------------------------------------------------------------------------------------ ---------- ----------
[*]RECLAIMABLE      FILES
[*]----------- ----------
[*]/oracle/app/flash_recovery_are                                                                                           5218762752143901184
[*]          0          3
  

  处理完毕
  由于本次事故是由于归档日志占用了大量的闪回区造成的,
  所以可以考虑转移归档日志位置
  查看归档情况
  


[*]sys@GAVIN>archive log list;
[*]数据库日志模式            存档模式
[*]自动存档             启用
[*]存档终点            USE_DB_RECOVERY_FILE_DEST
[*]最早的联机日志序列   181
[*]下一个存档日志序列   183
[*]当前日志序列         183
  

  文档存在了 文件恢复区 所以导致了闪回区满的情况
  查看下闪回区的具体地址
  


[*]sys@GAVIN>show parameter DB_RECOVERY_FILE_DEST
[*]
[*]NAME                                 TYPE      VALUE
[*]------------------------------------ ----------- ------------------------------
[*]db_recovery_file_dest                string      /oracle/app/flash_recovery_are
[*]                                                 a
[*]db_recovery_file_dest_size         big integer 4977M
  

  我们指定归档日志存放点
  将db_recovery_file_dest参数置空
  以防万一,将log_archive_dest参数也置空
  我们这里采用的生效参数是log_archive_dest_1,修改方法如下
  


[*]sys@GAVIN>alter system set db_recovery_file_dest = '' scope=spfile;
[*]
[*]系统已更改。
[*]
[*]sys@GAVIN>alter system set log_archive_dest = '' scope=spfile;
[*]
[*]系统已更改。
[*]
[*]sys@GAVIN>alter system set log_archive_dest_1 = 'location=/oracle/app/arc' scope=spfile;
[*]
[*]系统已更改。
  

  重启数据库验证归档日志位置
  


[*]sys@GAVIN>shutdown immediate;
[*]数据库已经关闭。
[*]已经卸载数据库。
[*]ORACLE 例程已经关闭。
[*]sys@GAVIN>startup
[*]ORACLE 例程已经启动。
[*]
[*]Total System Global Area826753024 bytes
[*]Fixed Size                  2217872 bytes
[*]Variable Size             583010416 bytes
[*]Database Buffers          234881024 bytes
[*]Redo Buffers                6643712 bytes
[*]数据库装载完毕。
[*]数据库已经打开。
[*]sys@GAVIN>archive log list;
[*]数据库日志模式            存档模式
[*]自动存档             启用
[*]存档终点            /oracle/app/arc
[*]最早的联机日志序列   181
[*]下一个存档日志序列   183
[*]当前日志序列         183
  

  至此完全结束


页: [1]
查看完整版本: 清空 oracle 闪回区