AIX 6.1 Oracle11g 11.2.0.4 RAC 安裝心得

路途中的人2012發表於2017-04-01

RAC安裝過程中涉及多個使用者,多種工具,這裡列出常見命令提示符:

#  UNIXSHELL提示符,表示root使用者的登入

$  UNIXSHELL提示符,表示oracl使用者或grid使用者的登入


安裝RAC是一個比較耗時,並且容易出錯的過程。最重要的階段是安裝前的準備,準備工作越充分,安裝就會越順利。在這個階段對硬體、軟體進行一系列的配置,如配置儲存、網路、引數、許可權等步驟繁多,環環相扣,一樣都不能馬虎。在專案實施期間,資料庫工程師往往是後出場的角色,前面有系統工程師安裝好作業系統,安裝所需的包,調通網路。儲存工程師劃分好磁碟櫃,安裝多路徑軟體,接下來才能開始安裝Oracle資料庫。有些必要的包最好在安裝前和其他工程師溝通好,按照版本要求安裝,以免在安裝Oracle資料庫時發現缺東少西的十分麻煩。

 

AIX的作業系統無法再虛擬機器下安裝,沒接觸過AIX作業系統的同學會感覺陌生。其實和Linux相比安裝方法是大同小異,或者說沒有差異,只是在前期的配置有些不同,具體細節在下文中會有所體現。                                                                                                                

統配置

1號機主機名
cjscora01
2號機主機名
cjscora02
1號機IP及虛擬IP
10.157.140.1  10.157.140.3
2號機IP及虛擬IP
10.157.140.2  10.157.140.4
SCAN IP
10.157.140.5


資料庫安裝配置
  

 

ORACLE_BASE

grid/oracle/app/grid

oracle/oracle/app/oracle

ORACLE_HOME 

grid/oracle/app/11.2.0/grid

oracle /oracle/app/oracle/11.2.0/db

ORACLE_SERVICE_NAME

eicdb

資料檔案路徑

+DATA

Oracle管理員帳戶口令

oracle

資料庫元件

全選

標準資料庫功能

全選

初始化引數:

  Memory size

 

160G

資料庫引數:

   db_block_size

   character set(字符集)

 

8k

ZHS16GBK

是否使用歸檔方式執行資料庫

如果使用歸檔方式執行資料庫,歸檔路徑位置

+ARCH


































安裝過程

一、每個節點的硬體要求:

1、記憶體:至少4GB。此次實施的伺服器為IBM780,記憶體配置為192GB

#/usr/sbin/lsattr –E –l sys0 –a realmem

MemTotal:     201326592 kB

 

2、交換分割槽:分配24GB

#/usr/sbin/lsps -a

SwapTotal:   25165824 kB

 

注意:所有節點的CPU主頻、記憶體大小應該大致相當,這樣當在做節點間切換時,兩個節點的處理能力不會有較大差異。本次專案專案採用的伺服器為IBM780,記憶體192GB,32顆CPU,配置比較不錯。

二、作業系統要求:

1、系統包要求

AIX 6.1 required packages:
bos.adt.base
bos.adt.lib
bos.adt.libm
bos.perf.libperfstat 6.1.2.1 or later
bos.perf.perfstat
bos.perf.proctools
rsct.basic.rte (For RAC configurations only)
rsct.compat.clients.rte (For RAC configurations only)
xlC.aix61.rte:10.1.0.0 or later
gpfs.base 3.2.1.8 or later (Only for RAC)

 

APARs for AIX 6.1:
IZ41855
IZ51456
IZ52319
IZ97457
IZ89165

 

注意:為了透過SSH在兩個節點間建立對等關係,需要在每個節點上安裝以下軟體。

.bash

.openssl

.openssh

2tmp分割槽

[root@db1 /]# df –k

至少1GB

 

3、系統版本

[root@db1 /]# oslevel -s

6100-05-11-1140

 

注意:首選的作業系統版本一定是最穩定的而不一定是最新的。本次作業系統採用了比較保守的6100-05-11-1140

,本次安裝系統的IBM工程師經驗豐富,推薦我們採用了這個版本。

 

4、系統核心引數

smitty chgsys

Maximum number of processes available to a single user    [16384]

 

注意:該引數的預設值偏小,在高併發的生產環境下,session數和process數都比較高,在圖形安裝頁面時如果只是把process調高而相對應的該引數沒有及時調整會報出一個警告。

5、建使用者和組,配置環境變數

mkgroup -'A' id='1000' adms='root' oinstall

mkgroup -'A' id='1020' adms='root' asmadmin

mkgroup -'A' id='1021' adms='root' asmdba

mkgroup -'A' id='1022' adms='root' asmoper

mkgroup -'A' id='1031' adms='root' dba

mkgroup -'A' id='1032' adms='root' oper

 

mkuser id='1001' pgrp='oinstall' groups='dba,asmdba,asmadmin,oper' home='/home/oracle' oracle

mkuser id='1002' pgrp='oinstall' groups='asmadmin,asmdba,asmoper,oper,dba' home='/home/grid' grid

passwd grid

passwd oracle

 

分別用gridoracle使用者登陸一次,修改密碼。

 

gridoracle使用者授權

檢查許可權

# /usr/bin/lsuser -a capabilities grid

/usr/bin/lsuser -a capabilities oracle

授權命令如下:

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE grid

/usr/bin/chuser capabilities=CAP_NUMA_ATTACH,CAP_BYPASS_RAC_VMM,CAP_PROPAGATE oracle

 

6Grid使用者環境變數設定如下:

節點1

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM1; export ORACLE_SID

ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE

ORACLE_HOME=/oracle/app/11.2.0/grid; export ORACLE_HOME

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

節點2

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_SID=+ASM2; export ORACLE_SID

ORACLE_BASE=/oracle/app/grid; export ORACLE_BASE

ORACLE_HOME=/oracle/grid; export ORACLE_HOME

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

7Oracle使用者環境變數設定如下:

節點1

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/11.2.0/db; export ORACLE_HOME

ORACLE_SID= oradb1; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

節點2

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/oracle/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/11.2.0/db; export ORACLE_HOME

ORACLE_SID= oradb2; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

 

8、設定shell限制

vi /etc/security/limits.conf

檔案中加入

default:

       fsize = -1

       core = 2097151

       cpu = -1

       data = -1

       rss = -1

       stack = -1

       nofiles = -1

       stack_hard = -1

 

grid :

       core = -1

oracle :

       core = -1

 

注意:針對grid使用者和oracle使用者,需要分別設定它們在SHELL中對資源的使用情況,如對CPU、記憶體、資料段等。為了保證資料庫能夠執行,需要這些資源的限制取消,也就是-1,或者設定為Oracle推薦的值。

9、檢查Core File Creation是否啟用

用如下命令檢查是否enable

lsattr -El sys0 -a fullcore

fullcore false Enable full CORE dump True

 

1. Set the ulimit setting for core dumps to unlimited:

# ulimit -c unlimited

2. Set the ulimit setting for core files to unlimited:

# ulimit -f unlimited

10、建立相應目錄

# mkdir -p /oracle/app/oracle/11.2.0/db

# mkdir -p /oracle/app/grid/

# mkdir -p /oracle/grid

# mkdir -p /oracle/app/oraInventory

# chown -R oracle:oinstall /oracle/app/oracle

# chown -R grid:oinstall /oracle/grid

# chown -R grid:oinstall /oracle/app/grid

# chown -R grid:oinstall /oracle/app/oraInventory

# chmod -R 775 /oracle/

 

11、刪除ntp服務,使用oracle時間同步器

# stopsrc -s xntpd

# mv /etc/ntp.conf /etc/ntp.conf.org

注意:RAC叢集在執行的過程中要求各節點的時鐘進行同步。常用的同步方法有兩種,一種是利用作業系統提供的NTP服務;另一種是用Oracle提供的叢集時間同步軟體。此次專案採用第二種方式。為了避免衝突,將/etc/ntp.conf檔案改名,使其失效。

12、網路引數調整

檢查引數

 /usr/sbin/no -a | fgrep ephemeral

tcp_ephemeral_low = 32768

tcp_ephemeral_high = 65535

udp_ephemeral_low = 32768

udp_ephemeral_high = 65535

 

修改引數如下

/usr/sbin/no -p -o tcp_ephemeral_low=9000 -o tcp_ephemeral_high=65500

/usr/sbin/no -p -o udp_ephemeral_low=9000 -o udp_ephemeral_high=65500

 

13、其他引數調整

檢查系統知否執行在compatibility mode

lsattr -E -l sys0 -a pre520tune

 

如果返回 pre520tune enable Pre-520 tuning compatibility mode True

則系統執行在compatibility mode

 

修改引數方法如下:

# no -o parameter_name=value

 

在/etc/rc.net檔案中新增

if [ -f /usr/sbin/no ] ; then

/usr/sbin/no -o udp_sendspace=65536

/usr/sbin/no -o udp_recvspace=655360

/usr/sbin/no -o tcp_sendspace=65536

/usr/sbin/no -o tcp_recvspace=65536

/usr/sbin/no -o rfc1323=1

/usr/sbin/no -o sb_max=4194304

/usr/sbin/no -o ipqmaxlen=512

fi

 

如果上述命令的執行結果為:

pre520tune disable Pre-520 tuning compatibility mode True,系統未執行在compatibility mode

修改引數方法如下:

 

/usr/sbin/no -r -o ipqmaxlen=512

/usr/sbin/no -p -o rfc1323=1

/usr/sbin/no -p -o sb_max=4194304

/usr/sbin/no -p -o tcp_recvspace=65536

/usr/sbin/no -p -o tcp_sendspace=65536

/usr/sbin/no -p -o udp_recvspace=655360

/usr/sbin/no -p -o udp_sendspace=65536

 

三、配置節點間互信關係

1、修改/etc/hosts加入下面內容:

vi /etc/hosts

127.0.0.1               loopback localhost      # loopback (lo0) name/address

10.157.140.1      cjscora01

10.157.140.3      cjscora01-vip

192.168.150.1     cjscora01-priv

10.157.140.2      cjscora02

10.157.140.4      cjscora02-vip

192.168.150.2     cjscora02-priv

10.157.140.5      cjscora-scan

 

2、配置使用者等效性

這部分操作是傳統的做法,在oracle11g R2版本後我們可以省去這部分手工操作,在圖形化安裝叢集軟體的過程中配置,只需點點滑鼠就可完成所有的工作。

配置grid使用者等效性

在節點一執行下命令:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

 

$ /usr/bin/ssh-keygen -t rsa

$ /usr/bin/ssh-keygen -t dsa

 

$ touch ~/.ssh/authorized_keys

 

$ ssh cjscora01 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora01 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/grid/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/grid/.ssh/id_dsa.pub >> authorized_keys

 

$chmod 600 ~/.ssh/authorized_keys

 

$ exec /usr/bin/ssh-agent $SHELL

$ /usr/bin/ssh-add

 

$ scp authorized_keys cjscora02:/home/grid/.ssh     --將grid金鑰複製到節點二

 

$ ssh cjscora01 date

$ ssh cjscora02 date

$ ssh cjscora01-priv date

$ ssh cjscora02-priv date

 

 配置oracle使用者等效性

在節點一執行下面命令建立oracle金鑰:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

 

$ /usr/bin/ssh-keygen -t rsa

$ /usr/bin/ssh-keygen -t dsa

 

$ touch ~/.ssh/authorized_keys

 

$ ssh cjscora01 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora01 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/oracle/.ssh/id_rsa.pub >> authorized_keys

$ ssh cjscora02 cat /home/oracle/.ssh/id_dsa.pub >> authorized_keys

 

$chmod 600 ~/.ssh/authorized_keys

 

$ exec /usr/bin/ssh-agent $SHELL

$ /usr/bin/ssh-add

 

$ scp authorized_keys cjscora02:/home/oracle/.ssh      --將oracle金鑰複製到節點二

 

$ ssh cjscora01 date

$ ssh cjscora02 date

$ ssh cjscora01-priv date

$ ssh cjscora02-priv date

 

四、配置ASM磁碟         

--須透過下面的步驟確認磁碟可用且一致,兩節點都執行

1、檢查磁碟數量

/usr/sbin/lspv | grep -i none

 

hdisk4          none                                None                                

hdisk5          none                                None                               

hdisk6          none                                None                               

hdisk7          none                                None                                

……

hdisk315        none                                None

 

2、給磁碟分配pv id

外部儲存裝置中的同一塊硬碟在不同節點上的名稱可能會不同。同一個硬碟在節點一中的名稱可能是hdisk4,在節點二中的名稱可能是hdisk5.雖然ASM例項能正確識別這樣的硬碟,但對於管理員來說可能會產生歧義。不管怎樣,這塊硬碟有一個不變的屬性是PVID,無論在節點一還是節點二下都是一樣的。透過下面的命令可以產生硬碟的PVID

chdev -l hdisk4  -a pv=yes 

chdev -l hdisk5  -a pv=yes 

chdev -l hdisk6  -a pv=yes 

chdev -l hdisk7  -a pv=yes 

……

chdev -l hdisk100 -a pv=yes

 

3、檢查pv id是否在兩個節點間一一對應

cjscora01#lspv

hdisk4          00f76fa9f361157b                    None                                

hdisk5          00f76fa9f36116a5                    None                               

hdisk6          00f76fa9f36117d0                    None                               

hdisk7          00f76fa9f3611901                    None                                

……

hdisk315         00f76fb4f3612dce                    None 

 

cjscora02# lspv

hdisk4          00f76fa9f361157b                    None                               

hdisk5          00f76fa9f36116a5                    None                                

hdisk6          00f76fa9f36117d0                    None                               

hdisk7          00f76fa9f3611901                    None                               

……

Hdisk315        00f76fb4f3612dce                    None 

 

4、修改磁碟許可權

本專案使用ASM,需要指定ASM磁碟中所要包含的磁碟,並保證grid使用者有對這些磁碟的寫許可權

# chown grid:asmadmin /dev/rhdiskn       --修改磁碟屬組命令示例

       

chown grid:asmadmin /dev/rhdisk4        

chown grid:asmadmin /dev/rhdisk5        

chown grid:asmadmin /dev/rhdisk6        

chown grid:asmadmin /dev/rhdisk7        

……

chown grid:asmadmin /dev/rhdisk315 

 

# chmod 660 /dev/rhdiskn                  --修改磁碟許可權命令示例

 

chmod 660 /dev/rhdisk4

chmod 660 /dev/rhdisk5

chmod 660 /dev/rhdisk6

chmod 660 /dev/rhdisk7

……

chmod 660 /dev/rhdisk315

 

5、檢查磁碟屬性

有些型號的儲存設別具有reserve_lock或者reserve_policy屬性,這兩個屬性的存在會阻止多個節點對儲存裝置進行並行讀寫,所以在安裝叢集軟體之前應該對其屬性進行修改。

lsattr -E -l hdisk4  |grep reserve_

lsattr -E -l hdisk5  |grep reserve_

lsattr -E -l hdisk6  |grep reserve_

lsattr -E -l hdisk7  |grep reserve_

……

lsattr -E -l hdisk315 |grep reserve_

 

6、設定磁碟屬性為reserve_lock=noreserve_policy=no_reserve

chdev -l hdiskn -a [ reserve_lock=no | reserve_policy=no_reserve ]

 

chdev -l hdisk4 –a reserve_policy=no_reserve

chdev -l hdisk5 –a reserve_policy=no_reserve

chdev -l hdisk6 –a reserve_policy=no_reserve

chdev -l hdisk7 –a reserve_policy=no_reserve

……

chdev -l hdisk100–a reserve_policy=no_reserve

 

7、清除磁碟pvid

透過PVID可以在不同節點中對比、確認同一塊硬碟,但是在安裝叢集軟體之前應該在每個節點上將PVID清除掉,否則在安裝過程中可能會出現錯誤。

chdev -l hdisk4  -a pv=clear 


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

相關文章