您好,登錄后才能下訂單哦!
上面左邊是我的個人微信,如需進一步溝通,請加微信。 右邊是我的公眾號“Openstack私有云”,如有興趣,請關注。
繼上次在PVE環境上搭建了oracle12C RAC環境(請參考博文“ProxmoxVE 之 安裝oracle12C rac集群”)并且安裝使用CDB和PDB(請參考博文“ProxmoxVE 之 安裝oracle12C 數據庫(CDB和PDB)”)之后,繼續往下深入,在這個RAC環境中安裝第二個CDB,驗證一個RAC環境下面使用多個CDB和PDB的復雜應用情況。
使用oracle賬號登錄系統,然后執行dbca進行安裝:
這里選擇中文字符集:
登錄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可以靈活使用asm磁盤組,多個CDB可以共用asm磁盤組,也可以單獨使用磁盤組,非常靈活。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。