前事不忘,后事之师,不忘国耻!

 注册  找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1849|回复: 0

Rman物理備份之管理維護

[复制链接]

Rman物理備份之管理維護

[复制链接]
jeywang

主题

0

回帖

2

积分

初级会员

积分
2
2009-1-5 11:25:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
 恢复管理维护任务
  这部分主要介绍一下如何管理维护RMAN存储库和快速恢复区:
  1、没有恢复目录的情况下如何管理RMAN存储库
  2、交叉验证备份(CROSSCHECKING BACKUP)
  3、删除备份
  4、利用RMAN删除数据库
  5、多个通道的情况下交叉验证和删除操作
  6、如何改变一个备份记录的状态
  7、归档日志目录和手工拷贝
  8、修改RMAN存储库目录
  9、维护快速恢复区
  没有恢复目录的情况下管理RMAN存储库
  备份控制文件:
  如果没有恢复目录,控制文件的备份更加重要。要通过多个镜像控制文件或者操作系统镜像来备份变化了的控制文件。另外最好要配置控制文件的自动备份。
  CONTROLFILE AUTOBACKUP ON
  注意:如果从自动备份或者其他备份恢复了控制文件,最近执行的CONFIGURE配置内容将会被覆盖,回到备份时刻的设置。
  监控控制文件记录重写:
  没有恢复目录的情况下,oracle的控制文件记录了所有的历史备份记录,为了保证控制文件不会无限制的增长,oracle提供了一个可以设置控制文件保留时间的阀值的初始化参数:CONTROL_FILE_RECORD_KEEP_TIME.
  例如我们设置了CONTROL_FILE_RECORD_KEEP_TIME=14,任何超过14天的纪录都有可能被覆盖,如果没有超过14天的记录,oracle将扩展控制文件的大小,如果由于受到操作系统的限制(比如磁盘空间满)无法扩展控制文件的大小,oracle会强制覆盖最老的记录并且在alter.log中记录这一情况。如下所示:
kccwnc: following controlfile record written over:
RECID #72 Recno 72 Record timestamp
07/28/00 22:15:21
Thread=1 Seq#=3460
Backup set key: stamp=372031415, count=17
Low scn: 0x0000.3af33f36
07/27/00 21:00:08
Next scn: 0x0000.3af3871b
07/27/00 23:23:54
Resetlogs scn and time
scn: 0x0000.00000001
08/05/99 10:46:44
Block count=102400 Blocksize=512
  快速恢复区Flash Recovery Area和控制文件记录保存时间参CONTROL_FILE_RECORD_KEEP_TIME之间的相互作用
  如果我们在使用快速恢复区保留RMAN备份的话,控制文件将记录恢复区中文件的创建记录,因为一般来讲文件创建的记录要比执行备份的信息要晚,如果有备份文件超过了CONTROL_FILE_RECORD_KEEP_TIME参数所规定的时间,ORACLE试图删除这些这些文件,否则ORACLE将增加控制文件的大小并且在alter.log中记录这一情况。如下所示:
kccwnc: tring to expand controlfile section nnnn for Oracle Managed Files
  如果无法扩展控制文件,则alter.log中将出现以下信息:
WARNING: Oracle Managed File filename is unknown to controlfile. This is the
result of limitation in control file size that could not keep all recovery
area files.
  也就是不能满足备份的保留冗余策略来保存备份了。
  为了避免和降低这种情况的发生,我们可以采取以下措施:
  使用32K大小的块创建控制文件,如果想设置控制文件32K大小的BLOCK,我们必须首先把SYSTEM表空间设置成为大于或者等于控制文件使用的BLOCK SIZE.修改了控制文件BLOCK_SIZE后,必须重建控制文件。
  使用BACKUP RECOVERY AREA命令备份快速恢复区使得快速恢复区的文件成为可以删除的文件, 或者减小备份保留时间或者减小备份保留冗余度维护控制文件中的RMAN备份存储库。
  交叉验证备份CROSESSCHECK BACKUPS
  验证备份存储库中的备份记录和磁盘(或者磁带)上的备份文件是否一致。如果用磁盘保存备份,CROSSCHECK检查文件头是否有效,如果用磁带保存备份,CROSSCHECK检查文件是否存在。备份文件的三种可能的状态为:AVAILABLE, UNAVAILABLE, and EXPIRED,我们可以用LIST命令查看或者直接查询V$BACKUP_FILES、RC_DATAFILE_COPY、RC_ARCHIVED_LOG等视图。
  给出几个CORSSCHECK示例命令:
CROSSCHECK BACKUP;  # checks backup sets, proxy copies, and image copies
CROSSCHECK COPY OF DATABASE;
CROSSCHECK BACKUPSET 1338, 1339, 1340;
CROSSCHECK BACKUPPIECE TAG = 'nightly_backup';
CROSSCHECK CONTROLFILECOPY '/tmp/control01.ctl';
CROSSCHECK DATAFILECOPY 113, 114, 115;
CROSSCHECK PROXY 789;
  交叉验证指定数据库文件的备份
# these CROSSCHECK commands use configured channels, which means that they
# always check the disk device. If you configured an sbt channel, then RMAN
# checks the sbt device, too
CROSSCHECK BACKUP OF DATAFILE "ora_home/oradata/trgt/system01.dbf"
  COMPLETED AFTER 'SYSDATE-180';
CROSSCHECK BACKUP OF ARCHIVELOG ALL SPFILE;
删除备份
  删除指定的备份:
  1、 先用LIST命令找到备份唯一标识。
LIST BACKUP OF DATABASE ARCHIVELOG ALL; # lists backups of db files and logs
LIST COPY; # lists only image copies
LIST BACKUP; # lists everything
  2、 删除指定的备份存储库记录和备份文件。
DELETE BACKUPPIECE 101;
DELETE CONTROLFILECOPY '/tmp/control01.ctl';
DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 300;
  批量删除:
DELETE BACKUP; # deletes all backups on disk and tape
DELETE BACKUP OF TABLESPACE users DEVICE TYPE sbt; # delete only from tape
DELETE COPY OF CONTROLFILE LIKE '/tmp/%';  # LIKE specifies name of the copy
DELETE NOPROMPT ARCHIVELOG ALL
BACKED UP 3 TIMES TO sbt; # backs up only if already backed up 3X to tape
  删除无效备份:
RMAN>CROSSCHECK BAKCUP;
RMAN>DELETE EXPIRED BACKUP;
  删除过期备份:
RMAN>DELETE OBSOLETE;
  如果没有指定其他参数RMAN默认按照保留冗余策略找到过期备份后执行删除,等效于:
DELETE OBSOLETE REDUNDANCY = 1;
  删除过期备份也可以指定按照时间冗余策略来删除,例如:
DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
  强制删除备份
  如果没有执行CROSSCHECK,而磁盘上备份文件确实被删除了,我们执行删除备份的时候会从RMAN收到错误提示,如下:
RMAN> delete backup tag 'TAG20070130T161822';

使用通道 ORA_DISK_1

备份段列表
BP 关键字 BS 关键字 Pc# Cp# 状态 设备类型段名称
------- ------- --- --- ----------- ----------- ----------
110 115 1 1 AVAILABLE DISK D:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\ROME\BACKUPSET\2007_01_30\O1_MF_NNNDF_TAG20070130T161822_
2VXZTH2G_.BKP

是否确定要删除以上对象 (输入 YES 或 NO)? yes

RMAN-06207: 警告: 由于状态不匹配, 所以不能删除 1 对象 (对于 DISK 通道)。
RMAN-06208: 请用 CROSSCHECK 命令修正状态
RMAN-06210: 不匹配对象的列表
RMAN-06211: ==========================
RMAN-06212: 对象类型 文件名/句柄
RMAN-06213: --------------- -------------------------------------------------
RMAN-06214: Backup Piece D:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ROME\BA
CKUPSET\2007_01_30\O1_MF_NNNDF_TAG20070130T161822_2VXZTH2G_.BKP

我们可以用带有force参数的选项来强制删除备份:

RMAN> delete force backup tag 'TAG20070130T161822';

使用通道 ORA_DISK_1

备份段列表
BP 关键字 BS 关键字 Pc# Cp# 状态 设备类型段名称
------- ------- --- --- ----------- ----------- ----------
110 115 1 1 AVAILABLE DISK D:\ORACLE\PRODUCT\10.2.0\FLASH_R
ECOVERY_AREA\ROME\BACKUPSET\2007_01_30\O1_MF_NNNDF_TAG20070130T161822_
2VXZTH2G_.BKP
免责申明1、欢迎访问本站,本文内容及相关资源来源于网络,版权归版权方所有!本站原创内容版权归本站所有,请勿转载!
2、本文内容仅代表作者观点,不代表本站立场,作者自负,本站资源仅供学习研究,请勿非法使用,否则后果自负!请下载后24小时内删除!
3、本文内容,包括但不限于源码、文字、图片等,仅供参考。本站不对其安全性,正确性等作出保证。但本站会尽量审核会员发表的内容。
4、如本帖侵犯到任何版权问题,请立即告知本站 ,本站将及时删除并致以最深的歉意!客服邮箱:admin@dbabbs.com
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|DBA论坛中国 ( 鲁ICP备20017503号-2 )

GMT+8, 2024-4-27 18:49 , Processed in 0.069992 second(s), 12 queries , MemCached On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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