HP-UX oracle RAC 雙機實踐

來源:互聯網
上載者:User
一、軟硬體設定檢查1、檢查記憶體
#/usr/contrib/bin/machinfo
CPU info:
  4 Intel(R) Itanium 2 9100 series processors (1.59 GHz, 18 MB)
          532 MT/s bus, CPU version A1
          8 logical processors (2 per socket)Memory: 32737 MB (31.97 GB)Firmware info:
   Firmware revision:  04.11
   FP SWA driver revision: 1.18
   IPMI is supported on this system.
   BMC firmware revision: 5.24Platform info:
   Model:                  "ia64 hp server rx6600"
   Machine ID number:      85468ec4-4ed7-11de-b9fa-eb58278042cf
   Machine serial number:  SGH4917N5POS info:
   Nodename:  rx6600b
   Release:   HP-UX B.11.31
   Version:   U (unlimited-user license)
   Machine:   ia64
   ID Number: 2235993796
   vmunix _release_version:              
@(#) $Revision: vmunix:    B.11.31_LR FLAVOR=perf 2、檢查交換空間
#/usr/sbin/swapinfo -a
             Kb      Kb      Kb   PCT  START/      Kb
TYPE      AVAIL    USED    FREE  USED   LIMIT RESERVE  PRI  NAME
dev     8388608       0 8388608    0%       0       -    1  /dev/vg00/lvol2
reserve       -  579384 -579384
memory  31886172 4310692 27575480   14%對於小於2g實體記憶體的系統,設定為實體記憶體的2倍。對應大於2g記憶體的系統,設定為跟實體記憶體同樣大小。3、檢查臨時空間
#bdf  /tmp
Filesystem          kbytes    used   avail %used Mounted on
/dev/vg00/lvol4    2097152  548944 1536784   26% /tmp保證至少400m,推薦1g
如果沒有400M可以設定oracle使用者的環境變數,增加臨時空間
$ oracle使用者執行 vi ~/.profile,增加
export TEMP=/directory
export TMPDIR=/directory
可以線上擴充檔案系統4、建立 oracle 安裝目錄,包括 crs (安裝在共用儲存上)
#lvcreate -L 15g  -n lv_ora  /dev/vg00
#newfs -F vxfs  /dev/vg00/rlv_ora
#mkdir  /oracle
#vi /etc/fstab   增加自動掛載
#mount /oracle5、查看是否開啟RAW裝置的非同步I/O
# swlist | grep -i -e extsw -e gold -e qpk
QPKBASE               B.11.31.0903.334a Base Quality Pack Bundle for HP-UX 11i v3, March 2009 # ll /dev/async  (預設是開啟的)
 crw-rw-rw- 1 bin bin 101 0x000000 Jun 9 09:38 /dev/async沒有開啟可以通過一下方法開啟
#建立/dev/async character device
/sbin/mknod /dev/async c 101 0x0
chown oracle:dba /dev/async
chmod 660 /dev/async
#用SAM在 kernel配置async driver
=> Kernel Configuration
=> Kernel
=> the driver is called 'asyncdsk'
Generate new kernel(產生新的kernel)
重啟
# shutdown -r -y 0
#用sam設定HP-UX kernel參數
max_async_ports = init.ora參數中指定的processes值 + oracle後台進程的數量
aio_max_ops = 預設20486、檢查系統時間是否同步
#date
查看每個節點的日期時間,儘可能的同步,如果不同步,用date MMDDHHMIYY ,比如2007/09/09 10:21,可以如下設定:date 0909102107進行同步7、檢查符合的串連是否存在
cd /usr/lib
ls libX*.sl
# 如果不存在需要建立
cd /usr/libln -s libX11.3 libX11.sl
ln -s libXIE.2 libXIE.sl
ln -s libXext.3 libXext.sl
ln -s libXhp11.3 libXhp11.sl
ln -s libXi.3 libXi.sl
ln -s libXm.4 libXm.sl
ln -s libXp.2 libXp.sl
ln -s libXt.3 libXt.sl
ln -s libXtst.2 libXtst.slls -al libX*.sl8、查看網路介面
#查看各個介面
#lanscan  
Hardware Station        Crd Hdw   Net-Interface  NM  MAC       HP-DLPI DLPI
Path     Address        In# State NamePPA        ID  Type      Support Mjr#
0/4/2/0  0x001A4B09924C 0   UP    lan0 snap0     1   ETHER     Yes     119
0/4/2/1  0x001A4B09924D 1   UP    lan1 snap1     2   ETHER     Yes     119
LinkAgg0 0x000000000000 900 DOWN  lan900 snap900 4   ETHER     Yes     119
LinkAgg1 0x000000000000 901 DOWN  lan901 snap901 5   ETHER     Yes     119
LinkAgg2 0x000000000000 902 DOWN  lan902 snap902 6   ETHER     Yes     119
LinkAgg3 0x000000000000 903 DOWN  lan903 snap903 7   ETHER     Yes     119
LinkAgg4 0x000000000000 904 DOWN  lan904 snap904 8   ETHER     Yes     119 
#顯示各個介面的ip和狀態 (需要保證每台節點上使用的介面具有相同的名字)
#netstat -in
Name      Mtu  Network         Address         Ipkts              Ierrs Opkts              Oerrs Coll
lo0      32808 127.0.0.0       127.0.0.1       58845              0     58845              0     0  
lan1      1500 192.168.1.0     192.168.1.3     91391              0     178583             0     0  
lan0      1500 10.160.8.0      10.160.8.12     6760363            0     640706             0     0 # 顯示指定介面的當前配置
#ifconfig lanX
保證一個介面比如lan0為外部串連用,一個介面如lan1為內部心跳線。vip的ip跟外部介面要在一個網段9、編輯 /etc/hosts
#vi /etc/hosts
192.168.1.2     rx6600a-priv
192.168.1.3     rx6600b-priv10.160.8.11     rx6600a
10.160.8.12     rx6600b10.160.8.15     rx6600a-vip
10.160.8.16     rx6600b-vip
127.0.0.1       localhost       loopback//注意: hosts中必須存在127.0.0.1的條目,且只能對應localhost相關,不能對應hostname;如果不設定127.0.0.1,則無法正常啟動資料庫。#vi .rhosts
rx6600a root
rx6600b root
rx6600a-priv root
rx6600b-priv root
rx6600a-vip  root
rx6600b-vip root# su - oracle
#vi .rhosts
rx6600a  oracle
rx6600b oracle
rx6600a-priv oracle
rx6600b-priv oracle
rx6600a-vip  oracle
rx6600b-vip oracle 10、查看hp-ux的具體patch 和pack
/usr/sbin/swlist -l bundle | grep xxxName
/usr/sbin/swlist -l patch
/usr/sbin/swlist -l patch <patch_number>
/usr/sbin/swlist -l product |grep Serviceguard
  PHSS_38558            1.0            Serviceguard eRAC A.11.18.00
  PHSS_39484            1.0            Serviceguard A.11.18.00
  SG-NMAPI              A.11.18.00     SG-NMAPI Serviceguard Extension for RAC SD product
  SG-RAC-Tool           A.11.18.00     Serviceguard Extension for RAC Toolkit SD Product
  SGManagerPI           B.01.01        HP Serviceguard Manager
  SGWBEMProviders       A.02.00.00     HP Serviceguard WBEM Providers SD Product
  ServiceGuard          A.11.18.00     Serviceguard SD Product 注:Hp-ux 11.31的預設安裝過程,能夠滿足oracle 10.2.0.1的安裝需求。二、安裝MC/SG1、安裝MC/SG
#mount /dev/cdrom  /cdrom
#swinstall -s /cdrom
2、建立鎖盤
#ioscan -m dsf   //察看磁碟
#pvcreate -f /dev/disk/disk27
#mkdir /dev/vglock
#mknod /dev/vglock/group  c 64  0x010000  (這裡注意group不能重複)
#vgcreate /dev/vglock /dev/disk/disk27 (將物理磁碟disk23加給該卷組)
#strings /etc/lvmtab
/dev/vg00
/dev/disk/disk1_p2
/dev/vglock
/dev/disk/disk27
/dev/vgcrs
/dev/disk/disk33
/dev/vgdata2
/dev/disk/disk28
/dev/disk/disk34
/dev/vgdata1
/dev/disk/disk25
/dev/disk/disk26
#vgchange -a n /dev/vglock
#vgexport -s -p -v -m /tmp/vglock.map  /dev/vglock
#rcp /tmp/vglock.map rx6600b:/tmp/
#vgimport -s -m  /tmp/vglock.map3、建立concurrent VG 及相關檔案系統或 LV raw
#ioscan -m dsf
#pvcreate -f /dev/rdisk/disk12
#mkdir /dev/vg03
#mknod /dev/vg03/group c 64 0x030000
#vgcreate vg03 /dev/disk/disk12
#lvcreate -L 1000 -n mylv vg03     建立檔案系統
#newfs -F vxfs /dev/vg03/mylv
#mkdir /oradata                  建mount目錄
#mount /dev/vg03/mylv /oradata    mount檔案系統
開機自動掛載檔案系統
#vi /etc/fstab
如果是要共用的vg 則:
 #vgchange -a n vg03           關閉卷組
 #vgexport -p -s -m /tmp/map1 vg03    匯出卷組配置資訊(注:-p是保留卷組資訊,-s是設為共用,-m /tmp/map1是產生map1卷組資訊資訊檔)
 #rcp /tmp/map1 rx6600b:/tmp/map1   拷貝檔案到主機B上
在 rx6600b 機器上
   #mkdir /dev/vg03             建立裝置卷目錄
   #mknod /dev/vg03/group c 64 0x030000  建立卷控制檔案
(註:03是機器上唯一的,先用ls -l */group查看是否已存在,如已存在03,將改變此值,取值:00-16)
   #vgimport -s -m /tmp/map1 vg03    匯入vg03卷組資訊
   #strings /etc/lvmtab       查看匯入的卷組配置
   #vgchange -a y vg03       啟用vg03卷組
   #mkdir /oradata            建mount目錄(與主機A相同)
   #mount /dev/vg03/mylv /oradata    mount檔案系統將VG設定為非自動啟用
#vi /etc/lvmrc
其中
AUTO_VG_ACTIVATE=1 修改為04、MC/SG 配置
#cd /etc/cmcluster          進入cluster的預設目錄
#cmquerycl -C cluster.ascii -n rx6600 -n rx6600  建立cluster文字檔
#vi cluster.ascii              編輯cluster ASCII 檔案,更改cluste name、鎖盤、節點心跳時間、包數量CLUSTER_NAME            cluster1
FIRST_CLUSTER_LOCK_VG           /dev/vglockNODE_NAME               rx6600a
NETWORK_INTERFACE     lan0
HEARTBEAT_IP        10.160.8.11
NETWORK_INTERFACE     lan1
HEARTBEAT_IP        192.168.1.2
#  CLUSTER_LOCK_LUN    
FIRST_CLUSTER_LOCK_PV  /dev/disk/disk27NODE_NAME               rx6600b
  NETWORK_INTERFACE     lan0
    HEARTBEAT_IP        10.160.8.12
  NETWORK_INTERFACE     lan1
    HEARTBEAT_IP        192.168.1.3
#  CLUSTER_LOCK_LUN    
  FIRST_CLUSTER_LOCK_PV /dev/disk/disk32HEARTBEAT_INTERVAL              1000000
NODE_TIMEOUT            2000000AUTO_START_TIMEOUT      600000000
NETWORK_POLLING_INTERVAL        2000000MAX_CONFIGURED_PACKAGES         4///// VOLUME_GROUP          /dev/vg02          熱備雙機時,設定OPS_VOLUME_GROUP                /dev/vglock                //並發VG 的設定,用於 oracle RAC
OPS_VOLUME_GROUP                /dev/vgcrs
OPS_VOLUME_GROUP                /dev/vgdata2
OPS_VOLUME_GROUP                /dev/vgdata1#cmcheckconf -C cluster.ascii      檢查cluster、節點配置情況
#cmapplyconf -C cluster.ascii      建立cluster
#cmruncl -v  
#cmviewcl -v    5.佈建服務包運行指令碼、環境
主機A(rx660a):
#mkdir /etc/cmcluster/pkg1
#cd /etc/cmcluster/pkg1                         建立和進入一目錄
#cmmakepkg -p clustercrs.conf         建立包設定檔,可修改包名、節點、服務和包屬性
#vi clustercrs.conf                               編輯包設定檔PACKAGE_NAME  pkg1        //包名字PACKAGE_TYPE                    FAILOVER     //發生錯誤時進行切換。NODE_NAME     rx6600a            //first 優先順序節點1
//NODE_NAME     rx6600b            //second優先順序節點1,當熱備時用AUTO_RUN                        YES    //cmruncl 時,自啟動。
NODE_FAIL_FAST_ENABLED          NO     //當pkg 發生問題時,節點是否也宕。RUN_SCRIPT /etc/cmcluster/pkg1/clustercrs.cntl     包運行指令碼
RUN_SCRIPT_TIMEOUT  NO_TIMEOUT
HALT_SCRIPT /etc/cmcluster/pkg1/clustercrs.cntl     包停止指令碼
HALT_SCRIPT_TIMEOUT  NO_TIMEOUT#CONFIGURED_NODE, MIN_PACKAGE_NODE, SITE_PREFERRED.    //當pkg fail 時,切換到的節點規則
FAILOVER_POLICY                 CONFIGURED_NODE                              //切換到已配置的優先順序高的節點。
FAILBACK_POLICY                 MANUAL                                                  //是自動AUTOMATIC ,還是 手動 切換回來。MONITORED_SUBNET    10.160.8.0 #cmmakepkg -s clustercrs.cntl           建立包控制指令碼
#vi clustercrs.cntl                       編輯包控制指令碼
clustercrs.cntl配置例子:PATH=/usr/bin:/usr/sbin:/etc:/bin:/usr/lbin:/etc/cmcluster/pkg1    ///加入包檔案目錄的路徑VGCHANGE="vgchange -a s"   //MC接管啟用卷組的參數,預設是vgchange -a e ,RAC 用vgchange -a sVG[0]=vg03            //切換接管的卷組名,可同時有多個,順序是0、1、2、3
VG[1]="vgdata1"
VG[2]="vgdata2"
VG[3]="vgcrs"/// LV[2]=/dev/vg03/mylv; FS[2]=/oradata; FS_MOUNT_OPT[2]=""  // 邏輯卷的mount 目錄,需要掛載的檔案系統//IP[0]=192.168.168.20                應用程式套件的IP地址
//SUBNET[0]=192.168.168.0             應用程式套件的監聽網段//SERVICE_NAME[0]="demo"
//SERVICE_CMD[0]="/usr/bin/X11/xclock -display 192.168.168.23:0"(或設定一個指令碼,內容見附錄)
//SERVICE_RESTART[0]="-R"function customer_defined_run_cmds
{  (在此加入應用啟動的命令)
 test_return 51
}
      
function customer_defined_halt_cmds
{   (在此加入應用關閉的命令)
 test_return 52
}(注:
SERVICE_NAME[0]="demo"是服務名,必須與demo.conf裡的SERVICE_NAME相同名。SERVICE_CMD[0]=
"..."是啟動服務時啟動並執行命令,現在用的命令是"/usr/bin/X11/xclock -display
192.168.168.23:0"表示運行xclock並在192.168.168.23的工作站上顯示出來。SERVICE_RESTART[0]
=""是服務重啟的次數,“-r 2”是重啟兩次,“-R”是不斷重啟。)4.在叢集內添加服務包,配置各節點接管包環境
#rcp clustercrs.cntl rx6600b:/etc/cmcluster/pkg1     拷貝控制指令碼,將demo.cntl控制指令碼拷到主機B上,使其環境同步)
#cmcheckconf
-v -P clustercrs.conf        
檢查包配置,檢驗以上對包的配置是否有誤,在指令碼目錄裡會有與指令碼名相同的log檔案,如:demo.cntl.log
。如果一切無誤將接著做下一步,否則要做相應的修改,直至無誤。)
#cmapplyconf -v -P clustercrs.conf    將包加入叢集cluster執行配置檢查
#cmcheckconf -v -C /etc/cmcluster/cmcluster.ascii -P /etc/cmcluster/informix/informix.cntl
重新分發cluster.ascii檔案
#cmapplyconf -v -C /etc/cmcluster/cluster.ascii -P /etc/cmcluster/informix/informix.cntl#cmrunpkg cluster                           運行demo包
#cmviewcl -v                  查看cluster和cluster裡節點的資訊
CLUSTER、NODE、INTERFACE、PACKAGE的狀態都是up和running ,PKG_SWITCH、NODE_TYPE SWITCHING都是enabled,)5.啟動和管理、叢集、節點、服務包  #cmruncl                   啟動叢集cluster
  #cmhaltcl                   關閉叢集cluster
  #cmrunnode  node_name     啟動一個或多個節點
  #cmhaltnode -f node_name    關閉一個或多個節點
  #cmrunpkg  pkg_name      啟動應用程式套件
  #cmhaltpkg  pkg_name      關閉應用程式套件
  #cmviewcl -v                查看cluster和cluster裡節點的資訊
  #cmmodpkg -e pkg_name      使應用程式套件可被接管、切換
  #cmmonpkg -e -n node_name pkg_name  使節點可接管應用程式套件附錄:
mc的監控指令碼可以寫一個無實質的迴圈指令,目的在於讓命令不執行不間斷。可以起一個名為monitor的指令碼,在指令碼內寫入簡單的,如:
while [ 1 ]
do
sleep 30
done安裝 oracle clusterware採取檔案系統形式或 LV raw 方式,則需要OPSVG 解決concurrent VG的問題。
#groupadd -g 201 dba
#groupadd -g 200 oinstall
#useradd -u 200 -g oinstall -G dba,oinstall oracle  //如果沒有建立oracle的預設目錄,建立預設目錄 /home/oracle
#id oracle            //檢查是否存在nobody使用者
#id nobody編輯oracle使用者$HOME目錄下的.rhosts
#vi /home/oracle/.rhosts
rx6600a  oracle
rx6600a_vip  oracle
rx6600a_priv  oraclerx6600b  oracle
rx6600b_vip  oracle
rx6600b_priv  oracle配置 profile 檔案
#vi /home/oracle/.profileORACLE_HOME=/oracle/product/10.2.0
export ORACLE_HOME
ORACLE_BASE=/oracle
export ORACLE_BASE
ORACLE_SID=gzga1
export ORACLE_SID
export ORA_CRS_HOME=/oracrs
JAVA_HOME=/opt/java1.5
export JAVA_HOME
TNS_ADMIN=$ORACLE_HOME/network/admin
export TNS_ADMIN
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export NLS_LANG
NLS_LANGUAGE=$NLS_LANG
export NLS_LANGUAGE
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data export ORA_NLS33
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32
export LD_LIBRARY_PATH
export SHLIB_PATH
stty erase
PATH=$PATH:/opt/java1.5/bin:/bin:/usr/bin:/usr/sbin:/etc:/opt/bin:/usr/ccs/bin:/usr/local/bin:$ORACLE_HOME/bin:.
export PATH
TMP=/tmp export TMP
TMPDIR=/tmp export TMPDIR
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/jdbc/lib/classes12.zip

export CLASSPATH ORACLE_BASE=/oracle/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db;export ORACLE_HOME
export ORA_CRS_HOME=/oracrs
ORACLE_SID=gzga1;export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33
ORACLE_TERM=vt100;export ORACLE_TERM
TMPDIR=/oracle/tmp;export TMPDIR
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib;export LD_LIBRARY_PATH
PATH=/usr/ccs/bin:$ORACLE_HOME/bin:/usr/bin:/usr/opt/networker/bin:$PATH;export PATH
DISPLAY=10.160.8.191:0.0;export DISPLAY
NLS_LANG=american_america.zhs16gbk;export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin;export TNS_ADMIN
TERM=vt100;export TERM
EDITOR=vi; export EDITOR
TMP=/tmp;export TMP
CLASSPATH=$ORACLE_HOME/JRE/lib:$ORACLE_HOME/jlib:$ORACLE_HOME/network/jlib:$ORACLE_HOME/rdbms/jlib:$ORACLE_HOME/plsql/jlib:$ORACLE_HOME/assistants/jlib:$ORACLE_HOME/assistants/dbca/jlib;export
CLASSPATH
DBCA_RAW_CONFIG=/oracle/dbca_raw_config.txt;export DBCA_RAW_CONFIG
export PS1=`hostname`@`whoami`'[$PWD]'$建立clusterWare和oracle的安裝目錄
mkdir -p /oracle/product/CRS
mkdir -p /oracle/product/RAC10g
chown -R oracle:oinstall /oracle
chmod -R 775 /oracle# 設定OCR使用的raw裝置:
chown root:oinstall  /dev/rdisk/disk140
chmod 640  /dev/rdisk/disk140如果資料庫採用 ASM 方式,則不需要 MC/SG 雙機軟體
需要修改 磁碟的屬性
chown oracle:dba /dev/rdisk/disk137      
chown oracle:dba /dev/rdisk/disk138      
chown oracle:dba /dev/rdisk/disk139chmod 660 /dev/rdisk/disk137      
chmod 660 /dev/rdisk/disk138      
chmod 660 /dev/rdisk/disk139 

安裝oracle 資料庫
#/cdrom/database/runInstaller -ignoresysprereqs

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.