ITPub博客

首页 > 数据库 > Oracle > ORA-19606: Cannot copy or restore to snapshot control file

ORA-19606: Cannot copy or restore to snapshot control file

原创 Oracle 作者:steven_hua 时间:2016-10-10 16:55:56 1 删除 编辑

查看日志发现,恢复区文件,在凌晨被oracle删除了
Thu Sep 29 01:06:54 2016
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_16/o1_mf_annnn_TAG20160916T010630_cxoq18h3_.bkp
Thu Sep 29 01:08:16 2016
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/autobackup/2016_09_16/o1_mf_s_922671717_cxoqc5cc_.bkp
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_17/o1_mf_nnnd1_TAG20160917T010006_cxr98twq_.bkp
Thu Sep 29 01:08:20 2016
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_17/o1_mf_nnnd1_TAG20160917T010006_cxr98tc6_.bkp
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_17/o1_mf_nnnd1_TAG20160917T010006_cxr98twh_.bkp
Thu Sep 29 01:08:55 2016
Deleted Oracle managed file /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_17/o1_mf_annnn_TAG20160917T010628_cxrbxn7z_.bkp

这种删除的原因是恢复区的空间使用率达到80%以上(200G)

SQL> select name ,space_limit/1024/1024/1024 space_limit, space_used/1024/1024/1024 space_used,round(space_used/space_limit,2)*100 "Use%", number_of_files
  2  from v$recovery_file_dest;

NAME                           SPACE_LIMIT/1024/1024/1024 SPACE_USED       Use% NUMBER_OF_FILES
------------------------------ -------------------------- ---------- ---------- ---------------
/oracle/orahomes/fast_recovery_area                   200 159.683189         80             187

根据备份保持策略为7天,所以不应该出现到现在才删除20天以前的备份,
应该是  delete force noprompt obsolete device type disk; 没有成功,查看日志:

cat log/rmbk_level0_20161009.log
。。。
Finished Control File and SPFILE Autobackup at 2016-10-09 01:27:51

released channel: d1

released channel: d2

released channel: d3

RMAN retention policy will be applied to the command
RMAN retention policy is set to recovery window of 7 days
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1017 device type=DISK
Deleting the following obsolete backups and copies:
Type                 Key    Completion Time    Filename/Handle
-------------------- ------ ------------------ --------------------
Control File Copy     18     2016-08-19 13:44:31 /oracle/orahomes/product/11.2.0/db_1/dbs/snapcf_TDWLP1.f
Backup Set           23256  2016-09-19 01:54:19
  Backup Piece       23256  2016-09-19 01:54:19 /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_09_19/o1_mf_annnn_TAG20160919T010620_cxxnv5vs_.bkp
。。。。。
Backup Set           23385  2016-10-02 01:18:12
  Backup Piece       23385  2016-10-02 01:18:12 /oracle/orahomes/fast_recovery_area/TDWLP9/backupset/2016_10_02/o1_mf_annnn_TAG20161002T011404_cyzvpxlg_.bkp
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of delete command on ORA_DISK_1 channel at 10/09/2016 01:27:56
ORA-19606: Cannot copy or restore to snapshot control file

果然是,命令失败。
看来这个(快照控制文件) 被登记为 控制文件的镜像拷贝 也是符合 obsolete , 不能再RMAN 中删除,因为RMAN这个工具要使用它。

其实这个“快照控制文件”每次备份都是会被覆盖的,



RMAN> list copy of controlfile;

List of Control File Copies
===========================

Key     S Completion Time     Ckp SCN    Ckp Time           
------- - ------------------- ---------- -------------------
18      A 2016-08-19 13:44:31 7417343668 2016-08-19 13:44:30
        Name: /oracle/orahomes/product/11.2.0/db_1/dbs/snapcf_TDWLP1.f
        Tag: TAG20160819T134430


RMAN> show snapshot controlfile name;

using target database control file instead of recovery catalog
RMAN configuration parameters for database with db_unique_name TDWLP9 are:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/orahomes/fast_recovery_area/TDWLP9/snap_TDWLP1.conf';




Cause:
The snapshot controlfile is cataloged as a controlfile copy and is now obsolete. RMAN cannot delete this file as it is used by rman.
快照控制文件被登记为 控制文件镜像拷贝,
至于什么时候,什么情况下被登记成  “控制文件镜像拷贝” ,不可知

Solution:

The snapshot controlfile must be removed as a valid controlfile copy.  To do this, you would:
RMAN>  change controlfilecopy '/oracle/orahomes/product/11.2.0/db_1/dbs/snapcf_TDWLP1.f' uncatalog;

RMAN>  list copy of controlfile;

using target database control file instead of recovery catalog
specification does not match any control file copy in the repository

顺便把这个快照控制文件放快速恢复区:
RMAN> CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/orahomes/fast_recovery_area/TDWLP9/snap_TDWLP1.conf';

old RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/orahomes/product/11.2/db_1/dbs/snap_TDWLP1.conf';
new RMAN configuration parameters:
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/orahomes/fast_recovery_area/TDWLP9/snap_TDWLP1.conf';
new RMAN configuration parameters are successfully stored


快照控制文件(snapshot control file) 基本概念:
RMAN在备份时需要(或同步恢复目录)一致的控制文件,而又不能直接在控制文件上加锁,所以就建立一个快照控制文件。
然后使用这个快照来做备份,其实是锁定了这个快照控制文件

 --查看修改之后快照控制文件的位置
 RMAN> show snapshot controlfile name;

什么时候生成控制文件快照
1)在备份控制文件时会 生成(存在就刷新) 控制文件快照
2)备份系统表空间,注意,备份系统表空间时,或者数据库发生结构性变化且开启了控制文件自动备份


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/807718/viewspace-2126071/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-05-16

  • 博文量
    117
  • 访问量
    190322