Oracle 12 c CDB以外のデータベースをCDBテストに切り替える
3649 ワード
リファレンス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');
データファイルのコピーに成功しました
/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 ---------- ------------------------------ ---------- ---------- 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.
データベースを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.