阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

113次阅读
没有评论

共计 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

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-22发表,共计7909字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中