Oracle 12C RMAN Duplicating Tablespaces Within a PDB
使用RMAN复制对CDB中的PDB的表空间操作如下
1.检查源RAC CDB(jy)的参数文件,数据文件,联机日志文件,控制文件,归档日志文件的存储目录
SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- --------------------------------------------spfile string +DATA/JY/PARAMETERFILE/spfile.303.961976713RMAN> report schema;Report of database schema for database with db_unique_name JYList of Permanent Datafiles===========================File Size(MB) Tablespace RB segs Datafile Name---- -------- -------------------- ------- ------------------------1 840 SYSTEM YES +DATA/JY/DATAFILE/system.317.9622096033 2340 SYSAUX NO +DATA/JY/DATAFILE/sysaux.298.9622096054 1015 UNDOTBS1 YES +DATA/JY/DATAFILE/undotbs1.277.9622096055 250 PDB$SEED:SYSTEM NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/system.256.9622096756 340 PDB$SEED:SYSAUX NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/sysaux.270.9622096757 5 USERS NO +DATA/JY/DATAFILE/users.301.9622096058 100 PDB$SEED:UNDOTBS1 NO +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/DATAFILE/undotbs1.296.9622096759 1350 UNDOTBS2 YES +DATA/JY/DATAFILE/undotbs2.312.96220960510 270 JYPDB:SYSTEM YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/system.271.96220964911 590 JYPDB:SYSAUX NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/sysaux.316.96220964912 205 JYPDB:UNDOTBS1 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undotbs1.264.96220964913 310 JYPDB:UNDO_2 YES +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/undo_2.268.96220964914 1267 JYPDB:USERS NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/users.278.96220964915 100 JYPDB:TEST NO +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/DATAFILE/test.275.96221060916 260 TESTPDB:SYSTEM YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/system.260.96246940917 550 TESTPDB:SYSAUX NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/sysaux.259.96246940918 245 TESTPDB:UNDOTBS1 YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undotbs1.265.96246940919 100 TESTPDB:UNDO_2 YES +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/undo_2.266.96246940920 5 TESTPDB:USERS NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/users.267.96246940921 100 TESTPDB:TEST NO +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/DATAFILE/test.269.962469409List of Temporary Files=======================File Size(MB) Tablespace Maxsize(MB) Tempfile Name---- -------- -------------------- ----------- --------------------1 144 TEMP 32767 +DATA/JY/TEMPFILE/temp.299.9619763392 64 PDB$SEED:TEMP 32767 +DATA/JY/5F9AA264B21F3ED9E053AB828A0A6088/TEMPFILE/temp.297.9622098653 137 JYPDB:TEMP 32767 +DATA/JY/5F9AC6865E87549FE053AB828A0ADE94/TEMPFILE/temp.276.9622105194 135 TESTPDB:TEMP 32767 +DATA/JY/600D6F56DEB669CCE053AB828A0AAB7E/TEMPFILE/temp.258.962469435SQL> show parameter control_filesNAME TYPE VALUE------------------------------------ ----------- -------------------------------------------control_files string +DATA/JY/CONTROLFILE/current.272.961976315SQL> 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.961976705SQL> archive log listDatabase log mode Archive ModeAutomatic archival EnabledArchive destination +TEST/archOldest online log sequence 127Next log sequence to archive 128Current log sequence 128
2.在目标主机上创建存储目标数据库(dupjy)相关数据库文件的目录,目标主机上的/u01/app/oracle/oradata/dupjy目录用来存储数据库的数据文件,控制文件,联机重做日志文件),/u01/app/oracle/arch/dupjy目录用来存储数据库的归档重做日志文件。
3.将源数据库的密码文件复制到目标主机的相应目录中并修改为目标数据库(dupjy)对应的文件名
[grid@jytest1 ~]$ srvctl config database -db jyDatabase unique name: jyDatabase name: jyOracle home: /u01/app/oracle/product/12.2.0/dbOracle user: oracleSpfile: +DATA/JY/PARAMETERFILE/spfile.303.961976713Password file: +DATA/JY/PASSWORD/pwdjy.274.961976109Domain:Start options: openStop options: immediateDatabase role: PRIMARYManagement policy: AUTOMATICServer pools:Disk Groups: DATAMount point paths:Services:Type: RACStart concurrency:Stop concurrency:OSDBA group: dbaOSOPER group: operDatabase instances: jy1,jy2Configured nodes: jytest1,jytest2CSS critical: noCPU count: 0Memory target: 0Maximum memory: 0Default network number for database services:Database is administrator managed[grid@jytest1 ~]$ asmcmd cp +DATA/JY/PASSWORD/pwdjy.274.961976109 /home/grid/pwddupjycopying +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)? yesWarning: 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=2147483648db_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 sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 19:06:00 2018Copyright (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 bytesFixed Size 8794848 bytesVariable Size 570428704 bytesDatabase Buffers 1560281088 bytesRedo Buffers 7979008 bytesSQL> create spfile from pfile='/u01/app/oracle/product/12.2.0/db/dbs/initdupjy.ora';File created.
5.使用spfile参数文件来启动目标数据库实例(辅助实例dupjy)
SQL> shutdown immediateORA-01507: database not mountedORACLE instance shut down.SQL> startup nomountORACLE instance started.Total System Global Area 2147483648 bytesFixed Size 8794848 bytesVariable Size 570428704 bytesDatabase Buffers 1560281088 bytesRedo Buffers 7979008 bytesSQL> show parameter spfileNAME 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 startLSNRCTL for Linux: Version 12.2.0.1.0 - Production on 18-JAN-2018 20:30:34Copyright (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 - ProductionSystem parameter file is /u01/app/oracle/product/12.2.0/db/network/admin/listener.oraLog messages written to /u01/app/oracle/diag/tnslsnr/shard1/listener/alert/log.xmlListening 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 LISTENERVersion TNSLSNR for Linux: Version 12.2.0.1.0 - ProductionStart Date 18-JAN-2018 20:30:34Uptime 0 days 0 hr. 0 min. 0 secTrace Level offSecurity ON: Local OS AuthenticationSNMP OFFListener Parameter File /u01/app/oracle/product/12.2.0/db/network/admin/listener.oraListener Log File /u01/app/oracle/diag/tnslsnr/shard1/listener/alert/log.xmlListening 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 /nologSQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 21:02:53 2018Copyright (c) 1982, 2016, Oracle. All rights reserved.SQL> conn / as sysdbaConnected.SQL> startup nomountORACLE instance started.Total System Global Area 2147483648 bytesFixed Size 8794848 bytesVariable Size 570428704 bytesDatabase Buffers 1560281088 bytesRedo Buffers 7979008 bytesSQL> exitDisconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production[oracle@shard1 admin]$ sqlplus /nologSQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 18 21:04:51 2018Copyright (c) 1982, 2016, Oracle. All rights reserved.SQL> conn sys/abcd@dupjy as sysdbaConnected.SQL> conn sys/abcd@jy as sysdbaConnected.
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 /nologSQL*Plus: Release 12.2.0.1.0 Production on Fri Jan 19 03:16:59 2018Copyright (c) 1982, 2016, Oracle. All rights reserved.SQL> conn sys/abcd@jy as sysdbaConnected.SQL> conn sys/abcd@dupjy as sysdbaConnected.
11.对PDB的表空间进行复制(将复制jypdb数据库与testpdb数据库中的test表空间(TESTPDB:TEST)
[oracle@jytest1 ~]$ rman target sys/abcd@jy catalog rco/abcd@jypdb_173 auxiliary sys/abcd@dupjyRecovery Manager: Release 12.2.0.1.0 - Production on Tue Jan 23 23:20:22 2018Copyright (c) 1982, 2017, Oracle and/or its affiliates. All rights reserved.connected to target database: JY (DBID=979425723)connected to recovery catalog databaseconnected 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-18allocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: SID=10 device type=DISKcurrent log archivedcontents 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 Scriptsql statement: alter system set db_name = ''JY'' comment= ''Modified by RMAN duplicate'' scope=spfilesql statement: alter system set db_unique_name = ''DUPJY'' comment= ''Modified by RMAN duplicate'' scope=spfileOracle instance shut downOracle instance startedTotal System Global Area 2147483648 bytesFixed Size 8794848 bytesVariable Size 1056967968 bytesDatabase Buffers 1073741824 bytesRedo Buffers 7979008 bytesStarting restore at 23-JAN-18allocated channel: ORA_AUX_DISK_1channel ORA_AUX_DISK_1: SID=2269 device type=DISKchannel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring control filechannel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:06output file name=/u01/app/oracle/oradata/dupjy/control01.ctlFinished restore at 23-JAN-18database mountedAutomatically adding tablespace SYSTEMAutomatically adding tablespace SYSAUXAutomatically adding tablespace PDB$SEED:SYSTEMAutomatically adding tablespace PDB$SEED:SYSAUXAutomatically adding tablespace TESTPDB:SYSTEMAutomatically adding tablespace TESTPDB:SYSAUXRMAN-05519: warning: tablespace TESTPDB:SYSTEM is always included when duplicatingAutomatically adding tablespace TESTPDB:UNDOTBS1Automatically adding tablespace UNDOTBS1Automatically adding tablespace TESTPDB:UNDO_2Automatically adding tablespace UNDOTBS2Checking that duplicated tablespaces are self-containedSkipping tablespace USERSSkipping tablespace TESTPDB:USERSRMAN-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 Scriptsql statement: alter database flashback offexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEStarting restore at 23-JAN-18using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/dupjy/system.317.962209603channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/dupjy/sysaux.298.962209605channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:36channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/dupjy/undotbs1.277.962209605channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/dupjy/system.256.962209675channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/dupjy/sysaux.270.962209675channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:36channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00008 to /u01/app/oracle/oradata/dupjy/undotbs1.296.962209675channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00009 to /u01/app/oracle/oradata/dupjy/undotbs2.312.962209605channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:26channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00010 to /u01/app/oracle/oradata/dupjy/system.271.962209649channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:15channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00011 to /u01/app/oracle/oradata/dupjy/sysaux.316.962209649channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00012 to /u01/app/oracle/oradata/dupjy/undotbs1.264.962209649channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00013 to /u01/app/oracle/oradata/dupjy/undo_2.268.962209649channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00014 to /u01/app/oracle/oradata/dupjy/users.278.962209649channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:26channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00015 to /u01/app/oracle/oradata/dupjy/test.275.962210609channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00016 to /u01/app/oracle/oradata/dupjy/system.260.962469409channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:16channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00017 to /u01/app/oracle/oradata/dupjy/sysaux.259.962469409channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:45channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00018 to /u01/app/oracle/oradata/dupjy/undotbs1.265.962469409channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:08channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00019 to /u01/app/oracle/oradata/dupjy/undo_2.266.962469409channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:03channel ORA_AUX_DISK_1: starting datafile backup set restorechannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup setchannel ORA_AUX_DISK_1: restoring datafile 00021 to /u01/app/oracle/oradata/dupjy/test.269.962469409channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04Finished restore at 23-JAN-18sql statement: alter system archive log currentcurrent log archivedcontents of Memory Script:{ restore clone force from service 'jy' using compressed backupset archivelog from scn 15749326; switch clone datafile all;}executing Memory ScriptStarting restore at 23-JAN-18using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting archived log restore to default destinationchannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring archived logarchived log thread=1 sequence=172channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:04channel ORA_AUX_DISK_1: starting archived log restore to default destinationchannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring archived logarchived log thread=1 sequence=173channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01channel ORA_AUX_DISK_1: starting archived log restore to default destinationchannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring archived logarchived log thread=2 sequence=150channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02channel ORA_AUX_DISK_1: starting archived log restore to default destinationchannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring archived logarchived log thread=2 sequence=151channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01channel ORA_AUX_DISK_1: starting archived log restore to default destinationchannel ORA_AUX_DISK_1: using compressed network backup set from service jychannel ORA_AUX_DISK_1: restoring archived logarchived log thread=2 sequence=152channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02Finished restore at 23-JAN-18datafile 1 switched to datafile copyinput datafile copy RECID=22 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/system.317.962209603datafile 3 switched to datafile copyinput datafile copy RECID=23 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605datafile 4 switched to datafile copyinput datafile copy RECID=24 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605datafile 5 switched to datafile copyinput datafile copy RECID=25 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/system.256.962209675datafile 6 switched to datafile copyinput datafile copy RECID=26 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675datafile 8 switched to datafile copyinput datafile copy RECID=27 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675datafile 9 switched to datafile copyinput datafile copy RECID=28 STAMP=966187520 file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605datafile 10 switched to datafile copyinput datafile copy RECID=29 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/system.271.962209649datafile 11 switched to datafile copyinput datafile copy RECID=30 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649datafile 12 switched to datafile copyinput datafile copy RECID=31 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649datafile 13 switched to datafile copyinput datafile copy RECID=32 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649datafile 14 switched to datafile copyinput datafile copy RECID=33 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/users.278.962209649datafile 15 switched to datafile copyinput datafile copy RECID=34 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/test.275.962210609datafile 16 switched to datafile copyinput datafile copy RECID=35 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/system.260.962469409datafile 17 switched to datafile copyinput datafile copy RECID=36 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409datafile 18 switched to datafile copyinput datafile copy RECID=37 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409datafile 19 switched to datafile copyinput datafile copy RECID=38 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409datafile 21 switched to datafile copyinput datafile copy RECID=39 STAMP=966187521 file name=/u01/app/oracle/oradata/dupjy/test.269.962469409contents of Memory Script:{ set until scn 15754741; recover clone database skip forever tablespace "USERS", "TESTPDB":"USERS" delete archivelog ;}executing Memory Scriptexecuting command: SET until clauseStarting recover at 23-JAN-18using channel ORA_AUX_DISK_1Executing: alter database datafile 7 offline dropExecuting: alter database datafile 20 offline dropstarting media recoveryarchived log for thread 1 with sequence 172 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/1_172_961976319.dbfarchived log for thread 1 with sequence 173 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/1_173_961976319.dbfarchived log for thread 2 with sequence 151 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/2_151_961976319.dbfarchived log for thread 2 with sequence 152 is already on disk as file /u01/app/oracle/oradata/arch_dupjy/2_152_961976319.dbfarchived log file name=/u01/app/oracle/oradata/arch_dupjy/1_172_961976319.dbf thread=1 sequence=172archived log file name=/u01/app/oracle/oradata/arch_dupjy/2_151_961976319.dbf thread=2 sequence=151archived log file name=/u01/app/oracle/oradata/arch_dupjy/1_173_961976319.dbf thread=1 sequence=173archived log file name=/u01/app/oracle/oradata/arch_dupjy/2_152_961976319.dbf thread=2 sequence=152media recovery complete, elapsed time: 00:00:09Finished recover at 23-JAN-18Oracle instance startedTotal System Global Area 2147483648 bytesFixed Size 8794848 bytesVariable Size 1056967968 bytesDatabase Buffers 1073741824 bytesRedo Buffers 7979008 bytescontents 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 Scriptsql statement: alter system set db_name = ''DUPJY'' comment= ''Reset to original value by RMAN'' scope=spfilestarting full resync of recovery catalogfull resync completesql statement: alter system reset db_unique_name scope=spfileOracle instance startedTotal System Global Area 2147483648 bytesFixed Size 8794848 bytesVariable Size 1056967968 bytesDatabase Buffers 1073741824 bytesRedo Buffers 7979008 bytessql 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 ZHS16GBKsql 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 REUSEcontents 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 Scriptexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMErenamed tempfile 1 to +DATA in control filerenamed tempfile 2 to +DATA in control filerenamed tempfile 3 to +DATA in control filerenamed tempfile 4 to +DATA in control filecataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605 RECID=1 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605 RECID=2 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675 RECID=3 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675 RECID=4 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605 RECID=5 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649 RECID=6 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649 RECID=7 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649 RECID=8 STAMP=966187585cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/users.278.962209649 RECID=9 STAMP=966187586cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/test.275.962210609 RECID=10 STAMP=966187586cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409 RECID=11 STAMP=966187586cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409 RECID=12 STAMP=966187586cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409 RECID=13 STAMP=966187586cataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/dupjy/test.269.962469409 RECID=14 STAMP=966187586datafile 3 switched to datafile copyinput datafile copy RECID=1 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.298.962209605datafile 4 switched to datafile copyinput datafile copy RECID=2 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.277.962209605datafile 6 switched to datafile copyinput datafile copy RECID=3 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.270.962209675datafile 8 switched to datafile copyinput datafile copy RECID=4 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.296.962209675datafile 9 switched to datafile copyinput datafile copy RECID=5 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs2.312.962209605datafile 11 switched to datafile copyinput datafile copy RECID=6 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/sysaux.316.962209649datafile 12 switched to datafile copyinput datafile copy RECID=7 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undotbs1.264.962209649datafile 13 switched to datafile copyinput datafile copy RECID=8 STAMP=966187585 file name=/u01/app/oracle/oradata/dupjy/undo_2.268.962209649datafile 14 switched to datafile copyinput datafile copy RECID=9 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/users.278.962209649datafile 15 switched to datafile copyinput datafile copy RECID=10 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/test.275.962210609datafile 17 switched to datafile copyinput datafile copy RECID=11 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/sysaux.259.962469409datafile 18 switched to datafile copyinput datafile copy RECID=12 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/undotbs1.265.962469409datafile 19 switched to datafile copyinput datafile copy RECID=13 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/undo_2.266.962469409datafile 21 switched to datafile copyinput datafile copy RECID=14 STAMP=966187586 file name=/u01/app/oracle/oradata/dupjy/test.269.962469409contents of Memory Script:{ Alter clone database open resetlogs;}executing Memory Scriptdatabase openedcontents of Memory Script:{ sql clone "alter pluggable database all open";}executing Memory Scriptsql statement: alter pluggable database all openDropping offline and skipped tablespacesExecuting: alter database default tablespace systemExecuting: drop tablespace "USERS" including contents cascade constraintsExecuting: alter database default tablespace systemExecuting: drop tablespace "USERS" including contents cascade constraintsFinished 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 2018Copyright (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 catalogReport of database schema for database with db_unique_name DUPJYList of Permanent Datafiles===========================File Size(MB) Tablespace RB segs Datafile Name---- -------- -------------------- ------- ------------------------1 840 SYSTEM YES /u01/app/oracle/oradata/dupjy/system.317.9622096033 2340 SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.298.9622096054 1015 UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.277.9622096055 250 PDB$SEED:SYSTEM NO /u01/app/oracle/oradata/dupjy/system.256.9622096756 340 PDB$SEED:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.270.9622096758 100 PDB$SEED:UNDOTBS1 NO /u01/app/oracle/oradata/dupjy/undotbs1.296.9622096759 1350 UNDOTBS2 YES /u01/app/oracle/oradata/dupjy/undotbs2.312.96220960510 270 JYPDB:SYSTEM YES /u01/app/oracle/oradata/dupjy/system.271.96220964911 590 JYPDB:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.316.96220964912 205 JYPDB:UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.264.96220964913 310 JYPDB:UNDO_2 YES /u01/app/oracle/oradata/dupjy/undo_2.268.96220964914 1267 JYPDB:USERS NO /u01/app/oracle/oradata/dupjy/users.278.96220964915 100 JYPDB:TEST NO /u01/app/oracle/oradata/dupjy/test.275.96221060916 260 TESTPDB:SYSTEM YES /u01/app/oracle/oradata/dupjy/system.260.96246940917 550 TESTPDB:SYSAUX NO /u01/app/oracle/oradata/dupjy/sysaux.259.96246940918 245 TESTPDB:UNDOTBS1 YES /u01/app/oracle/oradata/dupjy/undotbs1.265.96246940919 100 TESTPDB:UNDO_2 YES /u01/app/oracle/oradata/dupjy/undo_2.266.96246940921 100 TESTPDB:TEST NO /u01/app/oracle/oradata/dupjy/test.269.962469409List of Temporary Files=======================File Size(MB) Tablespace Maxsize(MB) Tempfile Name---- -------- -------------------- ----------- --------------------1 144 TEMP 32767 +DATA2 64 PDB$SEED:TEMP 32767 +DATA3 137 JYPDB:TEMP 32767 +DATA4 135 TESTPDB:TEMP 32767 +DATASQL> alter session set container=testpdb;Session altered.SQL> select count(*) from jy.t1; COUNT(*)---------- 39SQL> 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数据库就操作完成。