12c多租戶管理六(克隆remote機器下的pdb創建本地pdb)

克隆remote機器下的pdb創建本地pdb


目錄結構

一、說明

二、創建準備

三、克隆遠程pdb


一、說明

   1、在遠程源pdb中創建數據庫本地用戶,或者使用已存在的有管理員權限的用戶。

   2、在準備新創建 pdb 的cdb 中創建一個指向遠程pdb鏈接

   3、可以通過公共用戶,也可以通過pdb中的普通用戶

   4、數據庫鏈接可以連接到cdb的根容器,也可以直接鏈接到pdb容器。

   5、數據庫連接用戶必須具有create pluggable database系統權限和sysoper管理員權限


   

二、創建準備


1、pdb信息

    遠程信息 主機 192.168.5.41 端口1521  cdb:youcdb pdb:youpdb

         pdb數據文件路徑    /opt/oracle/oradata/youcdb/youpdb/

  

本地信息 主機 192.168.5.40 端口1521  cdb: mycdb  待新建pdb名字爲mypdb4

             pdb數據文件存放路徑 /opt/oracle/oradata/mycdb/mypdb3/


1、在遠程源cdb中創建公共用戶


create user c##useradmin identified by Passw0rd;

grant  CREATE PLUGGABLE DATABASE to c##useradmin container=all;

grant connect,resource,dba,sysoper to c##useradmin container=all;


2、在遷移的pdb中查詢是否存在創建的公共用戶


SQL> select * from (select con_id,username from cdb_users where con_id=(select con_id from v$pdbs where name='YOUPDB')) where username='C##USERADMIN';


    CON_ID USERNAME

---------- ------------------------------

3 C##USERADMIN

 

SELECT A.CON_ID,A.PDB_NAME,B.USERNAME FROM CDB_PDBS A ,CDB_USERS B WHERE A.CON_ID=B.CON_ID AND USERNAME='C##USERADMIN';

    CON_ID PDB_NAME USERNAME

---------- -------------------- --------------------

3 YOUPDB C##USERADMIN


3、在本地cdb5.40中創建使用使用公共用戶指向遠程cdb的數據庫連接並測試。

SQL> create public database link  adminpdb  connect to c##useradmin identified by Passw0rd using '192.168.5.41/YOUCDB';


Database link created.


SQL> show con_name;


CON_NAME

------------------------------

CDB$ROOT


SQL> show con_name;


CON_NAME

------------------------------

CDB$ROOT


SQL> select * from dual@adminpdb;


D

-

X



三、克隆遠程pdb


1、切換到根容器


SQL> show con_name;


CON_NAME

------------------------------

CDB$ROOT


2、執行創建語句

SQL> create pluggable database mypdb4 from youpdb@adminpdb  FILE_NAME_CONVERT=('/opt/oracle/oradata/youcdb/youpdb/','/opt/oracle/oradata/mycdb/mypdb4/');


Pluggable database created.


SQL> show pdbs;


    CON_ID CON_NAME   OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED   READ ONLY  NO

3 MYPDB1   READ WRITE NO

4 MYPDB2   READ WRITE NO

5 YOUPDB   MOUNTED

6 MYPDB3   READ WRITE NO

7 MYPDB4   MOUNTED

 

3、打開新創建的pdb

SQL> alter pluggable database mypdb4 open;


Pluggable database altered.


SQL> show pdbs;


    CON_ID CON_NAME   OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

2 PDB$SEED   READ ONLY  NO

3 MYPDB1   READ WRITE NO

4 MYPDB2   READ WRITE NO

5 YOUPDB   MOUNTED

6 MYPDB3   READ WRITE NO

7 MYPDB4   READ WRITE NO


4、切換到新創建的pdb(mypdb4)


SQL> alter session set container=mypdb4;


Session altered.



SQL> select name from v$datafile;


NAME

--------------------------------------------------------------------------------

/opt/oracle/oradata/mycdb/mypdb4/system01.dbf

/opt/oracle/oradata/mycdb/mypdb4/sysaux01.dbf

/opt/oracle/oradata/mycdb/mypdb4/undotbs01.dbf

/opt/oracle/oradata/mycdb/mypdb4/users01.dbf


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章