使用RMAN复制对CDB中的PDB的表空间操作如下
1.检查源RAC CDB(jy)的参数文件,数据文件,联机日志文件,控制文件,归档日志文件的存储目录
SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ----------- -------------------------------------------- spfile string +DATA/JY/PARAMETERFILE/spfile.303.961976713 RMAN> report schema; Report of database schema for database with db_unique_name JY List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 840 SYSTEM YES +DATA/JY/DATAFILE/system.317.962209603 3 2340 SYSAUX NO +DATA/JY/DATAFILE/sysaux.298.962209605 4 1015 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 1350 UNDOTBS2 YES +DATA/JY/DATAFILE/undotbs2.312.962209605 10 270 JYPDB:SYSTEM YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.962209649 11 590 JYPDB:SYSAUX NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.962209649 12 205 JYPDB:UNDOTBS1 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.962209649 13 310 JYPDB:UNDO_2 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.962209649 14 1267 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 550 TESTPDB:SYSAUX NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/sysaux.259.962469409 18 245 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 144 TEMP 32767 +DATA/JY/TEMPFILE/temp.299.961976339 2 64 PDB$SEED:TEMP 32767 +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/TEMPFILE/temp.297.962209865 3 137 JYPDB:TEMP 32767 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/TEMPFILE/temp.276.962210519 4 135 TESTPDB:TEMP 32767 +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/TEMPFILE/temp.258.962469435 SQL> show parameter control_files NAME TYPE VALUE ------------------------------------ ----------- ------------------------------------------- control_files string +DATA/JY/CONTROLFILE/current.272.961976315 SQL> select member from v$logfile; MEMBER -------------------------------------------------------------------------------- +DATA/JY/ONLINELOG/group_2.302.961976321 +DATA/JY/ONLINELOG/group_1.261.961976319 +DATA/JY/ONLINELOG/group_3.263.961976697 +DATA/JY/ONLINELOG/group_4.262.961976705 SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +TEST/arch Oldest online log sequence 127 Next log sequence to archive 128 Current log sequence 128
2.在目标主机上创建存储目标数据库(dupjy)相关数据库文件的目录,目标主机上的/u01/app/oracle/oradata/dupjy目录用来存储数据库的数据文件,控制文件,联机重做日志文件),/u01/app/oracle/arch/dupjy目录用来存储数据库的归档重做日志文件。
3.将源数据库的密码文件复制到目标主机的相应目录中并修改为目标数据库(dupjy)对应的文件名
[grid@jytest1 ~]$ srvctl config database -db jy Database unique name: jy Database name: jy Oracle home: /u01/app/oracle/product/12.2.0/db Oracle user: oracle Spfile: +DATA/JY/PARAMETERFILE/spfile.303.961976713 Password file: +DATA/JY/PASSWORD/pwdjy.274.961976109 Domain: Start options: open Stop options: immediate Database role: PRIMARY Management policy: AUTOMATIC Server pools: Disk Groups: DATA Mount point paths: Services: Type: RAC Start concurrency: Stop concurrency: OSDBA group: dba OSOPER group: oper Database instances: jy1,jy2 Configured nodes: jytest1,jytest2 CSS critical: no CPU count: 0 Memory target: 0 Maximum memory: 0 Default network number for database services: Database is administrator managed [grid@jytest1 ~]$ asmcmd cp +DATA/JY/PASSWORD/pwdjy.274.961976109 /home/grid/pwddupjy copying +DATA/JY/PASSWORD/pwdjy.274.961976109 -> /home/grid/pwddupjy [oracle@shard1 dbs]# scp grid@10.138.130.171:/home/grid/pwddupjy /u01/app/oracle/product/12.2.0/db/dbs/ The authenticity of host '10.138.130.171 (10.138.130.171)' can't be established. ECDSA key fingerprint is 7a:62:58:8b:77:98:52:94:d6:d5:0c:c4:6c:87:a6:7f. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '10.138.130.171' (ECDSA) to the list of known hosts. grid@10.138.130.171's password: pwddupjy [oracle@shard1 dbs]$ mv pwddupjy orapwdupjy
4.使用源数据库的spfile文件来创建目标数据库要使用的spfile文件
在源数据库中执行下面的命令来创建pfile参数文件
SQL> create pfile from spfile; File created. [root@shard1 ~]# scp oracle@10.138.130.171:/u01/app/oracle/product/12.2.0/db/dbs/initjy1.ora /u01/app/oracle/product/12.2.0/db/dbs/ grid@10.138.130.171's password: initjy1.ora 100% 1731 1.7KB/s 00:00 [root@shard1 ~]# [oracle@shard1 dbs]$ cat initdupjy.ora *.audit_file_dest='/u01/app/oracle/admin/dupjy/adump' *.cluster_database=false *.compatible='12.2.0' *.control_files='/u01/app/oracle/oradata/dupjy/control01.ctl' *.db_block_size=8192 *.db_name='dupjy' *.diagnostic_dest='/u01/app/oracle' *.enable_pluggable_database=true *.open_cursors=300 *.pga_aggregate_target=1g *.processes=2000 *.remote_login_passwordfile='exclusive' *.sga_max_size=2147483648 *.sga_target=2147483648 db_file_name_convert= ('+DATA/JY/DATAFILE/','/u01/app/oracle/oradata/dupjy/','+DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/','/u01/app/oracle/oradata/dupjy/','+DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATA FILE/','/u01/app/oracle/oradata/dupjy/','+DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/','/u01/app/oracle/oradata/dupjy/') log_file_name_convert=('+DATA/JY/ONLINELOG/','/u01/app/oracle/oradata/dupjy/') [oracle@shard1 dbs]$ export ORACLE_SID=dupjy [oracle@shard1 dbs]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 19:06:00 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount pfile='/u01/app/oracle/product/12.2.0/db/dbs/initdupjy.ora' ORACLE instance started. Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 570428704 bytes Database Buffers 1560281088 bytes Redo Buffers 7979008 bytes SQL> create spfile from pfile='/u01/app/oracle/product/12.2.0/db/dbs/initdupjy.ora'; File created.
5.使用spfile参数文件来启动目标数据库实例(辅助实例dupjy)
SQL> shutdown immediate ORA-01507: database not mounted ORACLE instance shut down. SQL> startup nomount ORACLE instance started. Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 570428704 bytes Database Buffers 1560281088 bytes Redo Buffers 7979008 bytes SQL> show parameter spfile NAME TYPE VALUE ------------------------------------ ---------------------- ----------------------------------------------------- spfile string /u01/app/oracle/product/12.2.0/db/dbs/spfiledupjy.ora
6.给目标数据库配置静态监听
[oracle@shard1 admin]$ vi listener.ora # listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0/db/network/admin/listener.ora # Generated by Oracle configuration tools. LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = shard1)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dupjy) (ORACLE_HOME = /u01/app/oracle/product/12.2.0/db) (GLOBAL_DBNAME=dupjy) ) ) [oracle@shard1 admin]$ lsnrctl start LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-JAN-2018 20:30:34 Copyright (c) 1991, 2016, Oracle. All rights reserved. Starting /u01/app/oracle/product/12.2.0/db/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 12.2.0.1.0 - Production System parameter file is /u01/app/oracle/product/12.2.0/db/network/admin/listener.ora Log messages written to /u01/app/oracle/diag/tnslsnr/shard1/listener/alert/log.xml Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=shard1)(PORT=1521))) Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=shard1)(PORT=1521))) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production Start Date 18-JAN-2018 20:30:34 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security ON: Local OS Authentication SNMP OFF Listener Parameter File /u01/app/oracle/product/12.2.0/db/network/admin/listener.ora Listener Log File /u01/app/oracle/diag/tnslsnr/shard1/listener/alert/log.xml Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=shard1)(PORT=1521))) (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521))) Services Summary... Service "dupjy" has 1 instance(s). Instance "dupjy", status UNKNOWN, has 1 handler(s) for this service... The command completed successfully
7.在目标主机上配置tns,用来通过网络服务名来连接源数据库与目标数据库
[oracle@shard1 admin]$ vi tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0/db/network/admin/tnsnames.ora # Generated by Oracle configuration tools. JY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.171)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jy) ) ) DUPJY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.180)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dupjy) ) )
8.在目标主机上测试是否可以通过使用网络服务名来连接源数据库与目标数据库
[oracle@shard1 admin]$ sqlplus /nolog SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 21:02:53 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. SQL> conn / as sysdba Connected. SQL> startup nomount ORACLE instance started. Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 570428704 bytes Database Buffers 1560281088 bytes Redo Buffers 7979008 bytes SQL> exit Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production [oracle@shard1 admin]$ sqlplus /nolog SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 21:04:51 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. SQL> conn sys/abcd@dupjy as sysdba Connected. SQL> conn sys/abcd@jy as sysdba Connected.
9.在源主机上配置目标数据库的tns名
[oracle@jytest1 admin]$ vi tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/12.2.0/db/network/admin/tnsnames.ora # Generated by Oracle configuration tools. JY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = jytest-scan)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = jy) ) ) DUPJY = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.138.130.180)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = dupjy) (UR = A) ) )
10.在源主机上测试能否可以使用网络服务名来连接源数据库与目标数据库
[oracle@jytest1 admin]$ sqlplus /nolog SQL*Plus: Release 12.2.0.1.0 Production on Fri Jan 19 03:16:59 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. SQL> conn sys/abcd@jy as sysdba Connected. SQL> conn sys/abcd@dupjy as sysdba Connected.
11.对PDB的表空间进行复制(将复制jypdb数据库与testpdb数据库中的test表空间(TESTPDB:TEST)
[oracle@jytest1 ~]$ rman target sys/abcd@jy catalog rco/abcd@jypdb_173 auxiliary sys/abcd@dupjy Recovery Manager: Release 12.2.0.1.0 - Production on Tue Jan 23 23:20:22 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database: JY (DBID=979425723) connected to recovery catalog database connected to auxiliary database: DUPJY (not mounted) RMAN> duplicate database to dupjy pluggable database jypdb tablespace TESTPDB:'TEST' from active database nofilenamecheck using compressed backupset; Starting Duplicate Db at 23-JAN-18 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=10 device type=DISK current log archived contents of Memory Script: { sql clone "alter system set db_name = ''JY'' comment= ''Modified by RMAN duplicate'' scope=spfile"; sql clone "alter system set db_unique_name = ''DUPJY'' comment= ''Modified by RMAN duplicate'' scope=spfile"; shutdown clone immediate; startup clone force nomount restore clone from service 'jy' using compressed backupset primary controlfile; alter clone database mount; } executing Memory Script sql statement: alter system set db_name = ''JY'' comment= ''Modified by RMAN duplicate'' scope=spfile sql statement: alter system set db_unique_name = ''DUPJY'' comment= ''Modified by RMAN duplicate'' scope=spfile Oracle instance shut down Oracle instance started Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 1056967968 bytes Database Buffers 1073741824 bytes Redo Buffers 7979008 bytes Starting restore at 23-JAN-18 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=2269 device type=DISK channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring control file channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:06 output file name=/u01/app/oracle/oradata/dupjy/control01.ctl Finished restore at 23-JAN-18 database mounted Automatically adding tablespace SYSTEM Automatically adding tablespace SYSAUX Automatically adding tablespace PDB$SEED:SYSTEM Automatically adding tablespace PDB$SEED:SYSAUX Automatically adding tablespace TESTPDB:SYSTEM Automatically adding tablespace TESTPDB:SYSAUX RMAN-05519: warning: tablespace TESTPDB:SYSTEM is always included when duplicating Automatically adding tablespace TESTPDB:UNDOTBS1 Automatically adding tablespace UNDOTBS1 Automatically adding tablespace TESTPDB:UNDO_2 Automatically adding tablespace UNDOTBS2 Checking that duplicated tablespaces are self-contained Skipping tablespace USERS Skipping tablespace TESTPDB:USERS RMAN-05529: warning: DB_FILE_NAME_CONVERT resulted in invalid ASM names; names changed to disk group only. contents of Memory Script: { sql clone 'alter database flashback off'; set newname for datafile 1 to "/u01/app/oracle/oradata/dupjy/system.317.962209603"; set newname for datafile 3 to "/u01/app/oracle/oradata/dupjy/sysaux.298.962209605"; set newname for datafile 4 to "/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605"; set newname for datafile 5 to "/u01/app/oracle/oradata/dupjy/system.256.962209675"; set newname for datafile 6 to "/u01/app/oracle/oradata/dupjy/sysaux.270.962209675"; set newname for datafile 8 to "/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675"; set newname for datafile 9 to "/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605"; set newname for datafile 10 to "/u01/app/oracle/oradata/dupjy/system.271.962209649"; set newname for datafile 11 to "/u01/app/oracle/oradata/dupjy/sysaux.316.962209649"; set newname for datafile 12 to "/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649"; set newname for datafile 13 to "/u01/app/oracle/oradata/dupjy/undo_2.268.962209649"; set newname for datafile 14 to "/u01/app/oracle/oradata/dupjy/users.278.962209649"; set newname for datafile 15 to "/u01/app/oracle/oradata/dupjy/test.275.962210609"; set newname for datafile 16 to "/u01/app/oracle/oradata/dupjy/system.260.962469409"; set newname for datafile 17 to "/u01/app/oracle/oradata/dupjy/sysaux.259.962469409"; set newname for datafile 18 to "/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409"; set newname for datafile 19 to "/u01/app/oracle/oradata/dupjy/undo_2.266.962469409"; set newname for datafile 21 to "/u01/app/oracle/oradata/dupjy/test.269.962469409"; restore from nonsparse from service 'jy' using compressed backupset clone database skip forever tablespace "USERS", "TESTPDB":"USERS" ; sql 'alter system archive log current'; } executing Memory Script sql statement: alter database flashback off executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 23-JAN-18 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/dupjy/system.317.962209603 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/dupjy/sysaux.298.962209605 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:36 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/dupjy/system.256.962209675 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/dupjy/sysaux.270.962209675 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:36 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:26 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/dupjy/system.271.962209649 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/dupjy/sysaux.316.962209649 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00013 to /u01/app/oracle/oradata/dupjy/undo_2.268.962209649 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00014 to /u01/app/oracle/oradata/dupjy/users.278.962209649 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:26 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00015 to /u01/app/oracle/oradata/dupjy/test.275.962210609 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00016 to /u01/app/oracle/oradata/dupjy/system.260.962469409 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00017 to /u01/app/oracle/oradata/dupjy/sysaux.259.962469409 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00018 to /u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00019 to /u01/app/oracle/oradata/dupjy/undo_2.266.962469409 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00021 to /u01/app/oracle/oradata/dupjy/test.269.962469409 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04 Finished restore at 23-JAN-18 sql statement: alter system archive log current current log archived contents of Memory Script: { restore clone force from service 'jy' using compressed backupset archivelog from scn 15749326; switch clone datafile all; } executing Memory Script Starting restore at 23-JAN-18 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=172 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring archived log archived log thread=1 sequence=173 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring archived log archived log thread=2 sequence=150 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring archived log archived log thread=2 sequence=151 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01 channel ORA_AUX_DISK_1: starting archived log restore to default destination channel ORA_AUX_DISK_1: using compressed network backup set from service jy channel ORA_AUX_DISK_1: restoring archived log archived log thread=2 sequence=152 channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02 Finished restore at 23-JAN-18 datafile 1 switched to datafile copy input datafile copy RECID=22 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/system.317.962209603 datafile 3 switched to datafile copy input datafile copy RECID=23 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605 datafile 4 switched to datafile copy input datafile copy RECID=24 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 datafile 5 switched to datafile copy input datafile copy RECID=25 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/system.256.962209675 datafile 6 switched to datafile copy input datafile copy RECID=26 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675 datafile 8 switched to datafile copy input datafile copy RECID=27 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 datafile 9 switched to datafile copy input datafile copy RECID=28 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 datafile 10 switched to datafile copy input datafile copy RECID=29 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/system.271.962209649 datafile 11 switched to datafile copy input datafile copy RECID=30 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649 datafile 12 switched to datafile copy input datafile copy RECID=31 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 datafile 13 switched to datafile copy input datafile copy RECID=32 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649 datafile 14 switched to datafile copy input datafile copy RECID=33 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/users.278.962209649 datafile 15 switched to datafile copy input datafile copy RECID=34 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/test.275.962210609 datafile 16 switched to datafile copy input datafile copy RECID=35 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/system.260.962469409 datafile 17 switched to datafile copy input datafile copy RECID=36 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409 datafile 18 switched to datafile copy input datafile copy RECID=37 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 datafile 19 switched to datafile copy input datafile copy RECID=38 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409 datafile 21 switched to datafile copy input datafile copy RECID=39 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/test.269.962469409 contents of Memory Script: { set until scn 15754741; recover clone database skip forever tablespace "USERS", "TESTPDB":"USERS" delete archivelog ; } executing Memory Script executing command: SET until clause Starting recover at 23-JAN-18 using channel ORA_AUX_DISK_1 Executing: alter database datafile 7 offline drop Executing: alter database datafile 20 offline drop starting media recovery archived log for thread 1 with sequence 172 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/1_172_961976319.dbf archived log for thread 1 with sequence 173 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/1_173_961976319.dbf archived log for thread 2 with sequence 151 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/2_151_961976319.dbf archived log for thread 2 with sequence 152 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/2_152_961976319.dbf archived log file name=/u01/app/oracle/oradata/arch_dupjy/1_172_961976319.dbf thread=1 sequence=172 archived log file name=/u01/app/oracle/oradata/arch_dupjy/2_151_961976319.dbf thread=2 sequence=151 archived log file name=/u01/app/oracle/oradata/arch_dupjy/1_173_961976319.dbf thread=1 sequence=173 archived log file name=/u01/app/oracle/oradata/arch_dupjy/2_152_961976319.dbf thread=2 sequence=152 media recovery complete, elapsed time: 00:00:09 Finished recover at 23-JAN-18 Oracle instance started Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 1056967968 bytes Database Buffers 1073741824 bytes Redo Buffers 7979008 bytes contents of Memory Script: { sql clone "alter system set db_name = ''DUPJY'' comment= ''Reset to original value by RMAN'' scope=spfile"; sql clone "alter system reset db_unique_name scope=spfile"; } executing Memory Script sql statement: alter system set db_name = ''DUPJY'' comment= ''Reset to original value by RMAN'' scope=spfile starting full resync of recovery catalog full resync complete sql statement: alter system reset db_unique_name scope=spfile Oracle instance started Total System Global Area 2147483648 bytes Fixed Size 8794848 bytes Variable Size 1056967968 bytes Database Buffers 1073741824 bytes Redo Buffers 7979008 bytes sql statement: CREATE CONTROLFILE REUSE SET DATABASE "DUPJY" RESETLOGS ARCHIVELOG MAXLOGFILES 192 MAXLOGMEMBERS 3 MAXDATAFILES 1024 MAXINSTANCES 32 MAXLOGHISTORY 292 LOGFILE GROUP 1 ( '/u01/app/oracle/oradata/dupjy/group_1.261.961976319' ) SIZE 200 M REUSE, GROUP 2 ( '/u01/app/oracle/oradata/dupjy/group_2.302.961976321' ) SIZE 200 M REUSE DATAFILE '/u01/app/oracle/oradata/dupjy/system.317.962209603', '/u01/app/oracle/oradata/dupjy/system.256.962209675', '/u01/app/oracle/oradata/dupjy/system.271.962209649', '/u01/app/oracle/oradata/dupjy/system.260.962469409' CHARACTER SET ZHS16GBK sql statement: ALTER DATABASE ADD LOGFILE INSTANCE 'i2' GROUP 3 ( '/u01/app/oracle/oradata/dupjy/group_3.263.961976697' ) SIZE 200 M REUSE, GROUP 4 ( '/u01/app/oracle/oradata/dupjy/group_4.262.961976705' ) SIZE 200 M REUSE contents of Memory Script: { set newname for tempfile 1 to "+DATA"; set newname for tempfile 2 to "+DATA"; set newname for tempfile 3 to "+DATA"; set newname for tempfile 4 to "+DATA"; switch clone tempfile all; catalog clone datafilecopy "/u01/app/oracle/oradata/dupjy/sysaux.298.962209605", "/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605", "/u01/app/oracle/oradata/dupjy/sysaux.270.962209675", "/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675", "/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605", "/u01/app/oracle/oradata/dupjy/sysaux.316.962209649", "/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649", "/u01/app/oracle/oradata/dupjy/undo_2.268.962209649", "/u01/app/oracle/oradata/dupjy/users.278.962209649", "/u01/app/oracle/oradata/dupjy/test.275.962210609", "/u01/app/oracle/oradata/dupjy/sysaux.259.962469409", "/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409", "/u01/app/oracle/oradata/dupjy/undo_2.266.962469409", "/u01/app/oracle/oradata/dupjy/test.269.962469409"; switch clone datafile all; } executing Memory Script executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME renamed tempfile 1 to +DATA in control file renamed tempfile 2 to +DATA in control file renamed tempfile 3 to +DATA in control file renamed tempfile 4 to +DATA in control file cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605 RECID=1 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 RECID=2 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675 RECID=3 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 RECID=4 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 RECID=5 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649 RECID=6 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 RECID=7 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649 RECID=8 STAMP=966187585 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/users.278.962209649 RECID=9 STAMP=966187586 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/test.275.962210609 RECID=10 STAMP=966187586 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409 RECID=11 STAMP=966187586 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 RECID=12 STAMP=966187586 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409 RECID=13 STAMP=966187586 cataloged datafile copy datafile copy file name=/u01/app/oracle/oradata/dupjy/test.269.962469409 RECID=14 STAMP=966187586 datafile 3 switched to datafile copy input datafile copy RECID=1 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605 datafile 4 switched to datafile copy input datafile copy RECID=2 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 datafile 6 switched to datafile copy input datafile copy RECID=3 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675 datafile 8 switched to datafile copy input datafile copy RECID=4 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 datafile 9 switched to datafile copy input datafile copy RECID=5 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 datafile 11 switched to datafile copy input datafile copy RECID=6 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649 datafile 12 switched to datafile copy input datafile copy RECID=7 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 datafile 13 switched to datafile copy input datafile copy RECID=8 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649 datafile 14 switched to datafile copy input datafile copy RECID=9 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/users.278.962209649 datafile 15 switched to datafile copy input datafile copy RECID=10 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/test.275.962210609 datafile 17 switched to datafile copy input datafile copy RECID=11 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409 datafile 18 switched to datafile copy input datafile copy RECID=12 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 datafile 19 switched to datafile copy input datafile copy RECID=13 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409 datafile 21 switched to datafile copy input datafile copy RECID=14 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/test.269.962469409 contents of Memory Script: { Alter clone database open resetlogs; } executing Memory Script database opened contents of Memory Script: { sql clone "alter pluggable database all open"; } executing Memory Script sql statement: alter pluggable database all open Dropping offline and skipped tablespaces Executing: alter database default tablespace system Executing: drop tablespace "USERS" including contents cascade constraints Executing: alter database default tablespace system Executing: drop tablespace "USERS" including contents cascade constraints Finished Duplicate Db at 23-JAN-18
12.检查源数据库中的PDB(jypdb)是否被成功复制到目标数据库dupjy中
[oracle@shard1 dupjy]$ export ORACLE_SID=dupjy [oracle@shard1 dupjy]$ rman target/ Recovery Manager: Release 12.2.0.1.0 - Production on Tue Jan 23 17:34:24 2018 Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved. connected to target database: DUPJY (DBID=1349553641) RMAN> report schema; using target database control file instead of recovery catalog Report of database schema for database with db_unique_name DUPJY List of Permanent Datafiles =========================== File Size(MB) Tablespace RB segs Datafile Name ---- -------- -------------------- ------- ------------------------ 1 840 SYSTEM YES /u01/app/oracle/oradata/dupjy/system.317.962209603 3 2340 SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.298.962209605 4 1015 UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 5 250 PDB$SEED:SYSTEM NO /u01/app/oracle/oradata/dupjy/system.256.962209675 6 340 PDB$SEED:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.270.962209675 8 100 PDB$SEED:UNDOTBS1 NO /u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 9 1350 UNDOTBS2 YES /u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 10 270 JYPDB:SYSTEM YES /u01/app/oracle/oradata/dupjy/system.271.962209649 11 590 JYPDB:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.316.962209649 12 205 JYPDB:UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 13 310 JYPDB:UNDO_2 YES /u01/app/oracle/oradata/dupjy/undo_2.268.962209649 14 1267 JYPDB:USERS NO /u01/app/oracle/oradata/dupjy/users.278.962209649 15 100 JYPDB:TEST NO /u01/app/oracle/oradata/dupjy/test.275.962210609 16 260 TESTPDB:SYSTEM YES /u01/app/oracle/oradata/dupjy/system.260.962469409 17 550 TESTPDB:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.259.962469409 18 245 TESTPDB:UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 19 100 TESTPDB:UNDO_2 YES /u01/app/oracle/oradata/dupjy/undo_2.266.962469409 21 100 TESTPDB:TEST NO /u01/app/oracle/oradata/dupjy/test.269.962469409 List of Temporary Files ======================= File Size(MB) Tablespace Maxsize(MB) Tempfile Name ---- -------- -------------------- ----------- -------------------- 1 144 TEMP 32767 +DATA 2 64 PDB$SEED:TEMP 32767 +DATA 3 137 JYPDB:TEMP 32767 +DATA 4 135 TESTPDB:TEMP 32767 +DATA SQL> alter session set container=testpdb; Session altered. SQL> select count(*) from jy.t1; COUNT(*) ---------- 39 SQL> select table_name,tablespace_name from dba_tables where owner='JY'; TABLE_NAME TABLESPACE_NAME -------------------------------------------------------------------------------------------------------------------------------- ------------------------------ T1
从上面的输出结果可以看到,虽然只复制jypdb数据库与testpdb数据库中的test表空间,但其实还为了让testpdb的test表空间可以使用还是复制了testpdb中的system,sysaux,undo,temp表空间,到此复制RAC CDB数据库中PDB的表空间到单实例CDB数据库就操作完成。