AIX 5L上Oracle雙機的實現
2024-08-29 13:40:50
供稿:網友
一、系統概況
1、硬件情況:
IBM P650一臺,Power 4+處理器四顆,4G內存,36G硬盤兩塊
IBM P630一臺,Power 4處理器兩顆,2G內存,18G硬盤兩塊
IBM T40一臺,36G×6
其中,P650作為主機,P630作為輔機,服務器上的兩塊硬盤都做成RAID 1,磁盤陣列T40上的六塊硬盤做成RAID 10。
2、軟件情況:
*作系統采用IBM AIX 5.1.0 64-bit
雙機軟件:使用IBM HACMP CASCADE 4.4.0.0雙機軟件
數據庫:Oracle 9.2.0 for IBM AIX EE 64-bit
前臺應用軟件:海信****軟件
3、安裝前,*作系統及雙機環境已經搭建完畢。
二、安裝數據庫及HA實現過程
1、安裝前預備
在AIX上安裝Oracle和其它*作系統上的安裝區別不大,步驟簡單介紹如下:
I. 檢查系統環境
Requirement 檢查命令
Memory 不低于512MB $ /usr/sbin/lsattr –E –l sys0 –a realmem
Swap Space 建議為2GB $ /usr/sbin/lsps -a
Disk Space Software 3.5GBSeed Database 1GB
OS Version AIX 5.1 $ oslevel –r
OS Patch Bos.adt.baseBos.adt.libBos.adt.libmBos.perf.perfstatBos.pert.libperfstat $ lslpp –l
java Patch JDK 1.3.1-build 20020316JRE 1.1.8-build 20020313
Language Patch 簡體中文 UTF8.zh-cn
Other 具體請參考文檔 A96167-01.pdf
II. 配置系統Kernel Parameter
安裝Oracle9i AIX不需要額外配置Kernel Parameter。
III. 創建Mount Point
Oracle9i的安裝至少需要兩個Mount Point:
一個用于Oracle軟件,本例中定義為:/opt/oracle
至少一個存放Oracle數據:本例中定義為:/dcdb
IV. 創建相關UNIX用戶和組
利用smit工具,創建:
組dba,具有治理員權限,uid和gid都是1001
組oinstall,普通權限,udi和gid都是1002
用戶oracle,屬于dba和oinstall組,uid為999,用戶目錄為/opt/oracle
相關設置在P650和P630上的保持一致,并將目錄/opt/oracle和/dcdb授權給oracle:
$ chown oracle.dba /opt/oracle
$ chown oracle.dba /dcdb
V. 設定Oracle用戶環境變量
編輯Oracle用戶的.PRofile文件,定義如下的環境變量:
ORACLE_BASE = /opt/oracle
ORACLE_HOME = $ORACLE_BASE/prodUCt/9.2.0
ORACLE_SID = hidc (P650上) / hidcbak (P630上)
ORACLE_TERM = vt100
DISPLAY = 192.168.10.122:0.0 (P650上)/ 192.168.10.124:0.0 (P630上)
ORACLE_NLS33 = $ORACLE_HOME/ocommon/nls/admin/data
LD_LIBRARY_PATH = $ORACLE_HOME/lib: $ORACLE_HOME/network/lib:
LIBPATH = $ORACLE_HOME/lib
JAVA_HOME = /usr/java130
PATH = $PATH:$ORACLE_HOME/bin:/usr/local/bin
eXPort ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM
export ORACLE_NLS33 LD_LIBRARY_PATH LIBPATH PATH DISPLAY JAVA_HOME
umask 022
2、安裝Oracle軟件及建庫
I. 放入第一張光盤,并以root用戶身份Mount CDROM:
$ mount –rv cdrfs /dev/cd0 /cdrom
II. 以root身份進入/cdrom目錄,執行:
$ sh rootpre.sh
$ xhost +
III. 切換到Oracle用戶,運行Oracle安裝程序runInstaller:
$ su – oracle
# sh /cdrom/runInstaller.sh
IV. 依次輸入“oinstall”,選擇“Oracle 9i Database”,數據庫類型選擇“custom”,“不創建數據庫”。
V. 在安裝的最后,以root身份執行/opt/oracle/product/9.2.0/root.sh
VI. 檢查各個安裝log文件,確認安裝成功
VII. 以oracle身份執行dbca,開始建立數據庫。(在P650上)
選擇“create a database”,選擇“New Database”,在“Global Database Name”和“SID”輸入“hidc”,在字符集中選擇“zhs16gbk”,將所有的控制文件、數據文件、日志文件以及SPFILE文件的存放位置指定到磁盤陣列上。設定各個表空間的大小及其它參數,并選擇保存建庫腳本和現在建庫,建立數據庫hidc。
VIII. 重復上述步驟VII,在P630上建立數據庫hidcbak。
3、配置雙機HA
在這里,我們認為HACMP的雙機HA已經成功配置。
I. 在兩臺機器的/opt/oracle目錄下面,建立.rhosts文件,添加如下內容:
192.168.10.192 oracle # p650上
192.168.10.194 oracle # p630上
編輯/etc/hosts.lpd文件,加入一行:
192.168.10.194 # p650上
192.168.10.192 # p630上
編輯/etc/hosts.equiv文件,加入:
192.168.10.192
192.168.10.194
在兩臺機器上執行:
$ rlogin 192.168.10.192
和
$ rlogin 192.168.10.194
確認rcp和rlogin時不需要口令。
II. 參照如下內容,編輯兩臺機器上的listener.ora和tnsnames.ora:
LISTENER.ORA文件內容如下:
# LISTENER.ORA Network Configuration File:
# /opt/oracle/product/9.2.0/network/admin/listener.ora
# Generated by Oracle Configuration tools:
LISTENER_MAIN =
( DESCRipTION_LIST =
(DESCRIPTION =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP ) (HOST = 192.168.10.192 ) (PORT = 1521 )))
( ADDRESS_LIST =
( ADDRESS =
( PROTOCOL = IPC) ( KEY = EXTPROC )))
) )
SID_LIST_LISTENER_MAIN =
( SID_LIST =
( SID_DESC =
( SID_NAME = PLSExtProc ) (ORCLE_HOME = /opt/oracle/product/9.2.0 )
( PROGRAM = extporc ))
( SID_DESC =
( SID_NAME = hidc ) (ORCLE_HOME = /opt/oracle/product/9.2.0 )
) )
LISTENER_BAK =
( DESCRIPTION_LIST =
(DESCRIPTION =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP ) (HOST = 192.168.10.194 ) (PORT = 1522 )))
( ADDRESS_LIST =
( ADDRESS =
( PROTOCOL = IPC) ( KEY = EXTPROC )))
) )
SID_LIST_LISTENER_MAIN =
( SID_LIST =
( SID_DESC =
( SID_NAME = PLSExtProc ) (ORCLE_HOME = /opt/oracle/product/9.2.0 )
( PROGRAM = extporc ))
( SID_DESC =
( SID_NAME = hidcbak ) (ORCLE_HOME = /opt/oracle/product/9.2.0 )
) )
TNSNAMES.ORA文件內容如下:
# TNSNAMES.ORA Network Configuration File:
# /opt/oracle/product/9.2.0/network/admin/tnsnames.ora
# Generated by Oracle Configuration tools:
HIDC =
(DESCRIPTION =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP ) (HOST = 192.168.10.192 ) (PORT = 1521 )))
( CONNECT_DATA = ( SERVICE_NAME = hidc))
)
HIDCBAK =
(DESCRIPTION =
( ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP ) (HOST = 192.168.10.194 ) (PORT = 1522 )))
( CONNECT_DATA = ( SERVICE_NAME = hidcbak))
)
III. Oracle數據的關閉和啟動由IBM AIX HACMP的啟動和關閉腳本負責,其位置為:
/usr/dbapp/dbstart.sh
和
/usr/dbapp/dbstop.sh
其中,dbstop和dbstart腳本由IBM HACMP提供,分別負責數據庫的關閉和啟動。
在兩臺機器上,還需要分別手工建立兩個腳本dbstartmain.sh / dbstopmain.sh 和 dbstartbak.sh / dbstopbak.sh。各個腳本內容分別如下:
DBSTART.SH:
# Generated by aiko 2003-4-18
# Start Oracle Database on P650: /usr/dbapp/dbstart.sh
#! /bin/sh
su – oracle – c start /usr/dbapp/dbstartmain.sh
DBSTOP.SH:
# Generated by aiko 2003-4-18
# Start Oracle Database on P650: /usr/dbapp/dbstop.sh
#! /bin/sh
su – oracle – c start /usr/dbapp/dbstopmain.sh
DBSTARTMAIN.SH:
# Generated by aiko 2003-4-18
# Start Oracle Database on P650: /usr/dbapp/dbstartmain.sh
#! /bin/sh
expo