Oracle 12 c CDB以外のデータベースをCDBテストに切り替える


リファレンスhttps://www.cndba.cn/dave/article/232
データベースを11 gから12 cにアップグレードしたり、12 cで作成したりしたものがNON CDBであれば、このようなデータベースは通常の単一インスタンスであり、12 c以前のデータベースと変わらないが、12 cの特徴はCDB管理であるため、12 cに行く以上CDBに切り替えて管理する.そこで、次のテストステップは、NON CDBをCDBに切り替えるステップです. 
1.現在の環境の説明
現在、データベースにはogg 6とtestの2つのインスタンスが起動されています.
SQL> select name,cdb,open_mode from v$database;
NAME      CDB OPEN_MODE --------- --- -------------------- OGG6      NO  READ ONLY
 
SQL> select name,cdb,open_mode from v$database;
NAME      CDB OPEN_MODE --------- --- -------------------- TEST      YES READ WRITE  
2.ogg 2ライブラリでxmlファイルを作成する
SQL> begin   2  dbms_pdb.describe(pdb_descr_file => '/tmp/test.xml');   3  end;   4  /
PL/SQL procedure successfully completed.
3.ogg 6データベースを閉じる
SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down.
4.CDBに接続してPDBを作成し、testでogg 6のdbidを検索できます.
[oracle@ogg6 oracle]$ export ORACLE_SID=test [oracle@ogg6 oracle]$ sqlplus/as sysdba
SQL*Plus: Release 12.1.0.2.0 Production on Sat Sep 22 03:57:36 2018
Copyright (c) 1982, 2014, Oracle.  All rights reserved.
Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options
SQL> select name,cdb,open_mode from v$database;
NAME      CDB OPEN_MODE --------- --- -------------------- TEST      YES READ WRITE
SQL>  SQL> select con_id,dbid,name,open_mode from v$pdbs;
    CON_ID     DBID NAME                 OPEN_MODE ---------- ---------- ------------------------------ ----------      2  321802671 PDB$SEED                 READ ONLY
 
testデータベースのogg 6を作成するデータファイルディレクトリ
/u01/app/oracle/oradata/test/ogg6
 
SQL>CREATE PLUGGABLE DATABASE ogg6 USING '/tmp/test.xml' COPY FILE_NAME_CONVERT = ('/u01/app/oracle/oradata12c/OGG6', '/u01/app/oracle/oradata/test/ogg6'); 
Pluggable database created.

データファイルのコピーに成功しました
/u01/app/oracle/oradata/test/ogg6 [oracle@ogg6 ogg6]$ ll total 1838168 -rw-r----- 1 oracle oinstall 912269312 Sep 22 04:56 sysaux01.dbf -rw-r----- 1 oracle oinstall 964698112 Sep 22 05:00 system01.dbf -rw-r----- 1 oracle oinstall 524296192 Sep 22 04:51 temp01.dbf -rw-r----- 1 oracle oinstall   5251072 Sep 22 04:56 users01.dbf
2.5 PDBに切り替えてスクリプトを実行
 
SQL> show pdbs

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     1 PDB$SEED              READ ONLY  NO
     2 OGG6              MOUNTED
SQL>

SQL> alter session set container=OGG6;
Session altered.

--    :
sql> @$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql
…..  …..
….. 30  …..

SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED ---------- ------------------------------ ---------- ----------          3 OGG6                           MOUNTED SQL>  SQL> show con_name;
CON_NAME ------------------------------ OGG6 SQL>  SQL> alter pluggable database ogg6 open;
Pluggable database altered.
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED ---------- ------------------------------ ---------- ----------          3 OGG6                           READ WRITE NO SQL>  SQL> select name,open_mode from v$pdbs;
NAME                           OPEN_MODE ------------------------------ ---------- OGG6                           READ WRITE
1 row selected.