環境:HP-UX 11.31 + GI 11.2.0.4 + Oracle 11.2.0.4
背景:本文只對HP-UX平台安裝11g RAC環境過程中,針對一些跟Linux平台有差異的地方進行簡單記錄備忘。
關於安裝部署11g RAC的完整過程可參考:http://www.cnblogs.com/jyzhao/p/4679203.html
1. 查看網絡
``` netstat -in ```2. 新建用戶
新建用戶的默認用戶目錄是需要手工賦權和指定的,比如: ``` mkdir -p /home/grid mkdir -p /home/oracle chown grid:oinstall /home/grid chown oracle:oinstall /home/oracleuseradd -g oinstall -G asmadmin,asmdba,asmoper -u 700 -d /home/grid grid
useradd -g oinstall -G dba,asmdba,oper -u 800 -d /home/oracle oracle
<h1 id="3">3. 異步I/O</h1>
開啟異步I/O,查看/dev/async的信息:
root@rnopdb01:/dev/rdisk #ll /dev/async
crw-rw-rw- 1 bin bin 101 0x000000 Mar 15 12:53 /dev/async
root@rnopdb01:/dev/rdisk #
root@rnopdb01:/dev/rdisk #
root@rnopdb01:/dev/rdisk #
root@rnopdb01:/dev/rdisk #
root@rnopdb01:/dev/rdisk #rm /dev/async
root@rnopdb01:/dev/rdisk # /sbin/mknod /dev/async c 101 0x4
root@rnopdb01:/dev/rdisk #chmod 666 /dev/async
root@rnopdb01:/dev/rdisk #ll /dev/async
crw-rw-rw- 1 root sys 101 0x000004 Mar 19 11:11 /dev/async
<h1 id="4">4. 手動配置互信</h1>
grid用戶配置互信:
1).在主節點rnopdb01上grid用戶下,ssh-keygen生成密鑰
su – grid
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
2).在節點rnopdb02上執行相同的操作,確保通信無阻
su – grid
$ mkdir ~/.ssh
$ ssh-keygen -t rsa
$ ssh-keygen -t dsa
3).在主節點rnopdb01上grid用戶執行以下操作
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ ssh rnopdb02 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh rnopdb02 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ scp ~/.ssh/authorized_keys rnopdb02:~/.ssh/authorized_keys
ssh rnopdb01
ssh rnopdb02
oracle用戶配置互信方法同上。
<h1 id="5">5. 預安裝檢查</h1>
./runcluvfy.sh stage -pre crsinst -n rnopdb01,rnopdb02 -verbose
保證一切通過即ok。
Check: Kernel parameter for "tcp_smallest_anon_port"
Node Name Current Required Status
rnopdb02 49152 9000 failed (ignorable)
rnopdb01 49152 9000 failed (ignorable)
Result: Kernel parameter check failed for "tcp_smallest_anon_port"
Check: Kernel parameter for "tcp_largest_anon_port"
Node Name Current Required Status
rnopdb02 65535 65500 failed (ignorable)
rnopdb01 65535 65500 failed (ignorable)
Result: Kernel parameter check failed for "tcp_largest_anon_port"
Check: Kernel parameter for "udp_smallest_anon_port"
Node Name Current Required Status
rnopdb02 49152 9000 failed (ignorable)
rnopdb01 49152 9000 failed (ignorable)
Result: Kernel parameter check failed for "udp_smallest_anon_port"
Check: Kernel parameter for "udp_largest_anon_port"
Node Name Current Required Status
rnopdb02 65535 65500 failed (ignorable)
rnopdb01 65535 65500 failed (ignorable)
Result: Kernel parameter check failed for "udp_largest_anon_port"
--solution
tcp_smallest_anon_port
kctune -h -B tcp_smallest_anon_port="9000"
kctune -h -B tcp_largest_anon_port="65500"
kctune -h -B udp_smallest_anon_port="9000"
kctune -h -B udp_largest_anon_port="65500"
有時候在調整內核參數的時候會提示如下的錯誤:
ERROR: The tunable 'maxswapchunks' is not known.
一般是由於內核參數沒有該項造成的,我們可以使用#kctune -u maxswapchunks="16384"來增加,下次啟動后就會生效。
kctune -u tcp_smallest_anon_port="9000"
kctune -u tcp_largest_anon_port="65500"
kctune -u udp_smallest_anon_port="9000"
kctune -u udp_largest_anon_port="65500"
<h1 id="6">6. xterm圖形化</h1>
在xterm工具中,HP-UX需要選擇CDE。
<h1 id="7">7. ASM磁盤組權限</h1>
對於grid和oracle分開安裝的Oracle系統,
建議設置ASM磁盤為grid:oinstall,權限設置為660。比如:
chown grid:oinstall disk1001
chown grid:oinstall disk1002
chown grid:oinstall disk1003
...
chmod 660 disk1001
chmod 660 disk1002
chmod 660 disk1003
...
<h1 id="8">8. scan IP修改</h1>
若后續有修改scan IP的需求,
參考文檔 ID 972500.1
--1. As grid user stop resources:
$ $GRID_HOME/bin/srvctl stop scan_listener
$ $GRID_HOME/bin/srvctl stop scan
然后修改/etc/hosts文件中SCAN IP Lable對應的IP地址
--2. As root user modify SCAN:
$GRID_HOME/bin/srvctl modify scan -n pay-scan.us.oracle.com
--3. As grid user modify and start resources:
$ $GRID_HOME/bin/srvctl modify scan_listener -u
$ $GRID_HOME/bin/srvctl start scan_listener
--4. To confirm the change
$ $GRID_HOME/bin/srvctl config scan
SCAN name: pay-scan.us.oracle.com, Network: 1/10.4.0.0/255.255.255.0/eth1
SCAN VIP name: scan1, IP: /10.4.0.201/120.0.0.201
SCAN VIP name: scan2, IP: /10.4.0.202/120.0.0.202
SCAN VIP name: scan3, IP: /10.4.0.203/120.0.0.203
$ $GRID_HOME/bin/srvctl config scan_listener
SCAN Listener LISTENER_SCAN1 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN2 exists. Port: TCP:1521
SCAN Listener LISTENER_SCAN3 exists. Port: TCP:1521