Oracle 12C RMAN Duplicating Tablespaces Within a PDB
使用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数据库就操作完成。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341