RMAN 恢复目录(catalog)学习笔记
转载请注明文章转载自: Dbabc.Net [http://dbabc.net]
本文链接: http://dbabc.net/archives/2010/10/29/rman-catalog-notes.shtml
注意:rman_catalog_db恢复目录数据,rman_db目标数据库
1、首先在恢复目录数据库上创建恢复用户(本例是 rmaner)
首先创建rmaner的默认表空间
SQL> create tablespace rman_data datafile ‘/data/testdb/rman_data01.dbf’ size 50M; Tablespace created.
再创建rmaner用户
SQL> create user rmaner identified by rmaner default tablespace rman_data; User created.
赋予rmaner权限
SQL> grant connect, resource to rmaner; Grant succeeded. SQL> grant recovery_catalog_owner to rmaner; Grant succeeded. SQL> exit
创建rman恢复目录
Catalog_db$rman catalog rmaner/rmaner@rman_catalog_db Recovery Manager: Release 10.2.0.1.0 – Production on Tue Aug 4 14:08:59 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to recovery catalog database RMAN> create catalog tablespace rman_data; recovery catalog created
目标数据库上执行如下,rman登入的账户必须具有sysdba权限
Rman_db$rman target sys/syspasswd@rman_db Recovery Manager: Release 10.2.0.1.0 – Production on Tue Aug 4 14:17:10 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. connected to target database: BEIPIN (DBID=2874807609) RMAN> connect catalog rmaner/rmaner@rman_catalog_db connected to recovery catalog database RMAN>
注册目标数据
RMAN> register database; database registered in recovery catalog starting full resync of recovery catalog full resync complete
在恢复目录数据库上查看注册信息
Catalog_db$sqlplus ‘rmaner/rmaner@rman_catalog_db’ SQL*Plus: Release 10.2.0.1.0 – Production on Wed Aug 5 16:26:09 2009 Copyright (c) 1982, 2005, Oracle. All rights reserved. Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 – 64bit Production With the Partitioning, Oracle Label Security, OLAP and Data Mining Scoring Engine options SQL> select DB_UNIQUE_NAME from rmaner.NODE; DB_UNIQUE_NAME ——————————————————————————– BEIPIN
2、
^…………
附录:
CONFIGURE DEFAULT DEVICE TYPE CLEAR; 恢复RMAN参数的默认值 RMAN> show all; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; CONFIGURE BACKUP OPTIMIZATION ON; CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/rman/dbabc.net/dbabc_l2_201003030310_%F’; CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM ‘AES128′; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO ‘/u01/product/oracle/dbs/snapcf_ytedi.f’; # default
还原配置的所有默认信息
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR; RMAN> CONFIGURE RETENTION POLICY CLEAR; RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK CLEAR;
配置控制文件的自动备份
在RMAN备份后可以对控制文件自动进行备份,以其保护RMAN repository。如下命令保证RMAN对控制文件的自动备份:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;
默认情况下,RMAN自动产生自动备份的控制文件的备份文件名称,并保存在在flash recovery area。如下命令配置RMAN将自动备份控制文件的备份文件写到/mybackupdir目录:
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO ‘/mybackupdir/cf%F’;
字符%F 代表的是一组要素的化合,其中包括DBID, day, month, year, 和 sequence number来产生一个唯一名称。注意: %F必须出现格式化名称的字符串中。
发现备份空间马上就要满了,而备份正在进行之中,于是手工删除了几个RMAN的备份文件。
随后删除过期对象的时候出现了RMAN06207和 RMAN06208错误:
RMAN> delete obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 14 days Deleting the following obsolete backups and copies: Type Key Completion Time Filename/Handle Backup Set 1611 14AUG08 Backup Piece 1611 14AUG08 /data1/backup/jiangsu/20080814_iljnvkad_1_1 Backup Set 1612 14AUG08 Backup Piece 1612 14AUG08 /data1/backup/jiangsu/20080814_imjnvkad_1_1 RMAN06207: WARNING: 2 objects could not be deleted for DISK channel(s) due RMAN06208: to mismatched status. Use CROSSCHECK command to fix status RMAN06210: List of Mismatched objects RMAN06211: RMAN06212: Object Type Filename/Handle RMAN06213: RMAN06214: Backup Piece /data1/backup/jiangsu/20080814_iljnvkad_1_1 RMAN06214: Backup Piece /data1/backup/jiangsu/20080814_imjnvkad_1_1
如果只是产生这个错误并不奇怪,奇怪的是进行CROSSCHECK检查的时候,根本就不检查这个备份:
RMAN> crosscheck backup; using channel ORA_DISK_1 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080901_m3jpgk19_1_1 recid1700 stamp664293417 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080901_m2jpgk18_1_1 recid1701 stamp664293417 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080901_c4994786422008090100 recid1702 stamp664294238 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_m5jphne8_1_1 recid1703 stamp664329673 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_m6jphnei_1_1 recid1704 stamp664329683 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_m7jphnei_1_1 recid1705 stamp664329683 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_m8jphocp_1_1 recid1706 stamp664330649 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_m9jphou5_1_1 recid1707 stamp664331206 crosschecked backup piece: found to be ’AVAILABLE’ backup piece handle/data1/backup/jiangsu/20080902_c4994786422008090200 recid1708 stamp664331208 Crosschecked 9 objects
这种情况可以通过CROSSCHECK BACKUPPIECE的方式对问题备份进行单独的检查:
RMAN> crosscheck backuppiece ’/data1/backup/jiangsu/20080814_iljnvkad_1_1’; using channel ORA_DISK_1 crosschecked backup piece: found to be ’EXPIRED’ backup piece handle/data1/backup/jiangsu/20080814_iljnvkad_1_1 recid1611 stamp662688077 Crosschecked 1 objects RMAN> delete obsolete; RMAN retention policy will be applied to the command RMAN retention policy is set to recovery window of 14 days using channel ORA_DISK_1 Deleting the following obsolete backups and copies: Type Key Completion Time Filename/Handle Backup Set 1611 14AUG08 Backup Piece 1611 14AUG08 /data1/backup/jiangsu/20080814_iljnvkad_1_1 Backup Set 1612 14AUG08 Backup Piece 1612 14AUG08 /data1/backup/jiangsu/20080814_imjnvkad_1_1 Do you really want to delete the above objects (enter YES or NO)? yes deleted backup piece backup piece handle/data1/backup/jiangsu/20080814_iljnvkad_1_1 recid1611 stamp662688077 Deleted 1 objects RMAN06207: WARNING: 1 objects could not be deleted for DISK channel(s) due RMAN06208: to mismatched status. Use CROSSCHECK command to fix status RMAN06210: List of Mismatched objects RMAN06211: RMAN06212: Object Type Filename/Handle RMAN06213: RMAN06214: Backup Piece /data1/backup/jiangsu/20080814_imjnvkad_1_1
进行检查之后的备份就可以顺利的删除了。
RMAN> crosscheck backupset 1612; using channel ORA_DISK_1 crosschecked backup piece: found to be ’EXPIRED’ backup piece handle/data1/backup/jiangsu/20080814_imjnvkad_1_1 recid1612 stamp662688078 Crosschecked 1 objects RMAN> delete backupset 1612; using channel ORA_DISK_1 List of Backup Pieces BP Key BS Key Pc# Cp# Status Device Type Piece Name 1612 1612 1 1 EXPIRED DISK /data1/backup/jiangsu/20080814_imjnvkad_1_1 Do you really want to delete the above objects (enter YES or NO)? yes deleted backup piece backup piece handle/data1/backup/jiangsu/20080814_imjnvkad_1_1 recid1612 stamp662688078 Deleted 1 objects
使用CROSSCHECK BACKUPSET的方式也可以,但是比较单独指定被删除的备份,而通过CROSSCHECK BACKUP是无法找到的。其他手工删除的备份,则没有这个问题。