如何使用 RMAN 对 PDB 中的表空间或数据文件执行完全恢复

分类:编程技术 时间:2024-02-20 15:52 浏览:0 评论:0
0
小编给大家分享一下如何使用RMAN对PDB中的表空间或数据文件进行完整恢复。希望您读完本文后有所收获。我们一起来讨论一下吧!

由于不同 PDB 中的表空间可以具有相同的名称,为了消除这种混乱,您必须直接连接到 PDB 来恢复 PDB 的表空间。相反,由于数据文件编号和路径名在CDB之间是唯一标识的,因此您可以连接到根容器或PDB来恢复PDB的数据文件。如果您连接到CDB的根容器,则可以使用单个命令恢复多个PDB中的数据文件。如果连接到PDB,则只能恢复PDB中的数据文件。

恢复PDB中的非SYSTEM表空间
1.启动RMAN并连接目标数据库

[oracle@jytest1 ~]$ rman target sys/xxxxx @jypdbrecovery 经理:发布 12.2.0.1.0 - 于 12 月 11 日星期一 17:59:27版权所有 (C) 1982, 2017, Oracle和/或其附属公司。保留所有权利。c.c 连接到目标数据库:jy: jypdb (DBID =4203494064)

2.如果数据库的状态是open,则将要恢复的表空间置于离线状态

SQL> alter tablespace test offline IMAGE;Tablespace alterd。

pre>

3.使用show命令检查预设通道是否配置。如果配置了所需的设置类型和通道,则无需执行任何操作。否则,可以使用configure命令配置自动通道,或者使用包含allocate通道命令的运行块

RMAN>show all;对于db_unique_name JY的数据库的RMAN配置参数为:CONFIGURE RETENTION POLICY TO冗余1; # 默认配置备份优化关闭; # default配置磁盘的默认设备类型; # 默认配置控制文件自动备份打开; # defaultCONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '+test/rman_backup/%F';配置设备类型磁盘并行 1 备份输入到备份集; # 默认配置设备类型磁盘的数据文件备份副本为 1; # defaultCONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # 默认配置 MAXSETSIZE 为无限; # 默认数据库配置加密关闭; # 默认配置加密算法'AES128';默认配置 RMAN 输出保留 7 天; # 默认配置归档日志删除策略为无; # defaultCONFIGURE SNAPSHOT CONTROLFILE NAME TO '+test/jy/snapcf_jy.f';

4.恢复和恢复表空间
。如果数据文件恢复到原来的位置,则执行恢复表空间和恢复表空间命令

。如果将数据文件恢复到新目录,则执行run命令块中的restore tablespace和recover tablespace命令,并使用set newname命令对数据文件进行重命名。

RMAN> 恢复表空间“TEST”;使用通道 ORA_DISK_1 通道 ORA_DISK_1 在 2017 年 12 月 11 日开始恢复:开始数据文件备份set restorechannel ORA_DISK_1:指定要从备份恢复的数据文件 setchannel ORA_DISK_1:将数据文件 00015 恢复到 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.27 5.962210609channel ORA_DISK_1:从备份片读取 +TEST/rman_backup/jy_9 79425723_20171211_0osls830_1_1通道 ORA_DISK_1:块句柄=+TEST/rman_backup/jy_979425723_20171211_0osls830_1_1 tag=TAG20171211T164446channel ORA_DISK_1: 恢复备份片 1channel ORA_DISK_1: 恢复完成,已用时间: 0 0:00:03于 11-DEC-17RMAN> 恢复表空间'TEST';12 月 11 日开始恢复-17使用通道 ORA_DISK_1开始媒体恢复媒体恢复完成,已用时间:00:00:01于 2017 年 12 月 11 日完成恢复

5。检查输出结果,看看恢复是否成功。如果恢复成功,将表空间设置为online状态

RMAN> alter tablespace test online;语句已处理

恢复PDB中的SYSTEM表空间
1. Start RMAN 并使用具有 sysdba 或 sysbackup 权限的公共用户连接到根容器。

[oracle@jytest1 ~]$ rman target/catalog rco/abcd@jypdb_173恢复管理器:版本 12.2.0.1.0 - 于 2017 年 12 月 11 日星期一 18:11:55 生产版权所有 (c) 1982, 2017, Oracle 和/或其附属公司。保留所有权利。已连接到目标数据库:JY (DBID=979425723)已连接到恢复目录数据库

2.关闭 CDB 并重新启动至挂载状态

 SQL> conn / as sysdbaConnected.SQL> shutdown立即;数据库已关闭。数据库已卸载。ORACLE实例关闭。SQL>启动挂载ORACLE实例已启动。总系统全局区域 6442450944 字节已修复大小 8807168 字节变量大小 1895828736 字节数据库缓冲区 45298 48320 字节重做缓冲区                                                                                       7966720 字节数据库已安装。

3.恢复恢复PDB中SYSTEM表空间的数据文件

[oracle@jytest1 ~]$ rman target/目录 rco/abcd@jypdb_173恢复管理器:版本 12.2.0.1.0 - 于 2017 年 12 月 11 日星期一 18:20:30 生产,版权所有 (c) 1982、2017,Oracle 和/或其附属公司。保留所有权利。已连接到目标数据库:JY(DBID=979425723,未打开)已连接到恢复目录数据库RMAN> 报告架构;开始完全重新同步恢复目录完全重新同步完整报告具有 db_unique_name JY 的数据库的数据库架构 JY 永久数据文件列表==== == ====================== 文件大小(MB) 表空间 RB 段 数据文件名称---- -------- ---- --- --------------- -------------------------------1 830 系统是 + 数据/JY/DATAFILE/system.317.9622096033 1230 SYSAUX 250 PDB$SEED:系统号 +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/system.256.9622096756 340 PDB$SE ED:SYSAUX NObsp; +DATA/JY/DATAFILE/users.301.9622096058 100 PDB$SEED:UNDOTBS1 否 +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/undotbs1.296 .9622096759 50 UNDOTBS2 是 +DATA/JY/DATAFILE/undot bs2.312.96220960510 260 日元DB:SYSTEM是+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.96220964911 460 JYPDB:SYSAUX否+DATA/JY/5F9AC6865E87549FE053AB828A 0ADE94/DATAFILE/sysaux.316.962 20964912 100 JYPDB:UNDOTBS1 是 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1。 264.96220964913 100 JYPDB:UNDO_2 是 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.96220964914 5 JYPDB:用户否 +DATA/JY/5F9AC6865E87549FE 05 3AB828A0ADE94/数据文件/用户。 278.96220964915 100 JYPDB:测试否+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.96221060916 260 TESTPDB:系统是+DATA/JY/600D6F56DEB669CCE053AB8 28A0AAB7E/DATAFILE/system.260.96246940917 460 TESTPDB:SYSAUX 否 +DATA/JY/600D6F56DEB6 69CCE053AB828A0AAB7E/DATAFILE/ sysaux.259.96246940918 100 TESTPDB:UNDOTBS1 是 +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undotbs1.265 .96246940919 100 TESTPDB:UNDO_2 是 +DATA/JY/600D6F5 6DEB669CCE053AB828A0AAB7E/DATAFILE/undo_2.266.96246940920 5 TESTPDB:用户号+DATA/JY /600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/users.267.96246940921 100 TESTPDB:TEST NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/test.269.962469409临时文件列表==================== == = 文件大小(MB) 表空间最大大小(MB) 临时文件名称---------------- --------------------------------- - ----- --------------------1 142 TEMP 32767 +DATA/JY/TEMPFILE/temp.299.9619763392 64 PDB$SEED:TEMP 32767 +DATA / JY /5F9AA264B21F3ED9E053AB828A0A6088/TEMPFILE/temp.297.9622098653 135 JYPDB:TEMP 32767 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/TEMPFILE/temp。 276.9622105194 135 TESTPDB:TEMP 32767 +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/TEMPFILE/temp.258.962469435RMAN> 恢复表空间 'JY PDB:SYSTEM' ;在 2017 年 12 月 11 日分配的通道开始恢复:或A_DISK_1通道 ORA_DISK_1: SID=10 实例=jy1 设备类型=DISKRMAN-00571:============================================== ===============RMAN-00569: ========== ===== 错误消息堆栈如下 ============ ===RMAN-00571:============================================ ================RMAN-03002:2017 年 12 月 11 日 18:21:09 时恢复命令失败 RMAN-06004:恢复目录数据库中出现 ORACLE 错误:RMAN-20232:在以下位置找不到表空间恢复目录RMAN-06019: Could not translate tablespace name "JYPDB:SYSTEM"

这里当恢复SYSTEM表空间时使用该表空间名称时会报错。如果使用恢复数据文件和恢复数据文件方法来恢复和恢复SYSTEM表空间

RMAN>恢复数据文件10;在2017年12月11日开始恢复使用通道ORA_DISK_1通道ORA_DISK_1:启动数据文件备份集恢复通道ORA_DISK_1:指定要从备份集恢复的数据文件通道 ORA_DISK_1:将数据文件 00010 恢复到 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649通道 ORA_DISK_1:从备份片段读取 +TEST/rman_backup/jy_979425723_2 0171211_0osls830_1_1通道ORA_DISK_1:块句柄=+TEST/rman_backup /jy_979425723_20171211_0osls830_1_1 标签=TAG20171211T164446通道 ORA_DISK_1:已恢复备份片 1 通道 ORA_DISK_1:恢复完成,已用时间:00:00:15于 12 月 11 日-17 完成恢复 RMAN> 恢复数据文件 10;在 12 月 11 日开始恢复,使用通道 ORA_DISK_1 启动介质恢复媒体恢复完成,已用时间: 00:00:01于 2017 年 12 月 11 日完成恢复

4。打开 CDB All PDB

RMAN> alterdatabase open;StatementprocessedstartingfullresyncofrecoverycatfullresynccompleteRMAN> alterpluggabledatabaseallopenreadwrite;Statementprocessedstartingfullresyncofrecoverycatfullresynccomplete
< p class="introduction">看完本文相信您对“如何使用RMAN对PDB中的表空间或数据文件进行完全恢复”有了一定的了解,如果您想了解更多相关知识,请关注进入行业信息频道。感谢您的阅读!

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何使用 RMAN 对 PDB 中的表空间或数据文件执行完全恢复

用户评论