pdb的插拔测试

pdb的插拔测试:将pdb从一个cdb中,插拔到另一个cdb中。

源端pdb unplug

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
test19c1

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 ORAPDB READ WRITE NO
4 PDB2 MOUNTED
SQL> alter session set container=ORAPDB;

Session altered.

SQL> col TABLESPACE_NAME for a20
SQL> col FILE_NAME for a120
SQL> select TABLESPACE_NAME,FILE_NAME from dba_data_files;

TABLESPACE_NAME FILE_NAME
-------------------- ------------------------------------------------------------------------------------------------------------------------
SYSTEM /u01/app/oracle/oradata/TEST19C1/orapdb/system01.dbf
SYSAUX /u01/app/oracle/oradata/TEST19C1/orapdb/sysaux01.dbf
UNDOTBS1 /u01/app/oracle/oradata/TEST19C1/orapdb/undotbs01.dbf
USERS /u01/app/oracle/oradata/TEST19C1/orapdb/users01.dbf
TBS_DBA /u01/app/oracle/oradata/TEST19C1/TBS_DBA_5.dbf

SQL> select TABLESPACE_NAME,FILE_NAME from dba_temp_files;

TABLESPACE_NAME FILE_NAME
-------------------- ------------------------------------------------------------------------------------------------------------------------
TEMP /u01/app/oracle/oradata/TEST19C1/orapdb/temp01.dbf

SQL> alter session set container=CDB$ROOT;

Session altered.

SQL> alter pluggable database ORAPDB close immediate;

Pluggable database altered.

SQL> alter pluggable database ORAPDB unplug into '/home/oracle/ORAPDB.xml';

Pluggable database altered.

SQL> drop pluggable database ORAPDB keep datafiles;

Pluggable database dropped.

 

目标端cdb:create pluggable

SQL> select instance_name from v$instance;

INSTANCE_NAME
----------------
test19cnew

set serveroutput on
DECLARE
compatible BOOLEAN := FALSE;
BEGIN
compatible := DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
pdb_descr_file => '/home/oracle/ORAPDB.xml');
if compatible then
DBMS_OUTPUT.PUT_LINE('Is pluggable ORAPDB compatible? YES');
else DBMS_OUTPUT.PUT_LINE('Is pluggable ORAPDB compatible? NO');
end if;
END;
/
Is pluggable ORAPDB compatible? YES

PL/SQL procedure successfully completed.

SQL> create pluggable database ORAPDB using '/home/oracle/ORAPDB.xml' NOCOPY;

col NAME for a10
select CON_ID,NAME,OPEN_MODE from v$pdbs;

CON_ID NAME OPEN_MODE
---------- ------------------------ ----------
2 PDB$SEED READ ONLY
3 ORAPDB MOUNTED
4 PDB2 MOUNTED
SQL> alter pluggable database ORAPDB open;
SQL> alter session set container=ORAPDB;
SQL> conn xx/XX@ORAPDB
Connected.
SQL> select FILE_NAME from dba_data_files;

FILE_NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/TEST19CNEW/orapdb/system01.dbf
/u01/app/oracle/oradata/TEST19CNEW/orapdb/sysaux01.dbf
/u01/app/oracle/oradata/TEST19CNEW/orapdb/undotbs01.dbf
/u01/app/oracle/oradata/TEST19CNEW/orapdb/users01.dbf
/u01/app/oracle/oradata/TEST19CNEW/TBS_DBA_5.dbf

SQL> !ls -lrt /u01/app/oracle/oradata/TEST19CNEW/orapdb/system01.dbf
ls: cannot access /u01/app/oracle/oradata/TEST19CNEW/orapdb/system01.dbf: No such file or directory

SQL>
SQL>
SQL> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
cd [oracle@swarm5 ~]$ cd /u01/app/oracle/oradata
[oracle@swarm5 oradata]$ ls -lrt
total 4
drwxr-x--- 5 oracle oinstall 4096 Mar 3 14:24 TEST19C1
[oracle@swarm5 oradata]$ cd TEST19C1
[oracle@swarm5 TEST19C1]$ ls -lrt
total 2849576
drwxr-x--- 2 oracle oinstall 4096 Jun 5 2020 pdbseed
drwxr-xr-x 3 oracle oinstall 4096 Mar 2 16:57 pdb2
drwxr-x--- 2 oracle oinstall 4096 Mar 3 14:24 orapdb
-rw-r----- 1 oracle oinstall 59777024 Mar 4 02:00 temp01.dbf
-rw-r----- 1 oracle oinstall 52429312 Mar 4 04:15 redo03.log
-rw-r----- 1 oracle oinstall 52429312 Mar 4 08:15 redo01.log
-rw-r----- 1 oracle oinstall 5251072 Mar 4 08:20 users01.dbf
-rw-r----- 1 oracle oinstall 985669632 Mar 4 10:20 system01.dbf
-rw-r----- 1 oracle oinstall 1331699712 Mar 4 10:30 sysaux01.dbf
-rw-r----- 1 oracle oinstall 340795392 Mar 4 10:30 undotbs01.dbf
-rw-r----- 1 oracle oinstall 52429312 Mar 4 10:32 redo02.log
-rw-r----- 1 oracle oinstall 18726912 Mar 4 10:32 control02.ctl
-rw-r----- 1 oracle oinstall 18726912 Mar 4 10:32 control01.ctl

 

注:清理原来的cdb环境:如果没有文件转换(NOCOPY),清理环境,会将整个目录清理。

参考命令:

dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname test19c2 -responseFile NO_VALUE -characterSet AL32UTF8 -sysPassword u01 -systemPassword u01 -createAsContainerDatabase true -numberOfPDBs 1 -pdbName pdbnew1 -pdbAdminPassword Oracle19c -databaseType MULTIPURPOSE -automaticMemoryManagement false -totalMemory 1024 -redoLogFileSize 50 -emConfiguration NONE -ignorePreReqs
dbca -silent -deleteInstance test19cnew -sysPassword u01 -systemPassword u01

 

posted @ 2021-06-15 18:04  AnneZhou  阅读(335)  评论(0)    收藏  举报