一、查看RAC環境
RAC架構,2節點資訊
節點1
SQL> show parameter instance
NAME TYPE VALUE
------------------------------------ ----------- -----------------------------------------------
active_instance_count integer
cluster_database_instances integer 2
instance_groups string
instance_name string RACDB1
instance_number Integer 1
instance_type string RDBMS
open_links_per_instance integer 4
parallel_instance_group string
parallel_server_instances integer 2
節點2
SQL> show parameter instance、
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
active_instance_count integer
cluster_database_instances integer 2
instance_groups string
instance_name string RACDB2
instance_number integer 2
instance_type string RDBMS
open_links_per_instance integer 4
parallel_instance_group string
parallel_server_instances integer 2
資料庫版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
作業系統資訊
節點1
[oracle@rac1 ~]$ uname -a
Linux rac1 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux
節點2
[oracle@rac2 ~]$ uname -a
Linux rac2 2.6.18-53.el5 #1 SMP Wed Oct 10 16:34:02 EDT 2007 i686 i686 i386 GNU/Linux
[oracle@leonarding1 admin]$ uname -a
Linux leonarding1.oracle.com 2.6.32-200.13.1.el5uek #1 SMP Wed Jul 27 21:02:33 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux
RAC所有資源資訊
[oracle@rac2 ~]$ crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE ONLINE rac2
ora....DB1.srv application ONLINE ONLINE rac2
ora.....TAF.cs application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac2
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
二啟動和關閉crs主進程
(1)簡單說說RAC日常管理都有哪些內容
1.節點管理:node日常管理
2.網路管理:例如網卡配置 VIP虛擬ip外部網路 內部網路
3.叢集管理:CRS叢集資源管理 OCR oracle叢集註冊表 srv服務管理 votedisk表決磁碟
4.應用管理:資料庫、執行個體、監聽器、虛擬ip、註冊到RAC中的各種資源
(2)RAC叢集守護進程
[oracle@rac1 init.d]$ pwd
/etc/init.d
[oracle@rac1 init.d]$ ll | grep init*
init.crsd:# init.crsd - Control script for the CRS daemon.
init.crsd:# only be invoked from init.crs or from inittab.
init.crsd:# No manual invocation of init.crsd is supported.
init.crsd:# or on an automatic startup, this file will exist. init.crsd run will
init.cssd:# directory. It should only be invoked from init.crs.
init.evmd:# be invoked from init.crs.
[oracle@rac1 init.d]$ ls init*
init.crs init.crsd init.cssd init.evmd
這些就是RAC叢集守護進程,存放在Linux開機啟動的指令碼目錄下,可以隨作業系統的啟動而啟動。
./init.crs start啟動叢集進程
./init.crs stop停止叢集進程
./init.crs enable隨作業系統的啟動而啟動
./init.crs disable不隨作業系統的啟動而啟動
註:init.crs指令碼是init.crsd init.cssd init.evmd指令碼的引導指令碼
crs主要進程
(1)crsd
負責管理HA 高可靠性操作
管理crs資源,如linstener,vip,ons,gsn等
由root使用者管理、啟動
(2)ocssd
管理各節點的關係,用於節點間通訊
由oracle使用者運行管理
(3)oprocd
叢集進程管理 —Process monitor for the cluster.叢集監控進程
僅在沒有使用vendor的叢集軟體狀態下運行
(4)evmd
事件檢測進程,由oracle使用者運行管理
(5)主要log位置
$ORA_CRS_HOME/log/節點主機名稱(rac1 rac2)/racg 節點日誌
$ORA_CRS_HOME/log/節點主機名稱(rac1 rac2)/crsd叢集軟體日誌
$ORA_CRS_HOME/crs/init
$ORA_CRS_HOME/css/log 節點間通訊的日誌
$ORA_CRS_HOME/css/init
$ORA_CRS_HOME/evm/log 事件監控日誌
$ORA_CRS_HOME/evm/init
$ORA_CRS_HOME/srvm/log
示範
[oracle@rac1 init.d]$ su – root必須使用root使用者執行RAC叢集指令碼
Password:
[root@rac1 ~]# cd /etc/init.d
[root@rac1 init.d]# ./init.crs disable
Automatic startup disabled for system boot.
[root@rac1 init.d]# ./init.crs enable
Automatic startup enabled for system boot.
[root@rac1 init.d]# ./init.crs stop停止CRS主進程
Shutting down Oracle Cluster Ready Services (CRS):
Stopping resources.
Successfully stopped CRS resources包含crsd
Stopping CSSD.
Shutting down CSS daemon.包含cssd
Shutdown request successfully issued.
Shutdown has begun. The daemons should exit soon.
[root@rac1 init.d]# ./init.crs start啟動CRS主進程
Startup will be queued to init within 90 seconds.啟動將會在90秒內完成
[root@rac1 init.d]# crs_stat -t
Name Type Target State Host
------------------------------------------------------------
ora....B1.inst application ONLINE ONLINE rac1
ora....B2.inst application ONLINE ONLINE rac2
ora....DB1.srv application ONLINE ONLINE rac2
ora.....TAF.cs application ONLINE ONLINE rac2
ora.RACDB.db application ONLINE ONLINE rac2
ora....SM1.asm application ONLINE ONLINE rac1
ora....C1.lsnr application ONLINE ONLINE rac1
ora.rac1.gsd application ONLINE ONLINE rac1
ora.rac1.ons application ONLINE ONLINE rac1
ora.rac1.vip application ONLINE ONLINE rac1
ora....SM2.asm application ONLINE ONLINE rac2
ora....C2.lsnr application ONLINE ONLINE rac2
ora.rac2.gsd application ONLINE ONLINE rac2
ora.rac2.ons application ONLINE ONLINE rac2
ora.rac2.vip application ONLINE ONLINE rac2
等待一會並不一定是90秒,CRS叢集資源全部啟動了
(3)RAC叢集命令集目錄
$ORACLE_HOME/crs_1/bin
所有叢集命令都放在這個目錄下
(4)節點層命令
[oracle@rac1 init.d]$ olsnodes -n
rac1 1
rac2 2
[oracle@rac1 init.d]$ olsnodes -n -p
rac1 1 rac1-priv
rac2 2 rac2-priv
[oracle@rac1 init.d]$ olsnodes -n -p -i
rac1 1 rac1-priv rac1-vip
rac2 2 rac2-priv rac2-vip
這個命令用來顯示叢集節點的資訊
參數解釋:n列印節點號
P 列印私人網路名稱
i 列印虛擬ip
(2)網路層命令
[oracle@rac1 init.d]$ oifcfgOracle網卡組態工具
Name:
oifcfg - Oracle Interface Configuration Tool.
Usage: oifcfg iflist [-p [-n]]
oifcfg setif {-node <nodename> | -global} {<if_name>/<subnet>:<if_type>}...
oifcfg getif [-node <nodename> | -global] [ -if <if_name>[/<subnet>] [-type <if_type>] ]
oifcfg delif [-node <nodename> | -global] [<if_name>[/<subnet>]]
oifcfg [-help]
<nodename> - name of the host, as known to a communications network
<if_name> - name by which the interface is configured in the system
<subnet> - subnet address of the interface
<if_type> - type of the interface { cluster_interconnect | public | storage }
[oracle@rac1 init.d]$ oifcfg iflist查看網卡對應的網段,oracle網卡組態工具
eth0 192.168.1.0
eth1 192.168.2.0
eth2 192.168.61.0
$ oifcfg getif沒有配置之前是什麼內容也沒有
$ oifcfg setif -global eth0/192.168.1.0:publicoracle網卡組態工具指定公有網卡
$ oifcfg setif -global eth1/192.168.2.0:cluster_interconnectoracle網卡組態工具指定私人網
[oracle@rac1 init.d]$ oifcfg getif擷取配置結果
eth0 192.168.1.0 global publiceth0是全域公用網卡
eth1 192.168.2.0 global cluster_interconnecteth1是全域私人網卡
三查看OCR磁碟的資訊,並列印出OCR磁碟的內容
OCR:稱為Oracle叢集註冊表,一般RAC叢集中至少有2個OCR磁碟互為鏡像,OCR裡面註冊了叢集中的所有資源資訊(資料庫執行個體 監聽器 VIP OCR磁碟表決磁碟 服務節點應用 網卡等)
我們可以使用ocrcheck命令檢查OCR磁碟狀態
節點1
RACDB1@rac1 /home/oracle$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104344總空間
Used space (kbytes) : 4324使用空間
Available space (kbytes) : 100020剩餘空間
ID : 1752469369
Device/File Name : /dev/raw/raw1磁碟路徑
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
節點2
RACDB2@rac2 /home/oracle$ ocrcheck
Status of Oracle Cluster Registry is as follows :
Version : 2
Total space (kbytes) : 104344
Used space (kbytes) : 4324
Available space (kbytes) : 100020
ID : 1752469369
Device/File Name : /dev/raw/raw1
Device/File integrity check succeeded
Device/File not configured
Cluster registry integrity check succeeded
使用ocrdump命令查看OCR內容,但這個命令不能用於OCR的備份恢複只可以用於閱讀
RACDB1@rac1 /home/oracle$ ocrdump -stdout | more
[SYSTEM.evm.acceptor]
UNDEF :
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : root, GROUP_NAME : root}
[SYSTEM.evm.acceptor.rac1]
ORATEXT : (ADDRESS=(PROTOCOL=ipc)(KEY=Arac1_crs_evm))
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : root, GROUP_NAME : root}
[SYSTEM.evm.acceptor.rac2]
ORATEXT : (ADDRESS=(PROTOCOL=ipc)(KEY=Arac2_crs_evm))
SECURITY : {USER_PERMISSION : PROCR_ALL_ACCESS, GROUP_PERMISSION : PROCR_READ, OTHER_PERMISSION : PROCR_READ, USER_NAME : root, GROUP_NAME : root}
使用ocrconfig命令配置維護OCR磁碟,例如匯出備份OCRDUMP檔案再匯入來恢複OCR
[oracle@rac1 init.d]$ su - root
Password:
[root@rac1 ~]# cd /home/oracle
[root@rac1 oracle]# ll
total 4
drwxr-xr-x 3 oracle oinstall 4096 Jul 5 2013 Desktop
[root@rac1 oracle]# ocrconfig -export ocr_bk.dmp匯出OCR磁碟內容,一旦有問題可以匯入恢複
[root@rac1 oracle]# ll
total 104
drwxr-xr-x 3 oracle oinstall 4096 Jul 5 2013 Desktop
-rw-r--r-- 1 root root 97517 Jul 4 17:57 ocr_bk.dmp
[root@rac1 oracle]# strings ocr_bk.dmp可以使用這個命令來查看dump檔案內容
[root@rac1 oracle]# ocrconfig -import ocr_bk.dmp匯入dump檔案恢複OCR
[root@rac1 oracle]# ocrconfig –replace ocrmirror /dev/raw/raw2建立新的OCR磁碟鏡像
四、查看voting disk磁碟資訊
Voting Disk這個檔案主要用於記錄節點成員狀態,在出現腦裂時,決定那個Partion獲得控制權,其他的Partion必須從叢集中剔除。Voting disk使用的是一種“多數可用演算法”,如果有多個Voting disk,,則必須一半以上的Votedisk同時存活,Clusterware才能正常使用。比如配置了4個Votedisk,壞一個Votedisk,叢集可以正常工作,如果壞了2個,則不能滿足半數以上,叢集會立即宕掉,所有節點立即重啟,所以如果添加Votedisk,盡量不要只添加一個,而應該添加2個,總共的數量保證為奇數。
(1)表決磁碟檢查,必須為單數<