您好,登錄后才能下訂單哦!
這個例子將介紹通過克隆一個遠程PDB(jypdb)來創建一個目標PDB(ycpdb)。這種克隆是對源PDB的一種可以刷新的副本,它意味著對源PDB所執行的任何改變都可以通過刷新來對目標PDB進行更新。這里假設滿足以下條件:
.連接到遠程PDB(jypdb)的dblink為jypdb_link
.不使用path_prefix子句
.不使用file_name_convert與create_file_dest子句,如果啟用了OMF,或者設置了pdb_file_name_convert參數。那么基于OMF或參數設置
文件將會被復制到新指定的目錄中
.對PBD不使用存儲限制。因此不使用storage子句
.這里沒有與新temp文件同名的文件存在,因此新的temp文件會創建到目標目錄中。因此不用指定tempfile reuse子句。
.刷新克隆將會每隔10分鐘自動刷新。記住,為了創建一個可刷新的PDB,源PDB必須啟用archivelog模式與本地undo模式。
1.在目標數據庫CDB(jy)中創建指向源PBD(jypdb)的dblink
SQL> create public database link jypdb_link 2 connect to system identified by "cs" 3 using '(DESCRIPTION = 4 (ADDRESS_LIST = 5 (ADDRESS = (PROTOCOL = TCP)(HOST =10.10.13.17)(PORT = 1521)) 6 ) 7 (CONNECT_DATA = 8 (SERVER = DEDICATED) 9 (SERVICE_NAME =jypdb) 10 ) 11 )'; Database link created
2.檢查源pdb是否啟用arachivelog與本地undo
SQL> col PROPERTY_NAME for a25; SQL> col PROPERTY_VALUE for a25; SQL> select PROPERTY_NAME,PROPERTY_VALUE from database_properties where property_name='LOCAL_UNDO_ENABLED'; PROPERTY_NAME PROPERTY_VALUE ------------------------- ------------------------- LOCAL_UNDO_ENABLED TRUE SQL> archive log list Database log mode Archive Mode Automatic archival Enabled Archive destination +DATA/arch Oldest online log sequence 251 Next log sequence to archive 253 Current log sequence 253
3.在目標數據庫CDB(jy)執行下面的語句來克隆可刷新的PDB
SQL> create pluggable database ycpdb from jypdb@jypdb_link refresh mode every 10 minutes; Pluggable database created.
4.在源數據庫中對表jy.jy_test與jy.test插入數據與刪除數據
SQL> select * from jy.jy_test; USER_ID ---------- 2 1 SQL> select * from jy.test; USER_ID ---------- 2 1 SQL> insert into jy.jy_test values(3); 1 row created. SQL> commit; Commit complete. SQL> delete from jy.test where rownum<2; 1 row deleted. SQL> commit; Commit complete. SQL> host date Fri Aug 25 01:58:40 CST 2017
5.十分鐘后我們在目標數據庫ycpdb中來查詢數據是否被刷新到目標數據庫ycpdb中
5.1先將pdb(ycpdb)以read only模式打開
SQL> select name,open_mode from v$pdbs; NAME -------------------------------------------------------------------------------- OPEN_MODE ---------- YCPDB MOUNTED SQL> alter pluggable database ycpdb open read only; Pluggable database altered.
5.2再來查看數據是否被刷新,從下面的結果可以看到數據已經被刷新了。
SQL> select * from jy.jy_test; USER_ID ---------- 2 3 1 SQL> select * from jy.test; USER_ID ---------- 1
6.為了與源pdb(jypdb)進行同步我們需要將目標pdb設置為close狀態
SQL> alter pluggable database ycpdb close immediate; Pluggable database altered. SQL> select name,open_mode from v$pdbs; NAME -------------------------------------------------------------------------------- OPEN_MODE ---------- YCPDB MOUNTED
我們還可以手動刷新目標pdb
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。