克隆remote機器下的pdb建立本地pdb數據庫
目錄結構c#
1、說明session
2、建立準備oracle
3、克隆遠程pdbide
1、說明測試
一、在遠程源pdb中建立數據庫本地用戶,或者使用已存在的有管理員權限的用戶。spa
二、在準備新建立 pdb 的cdb 中建立一個指向遠程pdb連接rem
三、能夠經過公共用戶,也能夠經過pdb中的普通用戶it
四、數據庫連接能夠鏈接到cdb的根容器,也能夠直接連接到pdb容器。io
五、數據庫鏈接用戶必須具備create pluggable database系統權限和sysoper管理員權限
2、建立準備
一、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/
一、在遠程源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;
二、在遷移的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
三、在本地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
3、克隆遠程pdb
一、切換到根容器
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
二、執行建立語句
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
三、打開新建立的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
四、切換到新建立的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