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

54次阅读
没有评论

共计 8193 个字符,预计需要花费 21 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下如何使用 RMAN 对 PDB 中的表空间或数据文件执行完全恢复,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

因为不同 PDB 中的表空间可以有相同的名字,为了消除这种混淆你必须直接连接到 PDB 来恢复 PDB 的表空间。相反,因为数据文件号与路径名是跨 CDB 唯一标识的,所以可以连接到 root 容器或 PDB 来恢复 PDB 的数据文件。如果连接到 CDB 的 root 容器,那么可以使用单个命令来恢复多个 PDB 中的数据文件。如果连接到 PDB,只能恢复 PDB 中的数据文件。

还原与恢复 PDB 中的 non-SYSTEM 表空间
1. 启动 RMAN 并连接到目标数据库

[oracle@jytest1 ~]$ rman target sys/xxxxx@jypdb
Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 17:59:27 2017
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: JY:JYPDB (DBID=4203494064)

2. 如果数据库的状态为 open,那么将要恢复的表空间置于脱机状态

SQL  alter tablespace test offline immediate;
Tablespace altered.

3. 使用 show 命令来查看是否配置了预先设置的通道。如果需要的设置类型与通道被配置,那么不需要执行任何操作。否则可以使用 configure 命令来配置自动通道,或都使用包含 allocate channel 命令的 run 块

RMAN  show all;
RMAN configuration parameters for database with db_unique_name JY are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP ON; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO  +test/rman_backup/%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 COMPRESSION ALGORITHM  BASIC  AS OF RELEASE  DEFAULT  OPTIMIZE FOR LOAD TRUE ; # default
CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO  +test/jy/snapcf_jy.f

4. 还原与恢复表空间
. 如果将数据文件还原到原始位置,那么执行 restore tablespace 与 recover tablespace 命令

. 如果将数据文件还原到新目录,那么在 run 命令块中执行 restore tablespace 与 recover tablespace 命令,并且使用 set newname 命令来重命名数据文件。

RMAN  restore tablespace  TEST 
Starting restore at 11-DEC-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00015 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609
channel ORA_DISK_1: reading from backup piece +TEST/rman_backup/jy_979425723_20171211_0osls830_1_1
channel ORA_DISK_1: piece handle=+TEST/rman_backup/jy_979425723_20171211_0osls830_1_1 tag=TAG20171211T164446
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:03
Finished restore at 11-DEC-17
RMAN  recover tablespace  TEST 
Starting recover at 11-DEC-17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 11-DEC-17

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

RMAN  alter tablespace test online;
Statement processed

还原与恢复 PDB 中的 SYSTEM 表空间
1. 启动 RMAN 并使用有 sysdba 或 sysbackup 权限的公共用户连接到 root 容器。

[oracle@jytest1 ~]$ rman target/ catalog rco/abcd@jypdb_173
Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 18:11:55 2017
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: JY (DBID=979425723)
connected to recovery catalog database

2. 关闭 CDB 并重启到 mount 状态

SQL  conn / as sysdba
Connected.
SQL  shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL  startup mount
ORACLE instance started.
Total System Global Area 6442450944 bytes
Fixed Size 8807168 bytes
Variable Size 1895828736 bytes
Database Buffers 4529848320 bytes
Redo Buffers 7966720 bytes
Database mounted.

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

[oracle@jytest1 ~]$ rman target/ catalog rco/abcd@jypdb_173
Recovery Manager: Release 12.2.0.1.0 - Production on Mon Dec 11 18:20:30 2017
Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.
connected to target database: JY (DBID=979425723, not open)
connected to recovery catalog database
RMAN  report schema;
starting full resync of recovery catalog
full resync complete
Report of database schema for database with db_unique_name JY
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 830 SYSTEM YES +DATA/JY/DATAFILE/system.317.962209603
3 1230 SYSAUX NO +DATA/JY/DATAFILE/sysaux.298.962209605
4 75 UNDOTBS1 YES +DATA/JY/DATAFILE/undotbs1.277.962209605
5 250 PDB$SEED:SYSTEM NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/system.256.962209675
6 340 PDB$SEED:SYSAUX NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/sysaux.270.962209675
7 5 USERS NO +DATA/JY/DATAFILE/users.301.962209605
8 100 PDB$SEED:UNDOTBS1 NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/undotbs1.296.962209675
9 50 UNDOTBS2 YES +DATA/JY/DATAFILE/undotbs2.312.962209605
10 260 JYPDB:SYSTEM YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649
11 460 JYPDB:SYSAUX NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.962209649
12 100 JYPDB:UNDOTBS1 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.962209649
13 100 JYPDB:UNDO_2 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.962209649
14 5 JYPDB:USERS NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/users.278.962209649
15 100 JYPDB:TEST NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.962210609
16 260 TESTPDB:SYSTEM YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/system.260.962469409
17 460 TESTPDB:SYSAUX NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/sysaux.259.962469409
18 100 TESTPDB:UNDOTBS1 YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undotbs1.265.962469409
19 100 TESTPDB:UNDO_2 YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undo_2.266.962469409
20 5 TESTPDB:USERS NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/users.267.962469409
21 100 TESTPDB:TEST NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/test.269.962469409
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 142 TEMP 32767 +DATA/JY/TEMPFILE/temp.299.961976339
2 64 PDB$SEED:TEMP 32767 +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/TEMPFILE/temp.297.962209865
3 135 JYPDB:TEMP 32767 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/TEMPFILE/temp.276.962210519
4 135 TESTPDB:TEMP 32767 +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/TEMPFILE/temp.258.962469435
RMAN  restore tablespace  JYPDB:SYSTEM 
Starting restore at 11-DEC-17
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=10 instance=jy1 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 12/11/2017 18:21:09
RMAN-06004: ORACLE error from recovery catalog database: RMAN-20202: Tablespace not found in the recovery catalog
RMAN-06019: could not translate tablespace name  JYPDB:SYSTEM

这里在还原 SYSTEM 表空间时使用表空间名时会报错,如是使用 restore datafile 与 recover datafile 方法来还原与恢复 SYSTEM 表空间

RMAN  restore datafile 10;
Starting restore at 11-DEC-17
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00010 to +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649
channel ORA_DISK_1: reading from backup piece +TEST/rman_backup/jy_979425723_20171211_0osls830_1_1
channel ORA_DISK_1: piece handle=+TEST/rman_backup/jy_979425723_20171211_0osls830_1_1 tag=TAG20171211T164446
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:15
Finished restore at 11-DEC-17
RMAN  recover datafile 10;
Starting recover at 11-DEC-17
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:01
Finished recover at 11-DEC-17

4. 打开 CDB 中的所有 PDB

RMAN  alter database open;
Statement processed
starting full resync of recovery catalog
full resync complete
RMAN  alter pluggable database all open read write;
Statement processed
starting full resync of recovery catalog
full resync complete

看完了这篇文章,相信你对“如何使用 RMAN 对 PDB 中的表空间或数据文件执行完全恢复”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-24发表,共计8193字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)