ProxmoxVE 之 oracle12C 多CDB和PDB


    繼上次在PVE環境上搭建了oracle12C RAC環境(請參考博文“ProxmoxVE 之 安裝oracle12C rac集羣”)並且安裝使用CDB和PDB(請參考博文“ProxmoxVE 之 安裝oracle12C 數據庫(CDB和PDB)”)之後,繼續往下深入,在這個RAC環境中安裝第二個CDB,驗證一個RAC環境下面使用多個CDB和PDB的複雜應用情況。

    使用oracle賬號登錄系統,然後執行dbca進行安裝:

image.png

image.png

image.png

image.png


image.png

image.png

image.png

image.png

image.png

image.png

這裏選擇中文字符集:

image.png

image.png

image.png


image.png


image.png

image.png

image.png

image.png

image.png

登錄grid賬號運行 crsctl stat res -t  檢查rac狀態,看看新建的cdb2 數據庫是否成功啓動並open:


grid@oraclenode2 ~]$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.DATA.dg
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.GRID.dg
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.RECOVERY.dg
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.SYSTEM.dg
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.chad
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.net1.network
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
ora.ons
               ONLINE  ONLINE       oraclenode1              STABLE
               ONLINE  ONLINE       oraclenode2              STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       oraclenode2              169.254.210.79 192.1
                                                             68.170.33,STABLE
ora.asm
      1        ONLINE  ONLINE       oraclenode2              Started,STABLE
      2        ONLINE  OFFLINE                               STABLE
      3        ONLINE  ONLINE       oraclenode1              Started,STABLE
ora.cdb2.db
      1        ONLINE  ONLINE       oraclenode1              Open,HOME=/data/orac
                                                             le/app/oracle/produc
                                                             t/12.2.0.1/db_1,STAB
                                                             LE
      2        ONLINE  ONLINE       oraclenode2              Open,HOME=/data/orac
                                                             le/app/oracle/produc
                                                             t/12.2.0.1/db_1,STAB
                                                             LE
ora.cvu
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       oraclenode2              Open,STABLE
ora.oraclenode1.vip
      1        ONLINE  ONLINE       oraclenode1              STABLE
ora.oraclenode2.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.orcl.db
      1        ONLINE  ONLINE       oraclenode1              Open,HOME=/data/orac
                                                             le/app/oracle/produc
                                                             t/12.2.0.1/db_1,STAB
                                                             LE
      2        ONLINE  ONLINE       oraclenode2              Open,HOME=/data/orac
                                                             le/app/oracle/produc
                                                             t/12.2.0.1/db_1,STAB
                                                             LE
ora.qosmserver
      1        ONLINE  ONLINE       oraclenode2              STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       oraclenode2              STABLE
--------------------------------------------------------------------------------

上面可以看到cdb2數據庫也已經起來了。也就是說這個RAC集羣上面同時運行了2個CDB數據庫,一個是orcl數據庫,一個是cdb2數據庫,實現了同時運行多個CDB數據庫,每個CDB內又可以運行多個PDB數據庫,這樣可以實現比較複雜的業務場景。

多個CDB數據庫切換:

    有了多個CDB,如何在多個CDB中進行切換?是通過切換環境變量ORACLE_UNQNAME和ORACLE_SID來實現:

#現在環境變量指向是orcl數據庫CDB:
[oracle@oraclenode1 ~]$ 
[oracle@oraclenode1 ~]$ env|grep ORA 
ORACLE_UNQNAME=orcl
ORACLE_SID=orcldb11
ORACLE_BASE=/data/oracle/app/oracle
ORACLE_HOSTNAME=oraclenode1
ORACLE_TERM=xterm
ORACLE_HOME=/data/oracle/app/oracle/product/12.2.0.1/db_1
[oracle@oraclenode1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 17 09:48:24 2019
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[oracle@oraclenode1 ~]$  

#現在改變環境變量ORACLE_UNQNAME和ORACLE_SID,改爲指向cdb2。
#注意ORACLE_SID需要指向你所在的rac數據庫實例,我這裏的SID有2個,一個是CDB21,一個是CDB22,需要根據實際環境進行設定:
[oracle@oraclenode1 ~]$ export ORACLE_UNQNAME=cdb2
[oracle@oraclenode1 ~]$ ORACLE_SID=cdb21   
[oracle@oraclenode1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 17 09:49:17 2019
Copyright (c) 1982, 2016, Oracle.  All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL> select con_id, dbid, guid, name , open_mode from v$pdbs;
    CON_ID DBID GUID
---------- ---------- --------------------------------
NAME
--------------------------------------------------------------------------------
OPEN_MODE
----------
 2 1189951802 7F93FC28620574A8E0532001A8C0A08A
PDB$SEED
READ ONLY
 3 3521891460 7F9433F3F69A1333E0532101A8C089D8
CDB2_PDB1
READ WRITE
    CON_ID DBID GUID
---------- ---------- --------------------------------
NAME
--------------------------------------------------------------------------------
OPEN_MODE
----------
SQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
[oracle@oraclenode1 ~]$


總結:

    oracle12C數據庫上可以創建多個CDB,每個CDB內可以創建多個PDB,管理多個CDB可以通過切換不同的SID環境變量進行切換。是RAC環境,數據庫實例會同時運行在所有RAC節點上,如果是單實例數據庫,一個CDB就只對應一個數據庫實例 。

    多個CDB可以靈活使用asm磁盤組,多個CDB可以共用asm磁盤組,也可以單獨使用磁盤組,非常靈活。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章