将Non-CDB插入到CDB中成为一个PDB输出的Alert 日志。
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 READ WRITE NO
4 WOO_ORA11G MOUNTED
SQL> select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4107385256 PDB$SEED READ ONLY
3 3926295770 PDB01 READ WRITE
4 4199532651 WOO_ORA11G MOUNTED
第一次no-cdb plug cdb是mount状态,需要将其open;
SQL> alter pluggable database open;
Pluggable database altered.
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
4 WOO_ORA11G READ WRITE YES
?
插入完成之后需要执行noncdb_to_pdb脚本,修复原non-cdb 和新的pdb不兼容的问题:
十、执行noncdb_pdb脚本
SQL> alter session set container=WOO_ORA11G;
Session altered.
SQL> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
………
#### 遇到warning,脚本会自动忽略错误,继续执行。在最后脚本编译的时候会修复这些问题。
更新完之后需要同步pdb信息
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
4 WOO_ORA11G MOUNTED
SQL> alter pluggable database open restricted;
Pluggable database altered.
SQL> show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
4 WOO_ORA11G READ WRITE YES
SQL> exec dbms_pdb.sync_pdb();
PL/SQL procedure successfully completed.
SQL> alter pluggable database close immediate;
Pluggable database altered.
SQL> alter pluggable database open;
Pluggable database altered.
十一、至此no-cdb plug to cdb 成功
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 PDB01 MOUNTED
4 WOO_ORA11G READ WRITE NO
SQL>