19C(12.2.0.3):バージョンに基づいて AskScuti
作成方法:(PDBからのリモート複製で非流動CDB遠隔クローン)。CDB2 ERP1リモートクローニングCDB1にPDB6
対応するパス:PDB Aの作成- Aから> PDB - >クローニング- > RemotelyAnywhereをします
PDBデータベースCDB内のコンテナを作成する方法、公式文書はPDB技術的な図面を作成するためのオプションを提供し、次のように、画像です:
コンテンツの概要
1.概要
2.読み取り専用ソースPDB
3.編集TNSNAMES.ORA
4. DBLINKを作成します。
5.リモートPDBクローニング
6.オープンPDB6
1.概要
リモートPDBをクローニングすることを意味する:ことによって、現在のCDB内にクローン化されていないソースPDB のDBLINKの方法クローニング。
全体のプロセスは次のとおりです。
1)PDBソースは読み取り専用モードに設定されています
2)接続CDBは、DBLINKを作成します
3)リモートクローンPDB
PDBを開く4)読み書きモード
2.読み取り専用ソースPDB
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ERP1 READ WRITE NO 4 ERP2 READ WRITE NO
SQL> alter pluggable database erp1 close immediate; Pluggable database altered. SQL> alter pluggable database erp1 open read only; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ERP1 READ ONLY NO 4 ERP2 READ WRITE NO
3. 编辑TNSNAMES.ora
ERP1 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.14)(PORT = 1521)) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ERP1) ) )
4. 创建DBLINK
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED 5 PDB3 MOUNTED 6 PDB4 MOUNTED 7 PDB5 MOUNTED SQL> create database link henry connect to system identified by oracle using 'ERP1'; Database link created.
5. 远程克隆PDB
SQL> create pluggable database pdb6 from erp1@henry create_file_dest='/u01/app/oracle/oradata/CDB1/pdb6'; Pluggable database created. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED 5 PDB3 MOUNTED 6 PDB4 MOUNTED 7 PDB5 MOUNTED 8 PDB6 MOUNTED
如果报错如下:
SQL> create pluggable database pdb6 from erp1@henry create_file_dest='/u01/app/oracle/oradata/CDB1/pdb6'; create pluggable database pdb6 from erp1@henry create_file_dest='/u01/app/oracle/oradata/CDB1/pdb6' * ERROR at line 1: ORA-17628: Oracle error 1031 returned by remote Oracle server ORA-01031: insufficient privileges
到源数据库里面针对ERP1数据库,授权SYSTEM用户 create pluggable database 权限即可。
SQL> alter session set container=erp1; SQL> grant create pluggable database to system; SQL> select * from dba_sys_privs where GRANTEE='SYSTEM'; GRANTE PRIVILEGE ADM COM INH ------ --------------------------- --- --- --- SYSTEM CREATE PLUGGABLE DATABASE NO NO NO SYSTEM GLOBAL QUERY REWRITE NO YES YES SYSTEM CREATE TABLE NO YES YES SYSTEM DEQUEUE ANY QUEUE YES YES YES SYSTEM ENQUEUE ANY QUEUE YES YES YES SYSTEM SELECT ANY TABLE NO YES YES SYSTEM MANAGE ANY QUEUE YES YES YES SYSTEM UNLIMITED TABLESPACE NO YES YES SYSTEM CREATE MATERIALIZED VIEW NO YES YES
6. 打开PDB6
SQL> alter pluggable database pdb6 open; Pluggable database altered. SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- --------- ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDB1 MOUNTED 4 PDB2 MOUNTED 5 PDB3 MOUNTED 6 PDB4 MOUNTED 7 PDB5 MOUNTED 8 PDB6 READ WRITE NO