PDB Remote Clone in Oracle Database 19c之02-克隆可刷新的PDB(Refreshable PDB)

1.源庫創(chuàng)建用戶并授權(quán)

[oracle@xag224 dbs]$ sqlplus / as sysdba

SQL> show pdbs;
    CON_ID CON_NAME           OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED           READ ONLY  NO
     3 PDB2               READ WRITE NO

SQL> create user c##xag identified by 123456;

SQL> grant create session,create pluggable database,sysoper to c##xag container=all;

2.目標(biāo)庫編輯TNS

MPCDB224 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = xag224)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = MPCDB)
    )
  )

3.目標(biāo)庫創(chuàng)建DBLink

create database link mpcdb224_dblink connect to c##xag identified by "123456" using 'MPCDB224';

select 1 from dual@mpcdb224_dblink;

4 基于手工刷新 REFRESH MODE MANUAL

SQL> !mkdir /home/oradata/MPCDB/pdb2_new

create pluggable database pdb2_new from pdb2@mpcdb224_dblink create_file_dest='/home/oradata/MPCDB/pdb2_new' refresh mode manual;

SQL> show pdbs

    CON_ID CON_NAME           OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED           READ ONLY  NO
     3 PDB1               READ WRITE NO
     4 PDB2_NEW           MOUNTED

5.目標(biāo)庫打開可刷新PDB (可刷新PDB為了保證和源庫一致,必須只能以 READ ONLY 只讀模式打開)

SQL> alter pluggable database pdb2_new open read only;

SQL> show pdbs

    CON_ID CON_NAME           OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
     2 PDB$SEED           READ ONLY  NO
     3 PDB1               READ WRITE NO
     4 PDB2_NEW           READ ONLY  NO

6.檢查數(shù)據(jù)

--alter session set container=pdb2_new;

sql xag/123456@xag225:1521/pdb2_new;

SET SQLFORMAT ansiconsole

select host_address ,host_name,db_name, to_char(create_time,'hh24:mi:ss')
from my_healt_check order by create_time desc;
查詢結(jié)果只有 clone 完成那一刻的數(shù)據(jù),沒有之後的數(shù)據(jù)
  1. 手動(dòng)刷新數(shù)據(jù)(pdb2_new目標(biāo)庫關(guān)閉)
[oracle@xag225 ~]$ sql sys/123456@xag225:1521/pdb2_new as sysdba;

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              READ ONLY NO     

SQL> alter pluggable database pdb2_new close immediate;

SQL> show pdbs;
    CON_ID CON_NAME             OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              MOUNTED           

SQL> alter pluggable database pdb2_new refresh;  #刷新後則有同步新的增量數(shù)據(jù)

SQL> alter pluggable database pdb2_new open read only;


SQL> conn xag/123456@xag225:1521/pdb2_new;

SQL> show user;
USER is "XAG"

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              READ ONLY NO     

SET SQLFORMAT ansiconsole

select host_address ,host_name,db_name, to_char(create_time,'hh24:mi:ss')
from my_healt_check order by create_time desc;

8.模擬應(yīng)用側(cè)停應(yīng)用,將源端PDB置為read only

[oracle@xag224 ~]$ sql / as sysdba

SQL> show pdbs;
    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED              READ ONLY NO     
         3 PDB2                  READ WRITE NO     

SQL> alter pluggable database pdb2 close immediate;

SQL> alter pluggable database pdb2 open read only;

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED              READ ONLY NO     
         3 PDB2                  READ ONLY NO     

conn xag/123456@xag224:1521/pdb2

SET SQLFORMAT ansiconsole

select host_address ,host_name,db_name, to_char(create_time,'yyyy-mm dd hh24:mi:ss')
from my_healt_check order by create_time desc;

9.目標(biāo)端再次手動(dòng)刷新,應(yīng)用最近的增量,觀察目志是否正常

[oracle@xag225 ~]$ sql sys/123456@xag225:1521/pdb2_new as sysdba;

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              READ ONLY NO     

SQL> alter pluggable database pdb2_new close immediate;

SQL> show pdbs;
    CON_ID CON_NAME             OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              MOUNTED           

SQL> alter pluggable database pdb2_new refresh; 
  1. 目標(biāo)端PDB關(guān)閉刷新模式
 ALTER PLUGGABLE DATABASE pdb2_new REFRESH MODE NONE;

11.拉起目標(biāo)端PDB(讀寫模式)

ALTER PLUGGABLE DATABASE pdb2_new open read write;

SQL> show pdbs;

    CON_ID CON_NAME              OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         4 PDB2_NEW              READ WRITE NO   

12.驗(yàn)證數(shù)據(jù)

conn xag/123456@xag225:1521/pdb2_new;

SET SQLFORMAT ansiconsole

select host_address ,host_name,db_name, to_char(create_time,'yyyy-mm dd hh24:mi:ss')
from my_healt_check order by create_time desc;
---------------------------------------------------------------------------------------
HOST_ADDRESS   HOST_NAME   DB_NAME    TO_CHAR(CREATE_TIME,'YYYY-MMDDHH24:MI:SS')   
10.0.30.225    xag225      PDB2_NEW   2021-08 31 22:26:44                          
10.0.30.225    xag225      PDB2_NEW   2021-08 31 22:25:44                          
10.0.30.225    xag225      PDB2_NEW   2021-08 31 22:24:44                          
10.0.30.224    xag224      PDB2       2021-08 31 22:09:50                          
10.0.30.224    xag224      PDB2       2021-08 31 22:08:50                          
10.0.30.224    xag224      PDB2       2021-08 31 22:07:50     
SQL> select tablespace_name,file_name,bytes/1024/1024 mb from dba_temp_files 
  2  union all 
  3  select tablespace_name,file_name,bytes/1024/1024 mb from dba_data_files;
TABLESPACE_NAME   FILE_NAME                                                                                                      MB 
TS                /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_ts_jlxpm83p_.dbf           192 
TS                /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_ts_jlxpm83q_.dbf            64 
SYSTEM            /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_system_jlxpm82t_.dbf       270 
SYSAUX            /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_sysaux_jlxpm83n_.dbf       340 
UNDOTBS1          /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_undotbs1_jlxpm83o_.dbf     200 
US                /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_us_jlxpm83r_.dbf            32 
US                /home/oradata/MPCDB/pdb2_new/MPCDB/CAD94C062843687DE053E11E000A22D3/datafile/o1_mf_us_jlxpm83q_.dbf            32 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容