Oracle RAC日常管理命令

xingfei80發表於2013-07-10

轉自:

一、檢視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

[@more@]

作業系統資訊

節點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中的各種資源

2RAC叢集守護程式

[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資源,如linstenerviponsgsnroot使用者管理、啟動
(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叢集資源全部啟動了

3RAC叢集命令集目錄

$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 | -global} {/:}...

oifcfg getif [-node | -global] [ -if [/] [-type ] ]

oifcfg delif [-node | -global] [[/]]

oifcfg [-help]

- name of the host, as known to a communications network

- name by which the interface is configured in the system

- subnet address of the interface

- 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叢集中至少有2OCR磁碟互為映象,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才能正常使用。比如配置了4Votedisk,壞一個Votedisk,叢集可以正常工作,如果壞了2個,則不能滿足半數以上,叢集會立即宕掉,所有節點立即重啟,所以如果新增Votedisk,儘量不要只新增一個,而應該新增2,總共的數量保證為奇數。

1)表決磁碟檢查,必須為單數

RACDB2@rac2 /home/oracle$ crsctl query css votedisk

0. 0 /dev/raw/raw2

located 1 votedisk(s).定位1個表決磁碟

2)備份votedisk

因為我們的表決磁碟使用的是裸裝置,因此使用裸裝置的dd命令來備份表決磁碟,使用root使用者

[root@rac1 oracle]# dd if=/dev/raw/raw2 of=/home/oracle/voting_disk.bak

208864+0 records in表決磁碟中的記錄數

208864+0 records out

106938368 bytes (107 MB) copied, 104.614 seconds, 1.0 MB/s

[root@rac1 oracle]# ll

total 104644

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

-rw-r--r-- 1 root root 106938368 Jul 4 18:37voting_disk.bak

[root@rac1 oracle]# du -sm voting_disk.bak備份檔案103MB

103 voting_disk.bak

3)恢復votedisk

[root@rac1 oracle]# dd if=/home/oracle/voting_disk.bak of=/dev/raw/raw2

使用上述命令即可恢復表決磁碟,由於我們的表決磁碟是正常狀態,因此不做恢復演示

4)透過strings命令檢視votedisk內容

[root@rac1 oracle]# strings voting_disk.bak |sort -u

fSLC

ssLckcoT

SslcLlik

sSlcrEp0

}|{z

五、用srvctl分別啟動ASM,資料庫例項和資料庫

srvctl是應用層命令,稱作服務管理工具可以操作databaseinstancelistenernodesASMserviceapplication

,其中application又包括“GSD ONS VIP”,這些資源都可以透過srvctl工具統一管理。

演示

1)關閉節點1RAC例項

RACDB1@rac1 /home/oracle$ srvctl stop instance -d racdb -i racdb1 -o immediate

RACDB1@rac1 /home/oracle$ crs_stat -t

Name Type Target State Host

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

ora....B1.inst application OFFLINE OFFLINE

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

節點2還是可以正常登陸資料庫

RACDB2@rac2 /home/oracle$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on Thu Jul 4 19:39:02 2013

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production

With the Partitioning, Real Application

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/14663377/viewspace-1060704/,如需轉載,請註明出處,否則將追究法律責任。

相關文章