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
Nothing is trivial at all;

浙公网安备 33010602011771号