1つの解説
管理者は現在、唯一のデータモデル定義と、プラグイン可能なデータベースのクローンを作成することができます。ソース内の辞書データをそのままコピーされるが、ソースからのすべてのユーザーが作成したテーブルとインデックスデータは破棄されます。
一方、当初から12.1.0.2には、クローンPDBソースは、あなたは、データ・ディクショナリのデータソースPDBのは、唯一、この機能を使用してコピーすることができ、ユーザが作成したテーブルとインデックスのデータを無視します
で指定することができるプラグ接続DATABASE文のCREATE NO DATAデータ・オブジェクトを除外することを。これは非常に高速なPDBを作成します。
注意:
-
この機能を使用すると、CREATE DATABASEプラグ接続を使用する必要があります... FROMステートメント。
-
ユーザーが両方のテーブルスペースにオブジェクトを作成する場合、この機能は、SYSTEM、SYSAUXは、これらのオブジェクトは、データを含むクローンの満ちている、有効になりません。
この特性を使用する場合は、PDBソーステーブルには、次のタイプを含めることができます。
-
アドバンスト・キュー(AQ)の表
-
クラスタ化表
-
表クラスタ
実験2
2.1現在のPDBを見ます
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 LEI1 READ WRITE YES
2.2ソース・データベースPDB試験データを作成します
SQL> conn lei/lei@lei1;
Connected.
SQL> create table test_t(id number,name varchar2(50)) tablespace cndba;
Table created.
SQL> insert into test_t values(1,'sihong');
1 row created.
SQL> commit;
Commit complete.
LEI1 SIHONGの2.3クローニング
SQL> CREATE PLUGGABLE DATABASE sihong FROM lei1
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/orcl/lei1/','/u01/app/oracle/oradata/orcl/sihong/',
'/u01/app/oracle/oradata/orcl/lei1/o1_mf_cndba_dr8kfogo_.dbf','/u01/app/oracle/oradata/orcl/sihong/cndba01.dbf',
'/u01/app/oracle/product/11.2.0.4/db_1/dbs/file','/u01/app/oracle/oradata/orcl/sihong/file') NO DATA; 2 3 4
Pluggable database created.
備考:
中には参考のために、何かを間違って作成します。
- 次のように与えられた別のディレクトリに一時テーブルのデータファイル内のスペース、:
SQL> CREATE PLUGGABLE DATABASE sihong FROM lei1
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/orcl/lei1/', '/u01/app/oracle/oradata/orcl/sihong/') NO DATA; 2
CREATE PLUGGABLE DATABASE sihong FROM lei1
*
ERROR at line 1:
ORA-65005: missing or invalid file name pattern for file -
/u01/app/oracle/product/11.2.0.4/db_1/dbs/file
回避策:手動でファイル名を指定します
'/u01/app/oracle/product/11.2.0.4/db_1/dbs/file','/u01/app/oracle/oradata/orcl/sihong/file'
- OMFファイル管理データ
SQL> CREATE PLUGGABLE DATABASE sihong FROM lei1
FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/orcl/lei1/','/u01/app/oracle/oradata/orcl/sihong/',
'/u01/app/oracle/product/11.2.0.4/db_1/dbs/file','/u01/app/oracle/oradata/orcl/sihong/file') NO DATA; 2 3
CREATE PLUGGABLE DATABASE sihong FROM lei1
*
ERROR at line 1:
ORA-01276: Cannot add file
/u01/app/oracle/oradata/orcl/sihong/o1_mf_cndba_dr8kfogo_.dbf. File has an
Oracle Managed Files file name.
SQL> !oerr ora 01276
01276, 00000, "Cannot add file %s. File has an Oracle Managed Files file name."
// *Cause: An attempt was made to add to the database a datafile, log file,
// control file, snapshot control file, backup control file,
// datafile copy, control file copy or backuppiece with an Oracle
// Managed Files file name.
// *Action: Retry the operation with a new file name.
ソリューション:
'/u01/app/oracle/oradata/orcl/lei1/o1_mf_cndba_dr8kfogo_.dbf','/u01/app/oracle/oradata/orcl/sihong/cndba01.dbf'
2.4認証データ
SQL> alter session set container=sihong;
Session altered.
- データは、クローニング上ではありません
SQL> select * from lei.test_t;
no rows selected
参照文献:http://docs.oracle.com/database/121/SQLRF/statements_6010.htm#SQLRF57032