oracle rac aix 安裝

wuyuanyong發表於2010-06-27
oracle rac aix 安裝
2009-11-13 11:35

引用http://blog.csdn.net/hayyon/archive/2005/11/25/536593.aspx

一、準備環境。

搭設的硬體環境如下:

44p270主機一臺:375MHz PowerPC_POWER3 CPU一顆、512 MB記憶體、18.2GB內建硬碟、主機板內建網路卡+2968乙太網卡、6230 SSA卡;
f80主機一臺:450MHz PowerPC RS64III CPU四顆、2048MB記憶體、36.4GB內建硬碟、主機板內建網路卡+2968乙太網卡、6230 SSA卡;
7133-D40磁碟陣列:2塊36.4B 1萬轉硬碟構成RAID1陣列。

最後的軟體環境如下:
AIX 5L V5.2、ML04+IY64978+IY63366
HACMP V5.1+U498114

1.作業系統安裝問題
f80主機剛剛在廈門光榮退租,要重新安裝作業系統。安裝過程中發現一個奇怪的問題,很多執行檔案的存取屬性被清空(變成----------)而導致無許可權執行,這首先嚴重影響了打ML04補丁,bos.rte補丁中的一個script總是執行不成功,報/usr/lib/methods/cfgsf命令執行失敗(bos.rte.config_u[42]: /usr/lib/methods/cfgsf: 0403-006 Execute permission denied.
update: Failed while executing the bos.rte.config_u script.),結果bos.rte及依賴其的幾個檔案集補丁無法實施。因為cfgsf檔案本身就屬於bos.rte,installp在安裝bos.rte的時候先把它的存取屬性清除了(覆蓋原檔案),然後再執行它,所以在installp之前修改cfgsf的屬性沒有意義。

解決方法比較笨拙,寫一個死迴圈shell程式,不斷地執行chmod 500 /usr/lib/methods/cfgsf命令(見下)。
while true
do
chmod 500 /usr/lib/methods/cfgsf
done
方過此關。

存取屬性被清空的執行檔案還有很多,引發了相當多的類似問題,其中一個就是影響了包括ssa卡和硬碟在內的很多裝置的識別配置,/usr/lib/methods/下的檔案都要檢查一下。還有/usr/ssa下的幾個bin目錄也要重新設定一下執行屬性。

因為在網上找不到類似的解決案例,我懷疑是手上的安裝光碟有問題。


1.2.網路卡問題
270主機上的一塊網路卡,訪問網路總是有問題,ping不通。換過網線、插槽都不行,但把卡插到另一臺b50主機上,網路訪問又正常,懷疑是270主機主機板問題,執行diag診斷(要先ifconfig en1 detach,否則報裝置忙,無法進一步診斷),報下面錯誤:
SRN: 777-104

Description: Internal Loopback Test Failed.

Probable FRUs:
ent1 FRU: 091H0397 P2-I4/E1
IBM 10/100 Mbps Ethernet PCI Adapter (23100020)

看來還是網路卡有問題,回到b50主機再做diag診斷,也報類似錯誤,正式宣告該卡死刑。換了一塊2968乙太網卡,沒再報網路問題了。

1.3.建立增強併發訪問卷組
進行hacmp和資料庫配置之前,要先準備資源,網路(ip和tty)、appserver和以前沒什麼區別,有特性的是共享卷組的準備。

因為要併發處理,所以卷組要建成concurrent capable的,AIX 5.2下只支援Enhanced Concurrent卷組:
# mkvg -C -n -y datavg hdisk1
0516-1335 mkvg: This system does not support enhanced
concurrent capable volume groups.

以前在網上碰到同樣的報錯求助,當時是胡亂猜疑,不達要點。這回找到了真正的原因——沒有安裝bos.clvm.enh:
# lslpp -L bos.clvm.enh
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
bos.clvm.enh 5.2.0.40 A F Enhanced Concurrent Logical Volume Manager

安裝後,重新執行mkvg就正常了。


硬體環境和軟體準備好後,接下來配置HACMP。

二、HACMP安裝配置
因為是實驗環境,HACMP配置不是一開始就制定好的,修正過幾次,甚至到後面安裝oracle碰了釘子,又再回過頭來修改配置。

2.1. HACMP安裝
在RAC下,必須安裝cluster.es.clvm.rte檔案集,否則concurrent資源組無法增加並行卷組資源,安裝後需重新啟動主機,才可生效。

最後系統裡所有的hacmp檔案集列表如下:
Fileset Level State Type Description (Uninstaller)
----------------------------------------------------------------------------
cluster.adt.* 5.1.0.0 C F ES Client Demos
cluster.es.client.* 5.1.0.6 A F ES Client Libraries
cluster.es.clvm.rte 5.1.0.0 C F ES for AIX Concurrent Access
cluster.es.cspoc.* 5.1.0.6 A F ES CSPOC Commands
cluster.es.server.* 5.1.0.6 A F ES Server Diags
cluster.es.worksheets 5.1.0.6 A F Online Planning Worksheets
cluster.license 5.1.0.0 C F HACMP Electronic License
cluster.msg.* 5.1.0.0 C F HACMP CSPOC Messages - U.S. English

2.2. HACMP配置
rac下,一般使用oracle自己的failover功能在客戶端實現服務主機的切換。但還希望藉助hacmp實現單機上的網路卡熱備,所以拓撲配置上有些講究。

想到cascading資源組中ipat會讓service-ip地址從主機飄到備機上(所不願見到的),所以先使用persistent-ip。經測試,persistent-ip可以在網路卡失敗時切換到備份網路卡(但比service-ip花的時間要長不少,客戶端中斷感覺明顯),功能基本滿足要求。但實際使用中,這種配置方法給後面的rac安裝造了不少麻煩,最後只能放棄。

在rac配置上掙扎很長一段時間,被周平一句話點醒,可以用配置僅包含單個節點的cascading資源組,來避免service-ip地址在主機間的漂移。最終的配置下,各種莫名其妙的問題迎刃而解(看來rac與hacmp的拓撲關係密切)。

最後的拓撲、資源配置如下:
# /usr/es/sbin/cluster/utilities/cltopinfo -i
IP Label Network Type Node Address If Netmask
========= ======= ==== ==== ======= ==== =======
f80 net_ether_01 ether f80 10.0.0.208 255.255.255.0
p270 net_ether_01 ether f80 10.0.0.207 255.255.255.0
f80_boot2 net_ether_01 ether f80 192.168.1.208 en0 255.255.255.0
f80_boot1 net_ether_01 ether f80 192.168.0.208 en1 255.255.255.0
f80_tty1_01 net_rs232_01 rs232 f80 /dev/tty1 tty1
f80 net_ether_01 ether p270 10.0.0.208 255.255.255.0
p270 net_ether_01 ether p270 10.0.0.207 255.255.255.0
p270_boot1 net_ether_01 ether p270 192.168.0.207 en0 255.255.255.0
p270_boot2 net_ether_01 ether p270 192.168.1.207 en1 255.255.255.0
p270_tty1_01 net_rs232_01 rs232 p270 /dev/tty1 tty1

# /usr/es/sbin/cluster/utilities/clshowres

Resource Group Name oravg
Node Relationship concurrent
Site Relationship ignore
Participating Node Name(s) p270 f80
Dynamic Node Priority
Service IP Label
Filesystems ALL
Filesystems Consistency Check fsck
Filesystems Recovery Method sequential
Filesystems/Directories to be exported
Filesystems to be NFS mounted
Network For NFS Mount
Volume Groups
Concurrent Volume Groups datavg
Use forced varyon for volume groups, if necessaryfalse
Disks
GMD Replicated Resources
PPRC Replicated Resources
Connections Services
Fast Connect Services
Shared Tape Resources
Application Servers oracle
Highly Available Communication Links
Primary Workload Manager Class
Secondary Workload Manager Class
Delayed Fallback Timer
Miscellaneous Data
Automatically Import Volume Groups false
Inactive Takeover false
Cascading Without Fallback false
SSA Disk Fencing false
Filesystems mounted before IP configured false
Run Time Parameters:

Node Name p270
Debug Level high
Format for hacmp.out Standard

Node Name f80
Debug Level high
Format for hacmp.out Standard

Resource Group Name p270ip
Node Relationship cascading
Site Relationship ignore
Participating Node Name(s) p270
Dynamic Node Priority
Service IP Label p270
Filesystems
Filesystems Consistency Check fsck
Filesystems Recovery Method sequential
Filesystems/Directories to be exported
Filesystems to be NFS mounted
Network For NFS Mount
Volume Groups
Concurrent Volume Groups
Use forced varyon for volume groups, if necessaryfalse
Disks
GMD Replicated Resources
PPRC Replicated Resources
Connections Services
Fast Connect Services
Shared Tape Resources
Application Servers
Highly Available Communication Links
Primary Workload Manager Class
Secondary Workload Manager Class
Delayed Fallback Timer
Miscellaneous Data
Automatically Import Volume Groups false
Inactive Takeover false
Cascading Without Fallback false
SSA Disk Fencing false
Filesystems mounted before IP configured false
Run Time Parameters:

Node Name p270
Debug Level high
Format for hacmp.out Standard

Resource Group Name f80ip
Node Relationship cascading
Site Relationship ignore
Participating Node Name(s) f80
Dynamic Node Priority
Service IP Label f80
Filesystems
Filesystems Consistency Check fsck
Filesystems Recovery Method sequential
Filesystems/Directories to be exported
Filesystems to be NFS mounted
Network For NFS Mount
Volume Groups
Concurrent Volume Groups
Use forced varyon for volume groups, if necessaryfalse
Disks
GMD Replicated Resources
PPRC Replicated Resources
Connections Services
Fast Connect Services
Shared Tape Resources
Application Servers
Highly Available Communication Links
Primary Workload Manager Class
Secondary Workload Manager Class
Delayed Fallback Timer
Miscellaneous Data
Automatically Import Volume Groups false
Inactive Takeover false
Cascading Without Fallback false
SSA Disk Fencing false
Filesystems mounted before IP configured false
Run Time Parameters:

Node Name f80
Debug Level high
Format for hacmp.out Standard

# /usr/es/sbin/cluster/utilities/cllsserv
oracle /hacmp/startapp.sh /hacmp/stopapp.sh
# cat /hacmp/startapp.sh
#!/usr/bin/ksh
banner app start
# cat /hacmp/stopapp.sh
#!/usr/bin/ksh
banner app stop
鑑於資料庫啟動的複雜性,沒有在appserver中啟動oracle資料庫。

# lsvg datavg
VOLUME GROUP: datavg VG IDENTIFIER: 000234ff00004c00000001015b74227a
VG STATE: active PP SIZE: 64 megabyte(s)
VG PERMISSION: read/write TOTAL PPs: 543 (34752 megabytes)
MAX LVs: 256 FREE PPs: 311 (19904 megabytes)
LVs: 22 USED PPs: 232 (14848 megabytes)
OPEN LVs: 15 QUORUM: 2
TOTAL PVs: 1 VG DESCRIPTORS: 2
STALE PVs: 0 STALE PPs: 0
ACTIVE PVs: 1 AUTO ON: no
Concurrent: Enhanced-Capable Auto-Concurrent: Disabled
VG Mode: Concurrent
Node ID: 2 Active Nodes: 1
MAX PPs per PV: 1016 MAX PVs: 32
LTG size: 128 kilobyte(s) AUTO SYNC: no
HOT SPARE: no BB POLICY: relocatable

# cat /etc/hosts
127.0.0.1 loopback localhost # loopback (lo0) name/address
192.168.0.207 p270_boot1
192.168.1.207 p270_boot2
10.0.0.207 p270
192.168.0.208 f80_boot1
192.168.1.208 f80_boot2
10.0.0.208 f80

2.3. 啟動HACMP
啟動HACMP碰到一些問題:
f80: 0513-015 The snmpd Subsystem could not be started.
f80: Please check subsystem resources and try again later.
f80:
f80: *******
f80: Jan 10 2005 00:40:47 !!!!!!!!!! ERROR !!!!!!!!!!
f80: *******
f80: Jan 10 2005 00:40:47 clstart: Unable to start Cluster SMUX Peer Daemon (clsmuxpd) without snmpd.
dsh: 5025-509 f80 rsh had exit code 1
檢查/usr/sbin/snmp*檔案的存取屬性,全部為空,看來還是安裝作業系統時的老問題。更改成正確屬性,啟動恢復正常。
# ls -l /usr/sbin/snmp*
lrwxrwxrwx 1 root system 9 Jan 07 01:16 /usr/sbin/snmpd -> snmpdv3ne
-rwxr-x--- 1 root system 310990 Jul 22 17:09 /usr/sbin/snmpd64v1
-rwxr-x--- 1 root system 273646 Jul 22 17:09 /usr/sbin/snmpdv1
-rwxr-x--- 1 root system 271622 Jun 05 2004 /usr/sbin/snmpdv3ne
-rwxr-x--- 1 root system 15848 Jan 07 01:24 /usr/sbin/snmpinfo
-rwxr-x--- 1 root system 612075 Jun 24 2004 /usr/sbin/snmpmibd
-rwxr-x--- 1 root system 696002 Jun 24 2004 /usr/sbin/snmpmibd64
-r-xr-xr-x 1 bin bin 16756 Jun 05 2004 /usr/sbin/snmptrap
-r-xr-xr-- 1 root system 11876 Jan 07 01:24 /usr/sbin/snmpv3_ssw


Oracle RAC安裝實錄(4)——OracleRac安裝前準備

戲臺搭好,終於到安裝ORACLE這步了,正式安裝前還是有些功課要做。

安裝RAC這部分,我主要是參照Beta的總結文件,而這篇文件又來自ITPUB的fatstone(原連結就懶得找了,著者見諒),據說原始的祖宗是Metalink上的Step-By-Step Installation of RAC on IBM AIX,不過我是拜讀過oracle這篇文章的,與最近的改過又改過的文章相比,已經是面目全非,看不出一點親緣的關係了。

三、Oracle RAC安裝配置
3.1.安裝準備
主要是建立oracle使用者和所屬使用者組,以及使用者環境:

新增oinstall、dba、hagsuser使用者組,gid分別為300/301/302(注意兩臺主機保持一致)。
新增oracle使用者,uid=300,primary group = oinstall,group set = dba,oinstall,hagsuser,放開ulimit限制(都設成-1)
編輯/etc/hosts.equiv或/home/oracle目錄下的.rhosts,包含兩臺主機所有的ip-label,執行rsh確認兩臺機oracle使用者都可以遠端執行對方主機上程式
建立並裝載/u01檔案系統,安裝oracle Enterprise Edition Server 9.2大概需要5GB的空間,打9.2.0.4 PatchSet的時候,詐稱要1.7GB的空間,由於都是覆蓋原有的檔案,實際沒增加空間佔用。執行chown -R oracle:oinstall /u01修改存取許可權。
建立/var/opt/oracle目錄,執行chown -R oracle:oinstall /var/opt/oracle修改存取許可權,該目錄放srvConfig.loc配置
設定oracle目錄下的.profile:
ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/9.2.0;export ORACLE_HOME
ORACLE_SID=CRDT1;export ORACLE_SID
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data;export ORA_NLS33
ORACLE_TERM=vt100;export ORACLE_TERM
TMPDIR=/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
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=/home/oracle/dbca_raw_config.txt;export DBCA_RAW_CONFIG
# 注1:原文中有DISPLAY=127.0.0.1:0.0,會影響遠端登入CDE的使用,周平說從膝上型電腦登陸上來,操作CDE有問題,原因在此。
# 注2:兩臺主機上的ORACLE_SID分別是CRDT1和CRDT2

建立資料庫用裸裝置,用作資料庫資料檔案,注:其中有些lv是否能用上要根據後面oracle的安裝選項。
mklv -y'o9_system_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_users_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_tools_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_temp_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_undotbs1_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_undotbs2_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_log11_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_log12_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_log21_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_log22_1g' -w'n' -s'n' -r'n' datavg 16
mklv -y'o9_indx_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_cwmlite_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_example_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_oemrepo_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_spfile_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_cntrl1_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_cntrl2_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_cntrl3_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_drsys_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_odm_512m' -w'n' -s'n' -r'n' datavg 8
mklv -y'o9_xdb_512m' -w'n' -s'n' -r'n' datavg 8

設定裸裝置許可權:在兩臺機上分別執行chown oracle:dba /dev/ro9*
建立dbca dbca_raw_config.txt,設定oracle datafile和裸裝置的對應關係
$ cat dbca_raw_config.txt
system=/dev/ro9_system_1g
users=/dev/ro9_users_512m
tools=/dev/ro9_tools_512m
temp=/dev/ro9_temp_512m
undotbs1=/dev/ro9_undotbs1_1g
undotbs2=/dev/ro9_undotbs2_1g
redo1_1=/dev/ro9_log11_1g
redo1_2=/dev/ro9_log12_1g
redo2_1=/dev/ro9_log21_1g
redo2_2=/dev/ro9_log22_1g
indx=/dev/ro9_indx_512m
example=/dev/ro9_example_512m
spfile=/dev/ro9_spfile_512m
control1=/dev/ro9_cntrl1_512m
control2=/dev/ro9_cntrl2_512m
control3=/dev/ro9_cntrl3_512m
drsys=/dev/ro9_drsys_512m
xdb=/dev/ro9_xdb_512m


3.2. 安裝oracle軟體
使用oracle使用者登陸CDE介面,開啟一個dtterm,執行. ./.profile應用先前設定的環境變數。
Oracle提供一個installPrep.sh程式,可用於檢查oracle安裝的條件是否準備就緒,因為hacmp 5.1軟體釋出在後,指令碼對cluster檢查會產生誤報,還有一個typo錯誤,我更正後,適用於hacmp 5.1的installPrep.sh版本供大家下載(oracle安裝準備情況檢查指令碼)
開始安裝。為了加快安裝速度和便於再次安裝(呵呵),可以將oracle安裝光碟全部複製到磁碟上。注意每張光碟要分目錄複製,否則到時侯就得改stage下的disk.label檔案了。
先su到root使用者,執行rootpre.sh。注意兩臺機器都需要執行。
在一臺機上,進入到第一張安裝盤的路徑,執行./runInstaller。
首先詢問是否已經執行rootpre.sh,如果已經執行,則回答Y,過一會出現安裝介面視窗。
選擇NEXT,選擇需要安裝ORACLE的節點如果沒有出現節點選擇,說明HA配置有問題,確保兩個節點都處於UP狀態。
指定軟體的安裝路徑:
選擇安裝產品:
選擇企業版安裝方式:
只安裝軟體:
指定SRVCONFIG路徑。如果是首次安裝,會出現一個視窗指定SRVCONFIG的位置,這是一個RAW裝置,前面已經建立過了。在/var/opt/oracle下會出現一個srvConfig.loc檔案,在$ORACLE_HOME/srvm/config下會出現同名檔案。
指定JDK的路徑:/usr/java131,如果沒有,先安裝java。
選擇INSTALL開始安裝:(先確認summary裡面資訊是否都正確,有沒有紅色錯誤)
安裝進度到100%時,還要等很長時間,這時候安裝程式自動把應用複製到另一個節點上,全部完成後提示在兩個節點都執行root.sh(以root身份)。
3.3. 安裝9.2.0.4 Patch
到METALINK上下載9204的補丁級,PATCH號3095277,下載完是一個.zip格式的檔案,本地解壓縮後得到9204_aix5l64_release.cpio,把這個檔案FTP到小型機上,執行:cpio -icvd < 9204_aix5l64_release.cpio解壓縮。

用oracle使用者登陸,進入到9204補丁的路徑,執行runInstaller。注意:path 可能有錯,一定要選擇補丁所在的products.jar。
先升級OUI到2.2.0.18。
裝完OUI後再選擇PATCH9204,一路NEXT安裝就可以了。安裝完後在兩個節點都執行root.sh(以root身份)
3.4. 建庫前準備
首次安裝,要初始化SRV配置,先檢查/var/opt/oracle/srvConfig.loc是否已經指向正確的裝置,然後執行srvconfig -init初始化。如果報/u01/app/oracle/product/9.2.0/JRE/bin/jre[63]: /usr/java131/bin/aix/native_threads/jre: not found.錯誤,可能與你的JAVA_HOME環境變數設定問題有關,建議不要顯示設定JAVA_HOME環境變數。
在兩個節點都以oracle使用者身份登陸,執行gsdctl start,如果出現Successfully started GSD on local node提示,說明啟動成功,最常見的問題就是掛在那裡。到metalink上查過,還沒有解決方法,預期的patch也被設成無期的9.2.0.99。能做的就是kill殺掉,反覆多試幾次。
執行netca,設定Listener。這個地方會出現錯誤:無法啟動netca,手工改名$ORACLE_HOME/lib/libnjni9.so 檔案,估計系統要用$ORACLE_HOME/lib32下的同名檔案。
netca也支援cluster configuration,按照預設值一路配置下去即可,完成後,會同時修改兩臺機器上的listener.ora配置。
兩個節點上都執行lsnrctl start啟動listener。
3.5. Oracle建庫
鍵入dbca建立RAC例項,選擇cluster database。
選擇建立資料庫後,選擇全部節點。
建庫模板選擇新資料庫。
鍵入GLOBAL DATABASE NAME,不能超過5個字元。
選擇要安裝的資料庫元件。如果沒有特別的需要,把所有的勾都去掉。
一般選擇專有伺服器工作模式,選擇第一項並NEXT。
資料庫引數設定,其中注意字符集選擇中文;還有,如果之前dbca_raw_config.txt和DBCA_RAW_CONFIG環境變數設定正確,所有的datafile應該指向事先建立的裸裝置(rac只能使用基於裸裝置的datafile)。
點選FINISH開始建庫,之前可以選擇儲存建庫的指令碼以便用於未來可能的手工建庫。建庫過程中可能碰到的問題有:
Listener錯誤:如果listener已經配置啟動,並且狀態正確,就不應該有此錯誤
ORA-29807錯誤:與xml有關,也不是總會碰上。忽略錯誤後,等資料庫安裝完,以sys身份執行$ORACLE_HOME/rdbms/prvtxml.plb,如果執行select * from dba_objects where owner = 'SYS' and status = 'INVALID' ; 發現無效物件,可執行utlrp.sql校驗這些物件。
如果建庫完成後,資料庫沒有起來,在HACMP5.1下裝了幾次還沒有碰到順利起來的,這個問題應該與RAC找不到正確的內部網路通訊路徑有關,可以透過顯式設定cluster_interconnects引數來解決(可在剛才的“設定資料庫引數”時預先設好。):CRDT1.cluster_interconnects='192.168.0.207:192.168.1.207'(p270上)、CRDT2.cluster_interconnects='192.168.0.208:192.168.1.208'(f80上)。
也是建庫結束時,碰到ORA-27504: IPC error creating OSD context,這也是因為cluster_interconnects引數沒有設定的問題,更嚴重的是這種情況下連spfile都還沒有建好。解決方法是,進入$ORACLE_BASE/admin/scripts目錄,手工編輯init.ora檔案,加入cluster_interconnects引數設定,然後執行postDBCreation.sql完成建庫後的其他操作。
3.6. 使用和測試
rac下啟動資料庫可以用傳統的sqlplus方式,也可以用srvctl命令:
啟動資料庫:srvctl start database -d CRDT;
檢查資料啟動狀態:srvctl status database -d CRDT;
關閉資料庫:srvctl stop database -d CRDT;
使用srvctl命令時,可能會碰到PRKP-1040 Failed to get status of the listeners associated with instance 錯誤,這實際不影響資料庫的啟動,如果想要解決,手工編輯兩臺主機上的$ORACLE_HOME/bin/gsd.sh(先停gsd)和$ORACLE_HOME/bin/gsd.sh檔案,在'# Run ops...'之前case $PLATFORM in "AIX")下,3個"LIBPATH"都改成"LD_LIBRARY_PATH"即可。
dbca在安裝過程中,自動完成tnsnames.ora檔案的設定,客戶端的配置可以參考伺服器上的設定:
CRDT2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.208)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = CRDT)
(INSTANCE_NAME = CRDT2)
)
)

CRDT1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.207)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = CRDT)
(INSTANCE_NAME = CRDT1)
)
)

CRDT =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.207)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.0.208)(PORT = 1521))
(LOAD_BALANCE = yes) # failover是預設開啟的。
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CRDT)
)
)

實際測試中,單網路卡失敗情況下,hacmp自動完成swap_adapter,對客戶端幾乎沒有影響。
但模擬節點失敗時,客戶端sqlplus需要重新連線,而且要連兩次才能接入。查了資料,對配置進行修改:
...
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = CRDT)
(FAILOVER_MODE =
(TYPE = session)
(METHOD = basic)
(DELAY = 10)
)
)
這樣,在節點失敗時,客戶端自動連線另一個可用節點,對使用者來說沒有影響。可以執行:
SELECT MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER, COUNT(*)
FROM V$SESSION
GROUP BY MACHINE, FAILOVER_TYPE, FAILOVER_METHOD, FAILED_OVER;
SQL檢查session的TAF屬性。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/hayyon/archive/2005/11/25/536593.aspx


[@more@]

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

相關文章