AIX5.3 HACMP5.3環境Oracle10gR2 RAC的安裝日記

hunterjoy發表於2010-11-15

it is from http://wxsgyh.blog.sohu.com/105876935.html

AIX版本:5300-06
HACMP版本:5.3 SP6
Oracle版本:10gR2 10.2.0.3

作者:gss99999 mail:gss99999#126.com
一.作業系統檢查
1. 檢查作業系統補丁包
用lslpp –l命令檢查下面檔案包是否存在:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.adt.syscalls
bos.net.tcp.client
bos.net.tcp.server
bos.rte.SRC
bos.rte.libc
bos.rte.libcfg
bos.rte.libcur
bos.rte.libpthreads
bos.rte.odm
bos.data rsct.base.hacmp
rsct.compat.*
bos.cifs_fs.*
bos.rte.lvm
bos.clvm.enh
xlC.rte 8.0.0.1
其中xlC的版本要大於等於8.0.0.1,版本低會報PRKP1001,CRS-0215錯誤。
2.檢查HACMP補丁包
查HACMP的版本: HA5.3 SP6,透過檢視APAR IZ07791確定。
檢視cluster軟體:lslpp -l | grep cluster
   lppchk -c cluster*
3.安裝oracle、hacmp支援包 smitty install_latest
將xlC.rte 8.0.0.5的安裝包IY89967 FTP到兩臺主機的/tmp目錄,安裝步驟如下:
   解壓縮Z檔案:uncompress xlc.rte.aix50.aug2006a.ptf.tar.Z
   解壓縮tar檔案:tar –xvf xlc.rte.aix50.aug2006a.ptf.tar
   執行安裝:smitty install_latest
安裝完成用lslpp –l xlC.rte檢視xlC的版本為:8.0.0.5
4.檢查兩臺主機的IP地址
en2為public地址,en3為私有地址。
主機 en2 en3 en2_VIP
racnode1 10.150.181.1 192.168.1.1 10.150.181.3
racnode2 10.150.181.2 192.168.1.2 10.150.181.4

5.配置/etc/hosts檔案,內容如下:
10.150.181.1 racnode1
10.150.181.2 racnode2
192.168.1.1 racnode1_pri
192.168.1.2 racnode2_pri
10.150.181.3 racnode1_vip
10.150.181.4 racnode2_vip
6.OS檢查
查OS版本:oslevel -r , 5300-06
檢視swap空間: lsps –a,8G
檢視記憶體:lsattr –El sys0 –a realmem, 8G
查需要的磁碟: lspv
hdisk5   datavg
檢視tmp空間:df -g /tmp,10G
6、 在racnode1和racnode2上,建立oinstall、dba組
/bin/mkgroup oinstall ,gid為:203
/bin/mkgroup dba ,gid為:204
保證gid兩邊一致。
Oracle使用者還需要屬於hagsuser組,該組在安裝CRS時執行rootpre.sh時生產,生成該組以後將Oracle使用者加入該組。如果手工建立hagsuser組,在兩個節點分別執行下面命令:

chmod a+x /usr/sbin/cluster/utilities/cldomain
chgrp hagsuser /var/ha/soc/grpsvcsdsocket.ORAcluster
chgrp hagsuser /usr/sbin/cluster/utilities/cldomain

7、 在racnode1和racnode2上,建立oracle使用者:
命令為smitty user ,指定Oracle使用者的uid:500
兩個節點的uid保持一致。
修改使用者使用系統資源的限制
修改/etc/security/limits,新增內容如下:
    oracle:
fsize = -1
core = -1
cpu = -1
data = -1
rss = -1
stack = -1
nofiles = -1

8、 配置系統配置引數

配置每使用者的最大程式數、調整water mark

smitty chgsys
Maximum number of PROCESSES allowed per user       [4096] 2048    
HIGH water mark for pending write I/Os per file    [33] 0
LOW water mark for pending write I/Os per file     [24] 0   
Stack Execution Disable (SED) Mode                   off   sele     

配置網路可調引數,以root使用者執行下面命令:
no -r -o ipqmaxlen=512
no -o sb_max=2703360
no -r -o sb_max=2703360
no -r -o tcp_sendspace=65536
no -r -o tcp_recvspace=65536
no -r -o udp_sendspace=135168
no -r -o udp_recvspace=1351680
no -r -o rfc1323=1
vmo -p -o v_pinshm=1
重啟生效,(AIX5.3以上用上面方法修改引數,修改檔案/etc/rc.net的方法無效)。

調整syncd頻率
修改檔案/sbin/rc.boot
#nohup /usr/sbin/syncd 60 > /dev/null 2>&1 &
nohup /usr/sbin/syncd 10 > /dev/null 2>&1 &

9、 測試串列埠裝置
racnode1: cat /etc/hosts>/dev/tty0
racnode2: cat返回hosts檔案的內容。
10、 vi /etc/hosts.equiv
racnode1 root   #信任計算機racnode1上的使用者root。
racnode2 root
racnode1_pri root
racnode2_pri root
racnode1_vip root
racnode2_vip root
racnode1 oracle
racnode2 oracle
racnode1_pri oracle
racnode2_pri oracle
racnode1_vip oracle
racnode2_vip oracle

11.修改root使用者的.rhosts檔案
在racnode1 上編輯 /.rhosts
racnode1 root
racnode2 root
racnode1_pri root
racnode2_pri root
racnode1_vip root
racnode2_vip root
racnode1 oracle
racnode2 oracle
racnode1_pri oracle
racnode2_pri oracle
racnode1_vip oracle
racnode2_vip oracle

cp /.rhosts /usr/es/sbin/cluster/etc/rhosts
rcp /.rhosts racnode2: /usr/es/sbin/cluster/etc/rhosts
修改oracle使用者的.rhosts檔案,內容如下:
racnode1 root
racnode2 root
racnode1_pri root
racnode2_pri root
racnode1_vip root
racnode2_vip root
racnode1 oracle
racnode2 oracle
racnode1_pri oracle
racnode2_pri oracle
racnode1_vip oracle
racnode2_vip oracle

cp ./.rhosts /usr/es/sbin/cluster/etc/rhosts
rcp ./rhosts racnode1: /usr/es/sbin/cluster/etc/rhosts

12.以root oracle使用者分別執行rcp/rsh
rsh racnode1 date
rsh racnode2 date
rsh racnode1_pri date
rsh racnode2_pri date
rsh racnode1_vip date
rsh racnode2_vip date

13.檢查Oracle安裝使用的datavg

建立lv:
mklv -y ora_vote01 -t raw -T O datavg 1 hdisk5
mklv -y ora_crs01 -t raw -T O datavg 1 hdisk5
mklv -y ora_spfile -t raw -T O datavg 1 hdisk5
mklv -y ora_pwd -t raw -T O datavg 1 hdisk5
mklv -y db_control01 -t raw -T O datavg 1 hdisk5
mklv -y db_control02 -t raw -T O datavg 1 hdisk5
mklv -y db_control03 -t raw -T O datavg 1 hdisk5
mklv -y db_user01 -t raw -T O datavg 1 hdisk5
mklv -y db_sysaux01 -t raw -T O datavg 16 hdisk5
mklv -y db_system01 -t raw -T O datavg 16 hdisk5
mklv -y db_example -t raw -T O datavg 1 hdisk5
mklv -y db_temp01 -t raw -T O datavg 16 hdisk5
mklv -y db_undo1_01 -t raw -T O datavg 16 hdisk5
mklv -y db_undo2_01 -t raw -T O datavg 16 hdisk5
mklv -y db_redo1_01 -t raw -T O datavg 1 hdisk5
mklv -y db_redo1_02 -t raw -T O datavg 1 hdisk5
mklv -y db_redo1_03 -t raw -T O datavg 1 hdisk5
mklv -y db_redo1_04 -t raw -T O datavg 1 hdisk5
mklv -y db_redo1_05 -t raw -T O datavg 1 hdisk5
mklv -y db_redo2_01 -t raw -T O datavg 1 hdisk5
mklv -y db_redo2_02 -t raw -T O datavg 1 hdisk5
mklv -y db_redo2_03 -t raw -T O datavg 1 hdisk5
mklv -y db_redo2_04 -t raw -T O datavg 1 hdisk5
mklv -y db_redo2_05 -t raw -T O datavg 1 hdisk5

(兩個節點都要做)
chown root.oinstall ora_crs01
chown oracle.oinstall ora_vote01
chown oracle.dba ora_spfile
chown oracle.dba ora_pwd
chown oracle.dba db_*

chmod 660 ora*
chmod 660 db_*
二.HACMP配置
14.配置hacmp叢集
HACMP配置如下:
cluster name:    racapp
Network Name:   racnode1 racnode2
   Resource Group Name:   racrg
   Concurrent Volume Groups   datavg
配置Cluster name
#smitty hacmp
----&gt Extended Configuration
       ----&gt Extended Topology Configuration
            ----&gt Configure an HACMP Cluster
               ----&gt Add/Change/Show an HACMP Cluster   racapp

配置雙機節點
#smitty hacmp
Extended Configuration
        ----&gt Extended Topology Configuration
             ----&gt Configure HACMP Nodes
                 ----&gt Add a Node to the HACMP Cluster

在Node Name中輸入主機名racnode1,在Communication Path to Node中透過F4顯示的IP列表中選擇主機名scp1。
然後同樣加入另一個節點scp2。

配置Cluster網路
a、增加網路名
#smitty hacmp
        ---- > Extended Configuration
                ---- > Extended Topology Configuration
                        ---- > Configure HACMP Networks
                                ---- > Add a Network to the HACMP

在彈出的對話方塊中選中 # Pre-defined IP-based Network Types中的ether後,

在Network name欄中會預設生成一個網路名。

b、給剛才增加的網路名分配網路卡。
#smitty hacmp
        ---- > Extended Configuration
                ---- > Extended Topology Configuration
                        ----&gtConfigure HACMP Communication Interfaces/Devices
                                ---- > Add Communication Interfaces/Devices
Add discovered communication interface and devices

選擇communication interfaces

選擇建立的網路名net_ether_01,按Enter鍵。

選擇主、備機的boot、standby網路配置資訊。

c、增加串列埠,心跳資源。
#smitty hacmp
        ---- > Extended Configuration
                ---- > Extended Topology Configuration
                        ----&gtConfigure HACMP Communication Interfaces/Devices
                                ---- > Add Communication Interfaces/Devices
Add discovered communication interface and devices

選擇communication devices


選擇主、備機使用的串列埠

雙機資源配置
#smitty hacmp
        ---- > Extended Configuration
                ---- > Extended Resource Configuration
                ---- >HACMP Extended Resource Configuration


配置應用服務
   #smitty hacmp
        ---- > Extended Configuration
                ---- > Extended Resource Configuration
                        ----&gt HACMP Extended Resources Configuration
                                ---- > Configure HACMP Applications
                                     ----&gt Configure HACMP Application Servers
                                          ----&gtAdd an Application Server
修改資源組屬性
Change/Show Resources and Attributes for a Resource Group


輸入應用服務名,啟動、關閉指令碼的路徑。

雙機配置資源同步
#smitty hacmp
        ---- > Extended Configuration
                ----&gtExtended Verification and Synchronization


在automatically correct errors found during欄中選擇interactively,表示發現錯誤後,系統自動糾錯。


檢查HA是否正常
# lsvg –o
三.CRS安裝
15.修改Oracle使用者的.profile檔案
export ORACLE_BASE=/oracle
#export ORA_CRS_HOME=/oracle/crs
export ORACLE_HOME=/oracle/crs
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/bin
16.安裝CRS
16.1.執行rootpre.sh指令碼
該指令碼檢查作業系統環境是否符合安裝要求,並建立hagsuser組,手工使Oracle使用者屬於該組。
16.2.CRS安裝
在安裝 Oracle RAC 10g 資料庫軟體之前,必須先安裝 CRS。 CRS 需要在叢集的所有主機中共享兩個檔案: Oracle Cluster Registry (100MB)

和 CRS Voting Disk (20MB)。這些檔案可能儲存在原始裝置上。
掛載包含 CRS 介質的 CD 或檔案系統,並執行 runInstaller。
1. Welcome;單擊 Next
2. Specify Inventory Directory and Credentials — 預設值應該就是正確的;
3. 確保 inventory 目錄位於 ORACLE_BASE 目錄中(例如: /u01/app/oracle/oraInventory)並且作業系統組是“oinstall”,在安裝節點

(racnode1) 上執行 orainstRoot.sh。
4. Specify File Locations — 確認預設值後繼續
5. Language Selection — 確認預設值後繼續
6. Cluster Configuration — 輸入叢集名(或接受預設的“crs”)
7. Private Interconnect enforcement — 為每個介面指定介面型別(公共、專用或“不使用”)
en2 public
en3 privice
8. Oracle Cluster Registry — 在 clusterSpecify OCR Location 中輸入檔名:/dev/rora_crs01(注:不是/dev/ora_crs01)。
9. Voting Disk — 輸入 voting disk 名:/dev/rora_vote01(注:不是/dev/ora_vote01)。
10. Summary — 在出現提示時單擊 Install,從安裝節點開始,每次在一個節點上執行orainstRoot.sh和Oracle CRS 主目錄的
/oracle/crs/root.sh。
不要同時執行這些指令碼。 等一個指令碼結束後再啟動另一個。
11. 檢查CRS狀態: $olsnodes -n
         $oifcfg getif
    $crs_stat –t
四.Oracle資料庫安裝
17.Oracle資料庫的安裝
17.1 建立raw裝置配置檔案/home/oracle/raw.txt,內容如下:
   spfile=/dev/rora_spfile
pwdfile=/dev/rora_pwd
control1=/dev/rdb_control01
control2=/dev/rdb_control02
control3=/dev/rdb_control03
users=/dev/rdb_user01
sysaux=/dev/rdb_sysaux01
system=/dev/rdb_system01
example=/dev/rdb_example
temp=/dev/rdb_temp01

17.2設定 ORACLE_BASE 和 ORACLE_HOME 環境變數:
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/db
export TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
export DBCA_RAW_CONFIG=/home/oracle/raw.txt
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/bin

17.3 DATABASE安裝環境驗證
runcluvft.sh stage -pre datavg -n racnode1,racnode2 -osdba dba -verbose
17.4安裝Oracle檔案
   (1)執行runInstaller命令,在Welcome頁面中點選下一步。
(2)在Select Installation Type頁面中,選擇Custom,下一步。
(3)在Specify Home Details頁面中,進行如下設定:
Name:OUTHOME_DB
Path:/oracle/db
(4)在Specify Hardware cluster installation mode頁面中,選擇Cluster Installation,並且選中列表中的所有節點,然後下一步。
(5)在Available Product Components頁面中,將enterprise Edition Option目錄下除Oracle Partitioning之外的都去除(按需求)。
(6)下一個頁面為Product-specific Prerequisite Checks,檢查系統安裝要求是否滿足,如果沒有問題,則繼續下一步。
(7)在Create Database頁面中,選擇Install Database Software Only,下一步。
(8)Summary頁面,確認是否有誤,無誤則下一步。
(9)Install頁面,等待安裝完成。
(10)安裝到一定時候,提示執行指令碼,則按照提示資訊實行相關指令碼程式。
五.Oracle補丁安裝
18.打Oracle補丁
18.1在需升級的節點上關閉所有的RAC應用。
$ srvctl stop nodeapps -n node
以root使用者登入,關閉CLUSTERWARE。
# CRS_HOME/bin/crsctl stop crs
18.2首先打CRS補丁
(1)以root使用者執行/usr/sbin/slibclear指令碼。
(2)以Oracle使用者執行runInstaller指令碼
(3)在Specify Home Details頁面中,進行如下設定:
Name:OUTHOME_CRS
Path:/oracle/crs
   這將升級CRS。
(4)選擇“Next”,執行安裝。
(5)安裝到一定時候,提示執行指令碼,則按照提示資訊實行相關指令碼程式。
(6)補丁打完後,執行以下指令碼將自動啟動CLUSTERWARE:
# CRS_HOME/install/root102.sh
18.3 安裝DB補丁
10.2.0.3版本的補丁中,由於rawutl工具的問題,會導致建立資料庫時無法識別裸裝置,因此需恢復10.2.0.1中的rawutl工具,該程式在

$ORACLE_HOME/bin目錄中。
cp $ORACLE_HOME/bin/rawutl /home/oracle/rawutl
(1)以root使用者執行/usr/sbin/slibclear指令碼。
(2)以Oracle使用者執行runInstaller指令碼
(3)在Specify Home Details頁面中,進行如下設定:
Name:OUTHOME_DB
Path:/oracle/db
   這將升級DB。
(4)選擇“Next”,執行安裝。
(5)安裝到一定時候,提示執行指令碼,則按照提示資訊實行相關指令碼程式。
至此,Oracle補丁安裝完成。
六.VIP配置
19. 生成VIP
因為en2被設為public,而該網路卡的地址為私有地址,所以不會出現虛擬 IP 配置助手介面,需要手工啟動VIPCA。
(1)以root使用者執行./oracle/crs/bin/vipca
(2)Welcome — 單擊 Next
(3)Network Interfaces — 只選擇用於公共網路的介面(在本示例中為 en2)。 叢集中所有主機上的這個介面必須相同。
(4) Virtual IPs for cluster nodes — 輸入在 DNS 中所配置的每個主機的虛擬 IP 別名(主機名)和虛擬 IP 地址。
(5) Summary — 單擊 Finish。 VIP 配置助手建立並啟動 VIP、GSD 和 ONS 應用程式資源
(6) Configuration Results — 檢查結果並單擊 Exit。 在其他節點上依次執行 root.sh。
(7) 安裝結束。
    以Oracle使用者執行netca建立監聽。
七.建立SCORA例項
20.安裝Oracle RAC例項
以 oracle 使用者身份登入時,設定環境並執行 dbca。
在兩臺主機分別修改下列環境變數:
$ export ORACLE_SID = orarac1
$ export ORACLE_SID = orarac2
在dbtest1上執行:
$ dbca
1. Welcome — 選擇“Oracle Real Application Clusters database”
2. Operations — 建立資料庫
3. Node Selection — 單擊 Select All(racnode1,racnode2)
4. Database Templates — 通用
5. Database Identification — 全域性資料庫名: orarac
6. SID prefix-SID字首:orarac
7. Management Options — 利用 enterprise Manager 配置資料庫;使用資料庫控制進行資料庫管理
8. Database Credentials — 為所有帳戶使用相同的口令;輸入口令並再次確認
9. Storage Options — raw裝置
10. Database File Locations — 為所有資料庫檔案使用相同的位置 (/u02/oradata)
11. Recovery Configuration — 單擊 Next
12. Database Content — 示例模式
13. Initialization Parameters — 記憶體、典型
14. Database Storage — 單擊 Next
15. Create Options — 選擇“Create Database”
16. Summary — 檢查總結資訊並單擊 OK。

21.客戶機tnsnames.ora
orarac =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.181.3)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.181.3)(PORT = 1521))
)
(LOAD_BALANCE = yes)
(failover=on)
    (CONNECT_DATA =
      (SERVICE_NAME = orarac)
    )
)

orarac1 =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.181.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orarac1)
    )
)

orarac2 =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.150.181.3)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orarac2)
    )
)
八.錯誤處理及作業系統最佳化
22.安裝過程出現的錯誤及處理

22.1 用下面命令啟動Oracle資料庫
$srvctl start database –d scora
報下面錯誤:
ora-27504 IPC error creating OSD context
ora-27300 OS system dependent operation:sendmsg failed with status:59
ora-27301 OS failure message:Message too long
ora-27302 failure occurred at:sskgxpsnd1
原因是作業系統中網路引數沒有設定正確,用下面命令重設網路引數:
   no -r -o ipqmaxlen=512
no -o sb_max=2703360
no -r -o sb_max=2703360
no -r -o tcp_sendspace=65536
no -r -o tcp_recvspace=65536
no -r -o udp_sendspace=135168
no -r -o udp_recvspace=1351680
no -r -o rfc1323=1
vmo -p -o v_pinshm=1
重啟作業系統,資料庫恢復正常。

22.2 重起HACMP以後,第二個節點的Oracle不能啟動

原因是重啟HACMP以後,第二個節點的裸裝置的屬性被AIX修改為屬於root使用者,system組,導致Oracle使用者沒有訪問許可權,重新用chown,chmod修改許可權,問題解決。為防止該問題再發生,將下面語句加入HACMP的啟動指令碼/usr/es/start.sh中:

chown root.oinstall ora_crs01
chown oracle.oinstall ora_vote01
chown oracle.dba ora_spfile
chown oracle.dba ora_pwd
chown oracle.dba db_*

chmod 660 ora*
chmod 660 db_*

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

相關文章