以下の内容はhttps://htn20190109.hatenablog.com/entry/2025/01/02/135643より取得しました。


{2 マルチテナント}PDBを作成

https://docs.oracle.com/cd/F19136_01/multi/creating-a-pdb-from-scratch.html#GUID-BCC15DB0-FC09-4D1A-90ED-B6DB7A2A78AE
https://docs.oracle.com/cd/F19136_01/multi/cloning-a-pdb.html#GUID-1251F297-D839-4F46-9038-9E89AFBE5CA5
https://docs.oracle.com/cd/F19136_01/multi/plugging-in-a-pdb.html#GUID-5CFC53B9-C457-460A-92A5-DAFDC472F458
https://docs.oracle.com/cd/F19136_01/multi/relocating-a-pdb.html#GUID-6A85B92C-0AE6-4737-BDBD-EA8256C09E55

https://docs.oracle.com/cd/F19136_01/multi/plugging-in-a-pdb.html#GUID-EE58804F-A999-4F7C-93DE-D641B3C1047B

show con_name
show pdbs
select * from V$PDBS;
select * from cdb_pdbs;


     シードPDBから作成          (orcl:pdb11)

CREATE PLUGGABLE DATABASE pdb11 ADMIN USER pdbadm IDENTIFIED BY oracle
FILE_NAME_CONVERT= ('/oradata/orcl/pdbseed/', '/oradata/orcl/pdb11/');


     シードPDBから作成          (PROD1:pdb21,pdb22,pdb23)

CREATE PLUGGABLE DATABASE pdb21 ADMIN USER pdbadm IDENTIFIED BY oracle;
CREATE PLUGGABLE DATABASE pdb22 ADMIN USER pdbadm IDENTIFIED BY oracle;
CREATE PLUGGABLE DATABASE pdb23 ADMIN USER pdbadm IDENTIFIED BY oracle;


alter pluggable database all open;
alter pluggable database all save state;


     ローカルPDBのコールドクローニング  (orcl:pdb11 → orcl:pdb12)

CDBはローカルUNDOモードでない場合、ソースPDBは読取り専用オープン・モードである必要があります。
CDBがARCHIVELOGモードでない場合、ソースPDBは読取り専用オープン・モードである必要があります。

archive log list

SELECT PROPERTY_NAME, PROPERTY_VALUE
FROM   DATABASE_PROPERTIES
WHERE  PROPERTY_NAME = 'LOCAL_UNDO_ENABLED';

alter pluggable database pdb11 close;
alter pluggable database pdb11 open read only;
show pdbs;

alter session set PDB_FILE_NAME_CONVERT='/oradata/orcl/pdb11/', '/oradata/orcl/pdb12/';
CREATE PLUGGABLE DATABASE pdb12 FROM pdb11;

※CDBが共有UNDOモード、非ARCHIVELOGモード、ソースPDBがread writeの場合はエラー発生(ORA-65035: PDB11からプラガブル・データベースを作成できません)
※CDBが共有UNDOモード、ARCHIVELOGモード、ソースPDBがread writeの場合はエラー発生(ORA-65035: PDB11からプラガブル・データベースを作成できません)

 

※作成した直後で一度もオープンしていないPDBをソースとしてクローニングしようとすると以下のエラーとなる
ORA-65036: プラガブル・データベースPDB11は必要なモードでオープンされていません

 

     ローカルPDBのホットクローニング  (orcl:pdb11 → orcl:pdb13)

alter pluggable database pdb11 close;
alter pluggable database pdb11 open read write;
show pdbs;

alter session set PDB_FILE_NAME_CONVERT='/oradata/orcl/pdb11/', '/oradata/orcl/pdb13/';
CREATE PLUGGABLE DATABASE pdb13 FROM pdb11;


     リモートPDBのクローニング  (PROD1:pdb21 → orcl:pdb14)

cdh
cd network/admin


create database link PROD1 connect to system identified by oracle using 'PROD1';

mkdir -p /oradata/orcl/pdb14
alter session set DB_CREATE_FILE_DEST='/oradata/orcl/pdb14';

CREATE PLUGGABLE DATABASE pdb14 FROM pdb21@PROD1;


※下記エラー発生
行1でエラーが発生しました。:
ORA-17628: Oracleエラー1031がリモートOracleサーバーから返されました ORA-01031:
権限が不足しています
→ ソースPDBで下記実行してエラー解消
grant create pluggable database to system container=all;

 

 

     リモート非CDBのクローニング  (PROD2 → orcl:pdb15)


-- PROD2で実行
grant create pluggable database to system;


-- orclで実行

create database link PROD2 connect to system identified by oracle using 'PROD2';

select * from v$instance@PROD2;


CREATE PLUGGABLE DATABASE pdb15 FROM PROD2@PROD2
  FILE_NAME_CONVERT = ('/oradata/PROD2/', '/oradata/orcl/pdb15/');


alter session set container=pdb15;

@?/rdbms/admin/noncdb_to_pdb.sql


conn / as sysdba
show pdbs;


     切断したPDBxmlベースで接続          (PROD1:pdb21 → orcl:pdb16)

-- PROD1で実行
show pdbs
alter pluggable database pdb21 close immediate;

ALTER PLUGGABLE DATABASE pdb21 UNPLUG INTO '/oradata/PROD1/pdb21.xml';

-- orclで実行

mkdir -p /oradata/orcl/pdb16
alter session set DB_CREATE_FILE_DEST='/oradata/orcl/pdb16';

CREATE PLUGGABLE DATABASE pdb16 USING '/oradata/PROD1/pdb21.xml
  COPY ;

show pdbs


     切断したPDBPDBアーカイブベースで接続          (PROD1:pdb22 → orcl:pdb17)

-- PROD1で実行
show pdbs
alter pluggable database pdb22 close immediate;

ALTER PLUGGABLE DATABASE pdb22 UNPLUG INTO '/oradata/PROD1/pdb22.pdb';

-- orclで実行

mkdir -p /oradata/orcl/pdb17
alter session set DB_CREATE_FILE_DEST='/oradata/orcl/pdb17';

CREATE PLUGGABLE DATABASE pdb17 USING '/oradata/PROD1/pdb22.pdb
  COPY ;

show pdbs

     PDBの再配置          (PROD1:pdb23 → orcl:pdb18)

-- PROD1で実行
grant create pluggable database to system container=all;
grant sysoper to system container=all;

archive log list

SELECT PROPERTY_NAME, PROPERTY_VALUE
FROM   DATABASE_PROPERTIES
WHERE  PROPERTY_NAME = 'LOCAL_UNDO_ENABLED';

 

-- orclで実行

mkdir -p /oradata/orcl/pdb18
alter session set DB_CREATE_FILE_DEST='/oradata/orcl/pdb18';

CREATE PLUGGABLE DATABASE pdb18 FROM pdb23@PROD1 RELOCATE;

show pdbs

alter pluggable database all open;
alter pluggable database all save state;
show pdbs;

 

     非CDBをPDBとして接続          (PROD2 → orcl:pdb91)


PROD2

sql
shutdown immediate;
startup open read only;


BEGIN
  DBMS_PDB.DESCRIBE(
    pdb_descr_file => '/home/oracle/PROD2.xml');
END;
/


orcl

SET SERVEROUTPUT ON
DECLARE
  compatible CONSTANT VARCHAR2(3) := 
    CASE DBMS_PDB.CHECK_PLUG_COMPATIBILITY(
           pdb_descr_file => '/home/oracle/PROD2.xml',
           pdb_name       => 'PROD2')
    WHEN TRUE THEN 'YES'
    ELSE 'NO'
END;
BEGIN
  DBMS_OUTPUT.PUT_LINE(compatible);
END;
/

PROD2
shutdown immediate;

orcl

CREATE PLUGGABLE DATABASE pdb91 USING '/home/oracle/PROD2.xml'
  COPY
  FILE_NAME_CONVERT = ('/oradata/PROD2/', '/oradata/orcl/PROD2/')
;

alter session set container=pdb91;
@$ORACLE_HOME/rdbms/admin/noncdb_to_pdb.sql


alter pluggable database pdb91 open;

 

 




以上の内容はhttps://htn20190109.hatenablog.com/entry/2025/01/02/135643より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14