共计 7909 个字符,预计需要花费 20 分钟才能阅读完成。
因为不同 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/xxzx7817600@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/xxzx7817600@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
更多 Oracle 相关信息见 Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-12/149388.htm