1. 程式人生 > >Oracle 18c 新特性之CDB航母

Oracle 18c 新特性之CDB航母

給使用者介紹Oracle多租戶新特性時,多次忍不住將CDB比喻為航母,PDB則是停靠之上的艦載機。沒想到18c竟然出了航母戰鬥群,^_^

18c中引入了CDB fleet新特性,能夠實現以下的功能:

  • 擴容PDB支援數量,單個CDB最大能夠支援4096個PDB,CDB fleet大大擴充套件了這一數量;
  • 多CDB資料庫的集中管理,降低管理成本;
  • CDB fleet支援所有的資料庫功能,如Oracle RAC,RMAN,基於時間點的恢復,Flashback等。

CDB fleet中有兩個概念:CDBLead和CDB members。

在CDB Lead中能夠進行所有CDB的管理,設定完成後,fleet中所有的PDB都對CDBLead可見,在Lead中可以使用以下方式獲取全域性資訊,實現全域性管理:

  • CDB和GV$檢視
  • CONTAINERS字句以及CONTAINER_MAP

CDB Members則通過DBLink和CDB Lead進行通訊。

 簡單記錄配置過程:

CDB Lead

 1. 設定LEAD_CDB

ALTER SESSION SET CONTAINER = CDB$ROOT;

ALTER DATABASE SET LEAD_CDB = TRUE;

 

SELECT PROPERTY_VALUE FROM  DATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB';

 PROPERTY_VALUE
----------------------
TRUE

2. 建立用於CDB Member連線的使用者

create user c##cf1 identified by oracle;

grant dba to c##cf1;

CDB member

 1. 配置連線串

lead_pod =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.56.19)(PORT = 1521))

    )

   (CONNECT_DATA =

     (SERVICE_NAME = ora18c)

    )

  )

 2. 建立連線CDB Lead的DB LINK

CREATE PUBLIC DATABASE LINK lead_link

  CONNECT TO C##CF1 IDENTIFIED BY oracle

  USING 'lead_pod';

 3. 設定LEAD_CDB_URI屬性

ALTER DATABASE SET LEAD_CDB_URI ='dblink:LEAD_LINK';

SELECT PROPERTY_VALUE FROMDATABASE_PROPERTIES WHERE PROPERTY_NAME='LEAD_CDB_URI';

 PROPERTY_VALUE
--------------------------------------------------------------------------------
dblink:LEAD_LINK

CDB Lead

1. CDB Lead中確認CDB Member資訊

SQL> select pdb_name, status from cdb_pdbs;

 

PDB_NAME                                                            STATUS

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

PDB$SEED                                                            NORMAL

orclcdb                                                              STUB

PDB1                                                                NEW

PDB2                                                                STUB

 PS: 狀態為STUB的PDB資訊來自於CDB Member.