溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Oracle 12c Refreshable Clone

發(fā)布時(shí)間:2020-08-10 20:54:22 來源:ITPUB博客 閱讀:192 作者:eric0435 欄目:關(guān)系型數(shù)據(jù)庫

這個(gè)例子將介紹通過克隆一個(gè)遠(yuǎn)程PDB(jypdb)來創(chuàng)建一個(gè)目標(biāo)PDB(ycpdb)。這種克隆是對(duì)源PDB的一種可以刷新的副本,它意味著對(duì)源PDB所執(zhí)行的任何改變都可以通過刷新來對(duì)目標(biāo)PDB進(jìn)行更新。這里假設(shè)滿足以下條件:
.連接到遠(yuǎn)程PDB(jypdb)的dblink為jypdb_link
.不使用path_prefix子句
.不使用file_name_convert與create_file_dest子句,如果啟用了OMF,或者設(shè)置了pdb_file_name_convert參數(shù)。那么基于OMF或參數(shù)設(shè)置
文件將會(huì)被復(fù)制到新指定的目錄中
.對(duì)PBD不使用存儲(chǔ)限制。因此不使用storage子句
.這里沒有與新temp文件同名的文件存在,因此新的temp文件會(huì)創(chuàng)建到目標(biāo)目錄中。因此不用指定tempfile reuse子句。
.刷新克隆將會(huì)每隔10分鐘自動(dòng)刷新。記住,為了創(chuàng)建一個(gè)可刷新的PDB,源PDB必須啟用archivelog模式與本地undo模式。

1.在目標(biāo)數(shù)據(jù)庫CDB(jy)中創(chuàng)建指向源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.在目標(biāo)數(shù)據(jù)庫CDB(jy)執(zhí)行下面的語句來克隆可刷新的PDB

SQL> create pluggable database ycpdb from jypdb@jypdb_link refresh mode every 10 minutes;

Pluggable database created.

4.在源數(shù)據(jù)庫中對(duì)表jy.jy_test與jy.test插入數(shù)據(jù)與刪除數(shù)據(jù)

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.十分鐘后我們?cè)谀繕?biāo)數(shù)據(jù)庫ycpdb中來查詢數(shù)據(jù)是否被刷新到目標(biāo)數(shù)據(jù)庫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再來查看數(shù)據(jù)是否被刷新,從下面的結(jié)果可以看到數(shù)據(jù)已經(jīng)被刷新了。

SQL> select * from jy.jy_test;

   USER_ID
----------
         2
         3
         1

SQL> select * from jy.test;

   USER_ID
----------
         1

6.為了與源pdb(jypdb)進(jìn)行同步我們需要將目標(biāo)pdb設(shè)置為close狀態(tài)

SQL> alter  pluggable database ycpdb close immediate;

Pluggable database altered.

SQL> select name,open_mode from v$pdbs;


NAME
--------------------------------------------------------------------------------
OPEN_MODE
----------
YCPDB
MOUNTED

我們還可以手動(dòng)刷新目標(biāo)pdb

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI