如何在 12.2.0.1 透過 dblink 線上複製 PDB

巡完南山巡南山發表於2019-06-06

參考,如何在 12.2.0.1 透過 dblink 線上複製  PDB (文件 ID 24726-43.1)

對於資料量小的庫而言,這個功能簡單,操作方便,可以一試。


源 DB: cdb - orcl, pdb - PDB.

目標 DB: cdb - R12201

我們將在不關閉 PDB,也不需要將 PDB 設定為只讀模式的情況下,將 orcl 線上複製 到 R12201


1. 檢查源 DB 是否使用了 local undo(應啟用 local undo):


SQL> SELECT property_name, property_value FROM database_properties WHERE

SQL> property_name = 'LOCAL_UNDO_ENABLED';


PROPERTY_NAME PROPERTY_VALUE

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

LOCAL_UNDO_ENABLED TRUE


 


2. 檢查源 DB 是否啟用歸檔模式(必須啟用歸檔模式):


SQL> archive log list

Database log mode Archive Mode

Automatic archival Enabled

Archive destination /arch1

Oldest online log sequence 2

Next log sequence to archive 3

Current log sequence 3

3. 在源 DB 建立執行複製 操作的 DB 使用者:


CREATE USER c##adminpdb IDENTIFIED BY adminpdb CONTAINER=ALL;

GRANT CREATE SESSION, CREATE PLUGGABLE DATABASE TO c##adminpdb CONTAINER=ALL;

4. 在目標 DB 上建立一個 tns 別名以指向源 DB:


orcl=

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = <IP_ADDRESS>)(PORT = 1521)) <====== 應將 IP 地址更改為源 DB IP

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl)

)

)

5. 在目標 DB 建立 dblink:


$ sqlplus / as sysdba


Connected to:

Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 6-4 bit Production


SQL> CREATE DATABASE LINK to_source CONNECT TO c##adminpdb IDENTIFIED BY

SQL> adminpdb USING 'orcl';


Database link created.


SQL> select * from dual@to_source;


D

-

X


 


6. 在目標 DB 執行下面的操作,將 pdb 線上複製 到 pdbnew(注意:FILE_NAME_CONVERT 應相應更改):


SQL> CREATE PLUGGABLE DATABASE pdbnew FROM pdb@to_source FILE_NAME_CONVERT = ('+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/DATAFILE/system.296.974205945', '/u01/data/R12201/pdbnew/system.dbf','+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/DATAFILE/sysaux.297.974205947','/u01/data/R12201/pdbnew/sysaux.dbf','+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/DATAFILE/undotbs1.293.974205945','/u01/data/R12201/pdbnew/undotbs1.dbf','+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/DATAFILE/undo_2.306.974206187','/u01/data/R12201/pdbnew/undo_2.dbf','+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/DATAFILE/users.304.974206191','/u01/data/R12201/pdbnew/users.dbf','+DATA/ORCL/6A7DB47A934B3D53E0534838A8C0FE32/TEMPFILE/temp.307.974205955','/u01/data/R12201/pdbnew/temp.dbf');


Pluggable database created.


 


7. 在目標 DB 啟動 pdb:


SQL> alter pluggable database pdb open;

8. 檢查目標 DB 上的 PDB_PLUG_IN_VIOLATIONS 是否有錯誤


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26964624/viewspace-2646893/,如需轉載,請註明出處,否則將追究法律責任。

相關文章