您好,登錄后才能下訂單哦!
目的
此文檔向讀者提供如何安裝一個群集,安裝RAC,并在IBM AIX HACMP/ES (CRM) 4.4.x上啟動一個群集數據庫的手把手指導手冊,對于關于任何這些步驟的其它解釋或信息,請參考文檔結尾列出的參考手冊。
1. 配置群集硬件
1.1 最小硬件列表/系統要求
1.1.1 硬件
1.1.2 軟件
1.1.3 補丁
1.2 安裝磁盤陣列
1.3 安裝群集內聯和外聯的網絡硬件
2. 創建一個群集
2.1 HACMP/ES 軟件安裝
2.2 配置群集拓撲
2.3 同步群集拓撲
2.4 配置群集資源
2.4.1 在一個節點上創建并行共享的卷組
2.4.2 創建共享的RAW邏輯卷
2.4.3 在其它節點上導入卷組
2.4.4 添加并行群集資源組
2.4.5 配置并行群集資源組
2.4.6 創建平行文件系統 (GPFS)
2.5 同步群集資源
2.6 添加節點到群集里
2.7 基本的群集管理
3. 準備安裝RAC
3.1 配置共享磁盤和UNIX預安裝任務
3.2.1 配置共享磁盤
3.2.2 UNIX預安裝任務
3.2 使用OUI安裝RAC
3.3 使用ODCA創建一個RAC數據庫
4. 管理RAC實例
5. 參考手冊
1. 配置群集硬件
1.1 最小硬件列表/系統要求
對于一個兩節點的群集,下面是推薦的最小硬件列表。檢查RAC/IBM AIX 認證矩陣,獲取當前支持RAC的最新硬件/軟件。
1.1.1 硬件
●IBM服務器 – 兩個可以運行AIX 4.3.3 或5L 64位的IBM服務器
●對于IBM或第三方存儲產品,群集內聯,外聯網絡,交換機選件,內存,交換分區&CPU的要求,參考操作系統供應商和硬件供應商。
●內存,交換分區&CPU要求
●每個服務器必須有至少512M內存,至少1G交換分區或兩倍于物理內存或更多。
要確定使用的系統內存: $ /usr/sbin/lsattr -E -l sys0 -a realmem
要確定使用的交換分區: $ /usr/sbin/lsps -a
●需要64位的處理器。
1.1.2 軟件
●當使用IBM AIX 4.3.3時:
◆HACMP/ES CRM 4.4.x
◆只有裸邏輯卷支持數據庫文件
◆Oracle服務器企業版 9.0.1 或 9.2.0
●當使用IBM AIX 5.1 (5L)時:
對于駐留在裸邏輯卷的數據庫文件:
◆HACMP/ES CRM 4.4.x
對于駐留在 GPFS上的數據庫文件:
◆HACMP/ES 4.4.x (不需要HACMP/CRM )
◆GPFS 1.5
◆IBM補丁PTF12和IBM補丁IY34917或 IBM 補丁 PTF13
◆Oracle服務器企業版9.2.0
◆Oracle Server Enterprise Edition 9i for AIX 4.3.3 和5L在單獨的CD包里,并且包括RAC。
1.1.3 補丁
IBM群集節點可能需要以下方面的補丁:
●IBM AIX操作系統環境補丁
●存儲固件補丁或微碼升級
補丁注意事項:
●確保所有的群集節點有相同的補丁級別
●不要在沒有資格人員的幫助時,安裝任何跟固件相關的補丁
●總是獲取最新的補丁信息
●仔細閱讀所有補丁的README版本說明
●對于需要的操作系統補丁列表,檢查Note:211537.1 ,并聯系IBM公司,獲取額外的補丁要求。
使用以下命令查看當前已安裝的補丁:
% /usr/sbin/instfix -i
驗證一個特定補丁的安裝:
% /usr/sbin/instfix -ivk
例如:
% /usr/sbin/instfix -ivk IY30927
1.2 安裝磁盤陣列
在安裝IBM AIX操作系統環境和HACMP軟件之前,結合HACMP for AIX安裝手冊和服務器硬件安裝手冊,初始化安裝磁盤箱或陣列。
1.3安裝群集互連和公共網絡硬件
群集互連和公共網絡接口不需要在安裝HACMP之前配置,但必須在配置群集之前被配置并可用。
●如果還沒有被安裝,那么先安裝主機適配卡HBA到群集節點上,安裝過程,參考相關文檔。
●多于2個節點的群集需要2個群集傳輸連接器,這些傳輸連接器是基于以太網的交換機,在你安裝了其它硬件之后,你可以安裝群集軟件和配置互連網絡。
2. 創建一個群集
2.1 IBM HACMP/ES軟件安裝
HACMP/ES 4.X.X安裝和配置過程通過幾個主要步驟完成。一般過程為:
●安裝硬件
●安裝IBM AIX操作系統軟件
●安裝最新的IBM AIX維護級別和需要的補丁
●在每個節點上安裝HACMP/ES 4.X.X
●安裝HACMP/ES需要的補丁
●配置群集拓撲
●同步群集拓撲
●配置群集資源
●同步群集資源
根據HACMP for AIX 4.X.X 安裝指南獲取安裝需要的HACMP包的詳細的指導說明。需要的/建議的軟件包,包括下面這些:
●cluster.adt.es.client.demos
●cluster.adt.es.client.include
●cluster.adt.es.server.demos
●cluster.clvm.rte HACMP for AIX Concurrent
●cluster.cspoc.cmds HACMP CSPOC commands
●cluster.cspoc.dsh HACMP CSPOC dsh and perl
●cluster.cspoc.rte HACMP CSPOC Runtime Commands
●cluster.es.client.lib ES Client Libraries
●cluster.es.client.rte ES Client Runtime
●cluster.es.client.utils ES Client Utilities
●cluster.es.clvm.rte ES for AIX Concurrent Access
●cluster.es.cspoc.cmds ES CSPOC Commands>
●cluster.es.cspoc.dsh ES CSPOC dsh and perl
●cluster.es.cspoc.rte ES CSPOC Runtime Commands
●cluster.es.hc.rte ES HC Daemon
●cluster.es.server.diag ES Server Diags
●cluster.es.server.events ES Server Events
●cluster.es.server.rte ES Base Server Runtime
●cluster.es.server.utils ES Server Utilities
●cluster.hc.rte HACMP HC Daemon
●cluster.msg.En_US.cspoc HACMP CSPOC Messages - U.S.
●cluster.msg.en_US.cspoc HACMP CSPOC Messages - U.S.
●cluster.msg.en_US.es.client
●cluster.msg.en_US.es.server
●cluster.msg.en_US.haview HACMP HAView Messages - U.S.
●cluster.vsm.es ES VSM Configuration Utility
●cluster.clvm.rte HACMP for AIX Concurrent
●cluster.es.client.rte ES Client Runtime
●cluster.es.clvm.rte ES for AIX Concurrent Access
●cluster.es.hc.rte ES HC Daemon
●cluster.es.server.events ES Server Events
●cluster.es.server.rte ES Base Server Runtime
●cluster.es.server.utils ES Server Utilities
●cluster.hc.rte HACMP HC Daemon
●cluster.man.en_US.client.data
●cluster.man.en_US.cspoc.data
●cluster.man.en_US.es.data ES Man Pages - U.S. English
●cluster.man.en_US.server.data
●rsct.basic.hacmp RS/6000 Cluster Technology
●rsct.basic.rte RS/6000 Cluster Technology
●rsct.basic.sp RS/6000 Cluster Technology
●rsct.clients.hacmp RS/6000 Cluster Technology
●rsct.clients.rte RS/6000 Cluster Technology
●rsct.clients.sp RS/6000 Cluster Technology
●rsct.basic.rte RS/6000 Cluster Technology
你可以使用clverify命令來驗證安裝的HACMP軟件。
# /usr/sbin/cluster/diag/clverify
在 clverify> 提示符下,輸入 software
然后在 clverify.software> 提示符下,輸入 lpp
你應該看到類似于如下的信息:
Checking AIX files for HACMP for AIX-specific modifications...
*/etc/inittab not configured for HACMP for AIX.
If IP Address Takeover is configured, or the Cluster Manager is to be started on boot, then /etc/inittab must contain the proper HACMP for AIX entries.
Command completed.
--------- Hit Return To Continue ---------
2.2 配置群集拓撲
使用如下命令:
# smit hacmp
注意:下面只是一個通用的HACMP配置的例子,參看HACMP安裝和規劃文檔獲取特定例子,此配置不包括 IP takeover network的例子, smit 快速路徑正被用于導航到 smit hacmp 配置菜單,每一個配置屏幕都從 smit hacmp 獲取,所有的配置從一個節點進行,然后同步到參與群集的其它節點。
2.2.1添加群集定義:
Smit HACMP -> Cluster Configuration -> Cluster Topology -> Configure Cluster -> Add a Cluster Definintion
快速路徑:
# smit cm_config_cluster.add
Add a Cluster Definition
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
**NOTE: Cluster Manager MUST BE RESTARTED in order for changes to be acknowledged.**
* Cluster ID [0]
* Cluster Name [cluster1]
“Cluster ID” 和“Cluster Name”可以是任意的,“Cluster ID”必須是0-9999之間的有效數字,“Cluster Name”可以是任何最多32個字母的字符串。
2.2.2配置節點:
Smit HACMP -> Cluster Configuration -> Cluster Topology -> Configure Nodes -> Add Cluster Nodes
快速路徑:
# smit cm_config_nodes.add
Add Cluster Nodes
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
*Node Names [node1 node2]
“Node Names”應該是節點的主機名,它們必須是字母數字,且不多于32個字符。所有參與的節點必須在此輸入,并用空格隔開 。
2.2.3添加網絡適配器
此例在每個節點上使用2個以太網卡,并用一個RS232串口作為心跳連接:
節點名稱 | IP地址 | IP標簽 | 類型 |
node1 | 192.168.0.1 | node1srvc | service |
192.168.1.1 | node1stby | standby | |
/dev/tty0 | serial | 心跳 | |
node2 | 192.168.0.2 | node2srvc | service |
192.168.1.2 | node2stby | standby | |
/dev/tty0 | serial |
配置網絡適配器:
Smit HACMP -> Cluster Configuration -> Cluster Topology -> Configure Nodes -> Add an Adapter
快速路徑:
# smit cm_confg_adapters.add
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node1srvc]
* Network Type [ether] +
* Network Name [ipa] +
* Network Attribute public +
* Adapter Function service +
Adapter Identifier []
Adapter Hardware Address []
Node Name [node1] +
注意“Adapter IP Label” 必須匹配“/etc/hosts”文件,否則適配卡不能映射到有效的IP地址,群集不能被同步,“Network Name”是網絡配置的任意名稱,在此配置里的適配卡必須有相同的 “Network Name”,此名稱被用于在適配卡失敗時,決定哪些適配卡被使用。
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node1stby]
* Network Type [ether] +
* Network Name [ipa] +
* Network Attribute public +
* Adapter Function standby +
Adapter Identifier []
Adapter Hardware Address []
Node Name [node1] +
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node2srvc]
* Network Type [ether] +
* Network Name [ipa] +
* Network Attribute public +
* Adapter Function service +
Adapter Identifier []
Adapter Hardware Address []
Node Name [node2] +
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node2stby]
* Network Type [ether] +
* Network Name [ipa] +
* Network Attribute public +
* Adapter Function standby +
Adapter Identifier []
Adapter Hardware Address []
Node Name [node2] +
下面是串口配置:
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node1_tty]
* Network Type [rs232] +
* Network Name [serial] +
* Network Attribute serial +
* Adapter Function service +
Adapter Identifier [/dev/tty0]
Adapter Hardware Address []
Node Name [node1] +
Add an Adapter
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Adapter IP Label [node2_tty]
* Network Type [rs232] +
* Network Name [serial] +
* Network Attribute serial +
* Adapter Function service +
Adapter Identifier [/dev/tty0]
Adapter Hardware Address []
Node Name [node2] +
因為這跟以太網卡不同,所以 “Network Name”也不同。
使用“smit mktty” 配置RS232適配器:
# smit mktty
Add a TTY
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[TOP] [Entry Fields]
TTY type tty
TTY interface rs232
Description Asynchronous
Terminal Parent adapter sa0
* PORT number [0] +
Enable LOGIN disable +
BAUD rate [9600] +
PARITY [none] +
BITS per character [8] +
Number of STOP BITS [1] +
TIME before advancing to next port setting [0] +#
TERMINAL type [dumb]
FLOW CONTROL to be used [xon] +
[MORE...31]
確保“Enable LOGIN”被設置為默認的“disable”,“PORT number” 是在 /dev/tt# 里使用的“#” ,因此,如果你定義為“0” ,那么將是“/dev/tty0”設備。
2.3 同步群集拓撲
群集拓撲在配置之后,需要被同步,同步執行拓撲的完整性檢查,然后被推送到群集配置里的每個節點,配置同步,需要是root用戶,有幾個方法可以做到:
其中一個方法就是在每個節點的根目錄創建一個.rhosts 文件。
一個.rhosts的例子文件:
node1 root
node2 root
確保/.rhosts文件的權限為600。
# chmod 600 /.rhosts
使用遠程命令rcp等來測試配置是否正確:
從節點1:
# rcp /etc/group node2:/tmp
從節點2:
# rcp /etc/group node1:/tmp
同步群集拓撲:
Smit HACMP -> Cluster Configuration -> Cluster Topology -> Synchronize Cluster Topology
快速路徑:
# smit configchk.dialog
Synchronize Cluster Topology
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
Ignore Cluster Verification Errors? [No] +
* Emulate or Actual? [Actual] +
注意:只有本地節點的默認配置文件保留你的更改,用于拓撲仿真,當你運行仿真之后,要還原到原始配置,運行SMIT命令,“Restore System Default Configuration from Active Configuration”,我們推薦你在運行仿真之前,做一個快照。 只是為了防止在仿真過程中發生不能控制的群集事件,如果在此節點上激活了群集管理器,同步群集拓撲將引起在同步成功完成之后,群集管理器的任何更改將立即生效。
2.4 配置群集資源
在一個RAC配置里,只需要一個資源組。此資源組是一個用于共享卷組的并行資源組,下面是為共享卷組添加一個并行資源組的過程:
首先需要一個在節點間共享的卷組,相同群集數據庫的兩個實例并行訪問相同的外部磁盤,這是真正的并行訪問,與VSD環境里的共享不一樣。因為幾個實例同時訪問相同的文件和數據,locks必須被管理,這些locks在CLVM層,由HACMP管理。
1) 檢查目標磁盤是否物理連接到群集的節點,并可以被節點所看到。在兩個節點上輸入lspv命令。
注意:hdisk號碼可以不一樣,依賴于其它節點的磁盤配置,使用lspv的第二個輸出字段(Pvid),確保從兩個主機處理相同的物理磁盤。盡管hdisk號碼不連續可能不是問題,但IBM建議使用“鬼”盤來確保在節點間匹配hdisk號碼。
2.4.1 在一個節點上創建要共享的并行卷組
# smit vg
選擇 Add a Volume Group
Add a Volume Group
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
VOLUME GROUP name [oracle_vg]
Physical partition SIZE in megabytes 32 +
* PHYSICAL VOLUME names [hdisk5] +
Activate volume group AUTOMATICALLY at system restart? no +
Volume Group MAJOR NUMBER [57] +
Create VG Concurrent Capable? yes +
Auto-varyon in Concurrent Mode? no +
“PHYSICAL VOLUME names”必須是在節點間共享的物理磁盤,我們不要在系統啟動時,自動激活卷組,因為由HACMP來激活。并且“Auto-varyon in Concurrent Mode?” 應該被設置為“no” ,因為由HACMP 以并行模式加載它。你必須選擇 “major number”,確保卷組在所有節點有相同的“major number”(注意:在選擇此號碼之前,你必須確保它在所有節點都是空閑的)。檢查所有定義的major number,輸入:
% ls ?al /dev/*
crw-rw---- 1 root system 57, 0 Aug 02 13:39 /dev/oracle_vg
oracle_vg卷組的major number是57。
確保57在所有其它節點上可用,并且沒有被其它設備使用。
在此卷組上,創建你需要的所有邏輯卷和文件系統。
2.4.2 如果沒有使用GPFS那么創建共享的裸邏輯卷:
mklv -y'db_name_cntrl1_110m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_cntrl2_110m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_system_400m' -w'n' -s'n' -r'n' usupport_vg 13 hdisk5
mklv -y'db_name_users_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_drsys_90m' -w'n' -s'n' -r'n' usupport_vg 3 hdisk5
mklv -y'db_name_tools_12m' -w'n' -s'n' -r'n' usupport_vg 1 hdisk5
mklv -y'db_name_temp_100m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_undotbs1_312m' -w'n' -s'n' -r'n' usupport_vg 10 hdisk5
mklv -y'db_name_undotbs2_312m' -w'n' -s'n' -r'n' usupport_vg 10 hdisk5
mklv -y'db_name_log11_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_log12_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_log21_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_log22_120m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_indx_70m' -w'n' -s'n' -r'n' usupport_vg 3 hdisk5
mklv -y'db_name_cwmlite_100m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
mklv -y'db_name_example_160m' -w'n' -s'n' -r'n' usupport_vg 5 hdisk5
mklv -y'db_name_oemrepo_20m' -w'n' -s'n' -r'n' usupport_vg 1 hdisk5
mklv -y'db_name_spfile_5m' -w'n' -s'n' -r'n' usupport_vg 1 hdisk5
mklv -y'db_name_srvmconf_100m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5
用你實際的數據庫名來替換“db_name” ,當卷組創建時使用32兆字節的分區時,那么第7個字段是構成文件的分區數量,因此例如:如果“db_name_cntrl1_110m”需要110兆字節,那么我們需要4個分區。
裸分區被創建在“/dev”目錄里,它被作為字符設備使用,
“mklv -y'db_name_cntrl1_110m' -w'n' -s'n' -r'n' usupport_vg 4 hdisk5” 創建2個文件:
/dev/db_name_cntrl1_110m
/dev/rdb_name_cntrl1_110m
更改字符設備的權限,使得軟件屬主擁有它們,這里為oracle用戶:
# chown oracle:dba /dev/rdb_name*
2.4.3 在其它節點上導入(import)卷組
使用importvg在所有其它節點上導入oracle_vg 卷組。
在第一個機器上,輸入:
% varyoffvg oracle_vg
在其它節點上導入卷組,使用smit vg,并選擇Import a Volume Group 。
Import a Volume Group
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
VOLUME GROUP name [oracle_vg]
* PHYSICAL VOLUME name [hdisk5] +
Volume Group MAJOR NUMBER [57] +#
Make this VG Concurrent Capable? no +
Make default varyon of VG Concurrent? no +
物理卷名稱(hdisk)在每個節點上可能不同,使用lspv檢查磁盤的PVID,并確保選擇跟在第一個節點上創建卷組的磁盤的PVID相同的磁盤,并且保證使用相同的major number,此數字必須在所有節點上沒被定義,“Make default varyon of VG Concurrent?”選項應該被設置為“no”;因為卷組創建為并行方式,因此 “Make this VG Concurrent Capable?”可以保留為“no”。在原始創建卷組的節點varyoff卷組后,在命令行下導入卷組:
% importvg -V -y h disk#
% chvg -an
% varyoffvg
在每個節點導入卷組之后,確保更改字符設備的屬主,這里為oracle:
# chown oracle:dba /dev/rdb_name*
2.4.4 添加一個并行群集資源組
此例中共享的資源為 oracle_vg,創建管理此資源的并行資源組:
Smit HACMP -> Cluster Configuration -> Cluster Resources -> Define Resource Groups -> Add a Resource Group
快速路徑:
# smit cm_add_grp
Add a Resource Group
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Resource Group Name [shared_vg]
* Node Relationship concurrent +
* Participating Node Names [node1 node2] +
“Resource Group Name”是任意字符,用于在配置卷組時選擇,因為我們正在配置一個共享資源,“Node Relationship”為“concurrent”意味一組節點將并行共享此資源,“Participating Node Names”是以空格分隔的將共享此資源的節點列表。
2.4.5 配置并行群集資源組
當資源組被添加之后,可以被配置:
Smit HACMP -> Cluster Configuration -> Cluster Resources -> Change/Show Resources for a Resource Group
快速路徑:
# smit cm_cfg_res.select
Configure Resources for a Resource Group
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
Resource Group Name concurrent_group
Node Relationship concurrent
Participating Node Names opcbaix1 opcbaix2
Service IP label [] +
Filesystems [] +
Filesystems Consistency Check fsck +
Filesystems Recovery Method sequential +
Filesystems to Export [] +
Filesystems to NFS mount [] +
Volume Groups [] +
Concurrent Volume groups [oracle_vg] +
Raw Disk PVIDs [00041486eb90ebb7] +
AIX Connections Service [] +
AIX Fast Connect Services [] +
Application Servers [] +
Highly Available Communication Links [] +
Miscellaneous Data []
Inactive Takeover Activated false +
9333 Disk Fencing Activated false +
SSA Disk Fencing Activated false +
Filesystems mounted before IP configured false +
注意:“Resource Group Name”,“Node Relationship”和“Participating Node Names”的設置來自前面菜單里輸入的數據,“Concurrent Volume groups”是需要在共享存儲設備上預創建的卷組,“Raw Disk PVIDs”是組成“Concurrent Volume groups”的每個磁盤的物理卷Ids。要注意一個卷組管理多個并行資源,在這種情況下,用空格分隔每個卷組,并且“Raw Disk PVIDs”也要用空格來分隔。
2.4.6 創建平行文件系統(GPFS)
對于AIX 5.1 (5L),你也可以把文件放到GPFS (GPFS不需要裸邏輯卷),在這種情況下,創建可以容納數據庫文件,控制文件和日志文件的GPFS。
2.5 同步群集資源
在配置了資源組之后,需要同步資源:
Smit HACMP -> Cluster Configuration -> Cluster Resources -> Synchronize Cluster Resources
快速路徑:
# smit clsyncnode.dialog
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[TOP] [Entry Fields]
Ignore Cluster Verification Errors? [No] +
Un/Configure Cluster Resources? [Yes] +
* Emulate or Actual? [Actual] +
2.6 加入節點到群集
當配置了群集拓撲和資源之后,節點可以加入群集,同時只啟動一個節點非常重要,除非使用群集單點控制功能C-SPOC (Cluster-Single Pointing of Control)。
啟動群集服務:
Smit HACMP -> Cluster Services -> Start Cluster Services
快速路徑:
# smit clstart.dialog
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Start now, on system restart or both now +
BROADCAST message at startup? false +
Startup Cluster Lock Services? false +
Startup Cluster Information Daemon? true +
設置 “Start now, on system restart or both” 為“now” 將立即啟動HACMP進程, “restart” 將更新 “/etc/inittab” ,添加一個啟動HACMP的條目, “both” 在更新“/etc/inittab” 之后,立即啟動HACMP進程。 “BROADCAST message at startup? ” 可以是 “true” 或“false”,如果設置為 “true” ,那么當節點正在加入群集時,將顯示wall信息。“Startup Cluster Lock Services?” 對于RAC配置,應該被設置為“false” 。設置此參數為 “true” 將阻止群集工作,如果“clstat”被用于監視群集,那么 “Startup Cluster Information Daemon?” 必須被設置為“true“。
查看“/etc/hacmp.out” 獲取啟動信息,當你看到類似如下的信息,那么你可以安全地啟動其它節點的群集服務:
May 23 09:31:43 EVENT COMPLETED: node_up_complete node1
當正在添加節點到群集時,其它節點將在它們的"/tmp/hacmp.out"文件里報告一個成功加入的消息:
May 23 09:34:11 EVENT COMPLETED: node_up_complete node1
2.7 基本的群集管理
“/tmp/hacmp.out”是查看群集信息的最好地方,“clstat” 也可以被用于驗證群集的健康狀態,“clstat” 程序有時可以更新最新的群集信息,但有時根本不能工作。而且你必須在啟動群集服務時,設置了“Startup Cluster Information Daemon?”為“true”,輸入以下命令來啟動“clstat”:
# /usr/es/sbin/cluster/clstat
clstat - HACMP for AIX Cluster Status Monitor ---------------------------------------------Cluster: cluster1 (0) Tue Jul 2 08:38:06 EDT 2002 State: UP Nodes: 2 SubState: STABLE Node: node1 State: UP Interface: node1 (0) Address: 192.168.0.1 State: UP Node: node2 State: UP Interface: node2 (0) Address: 192.168.0.2 State: UP
檢查群集狀態的另一個辦法是使用snmpinfo來查詢snmpd進程:
# /usr/sbin/snmpinfo -m get -o /usr/es/sbin/cluster/hacmp.defs -v ClusterSubstate.0
應該返回"32":
clusterSubState.0 = 32
如果返回了其它值,請查找錯誤。
你可以快速查看HACMP的特定進程:
Smit HACMP -> Cluster Services -> Show Cluster Services
COMMAND STATUS
Command: OK stdout: yes stderr: no
Before command completion, additional instructions may appear below.Subsystem Group PID Status clstrmgrES cluster 22000 active clinfoES cluster 21394 active clsmuxpdES cluster 14342 active cllockdES lock inoperative clresmgrdES 29720 active
Starting & Stopping Cluster Nodes
從群集加入節點,使用:
Smit HACMP -> Cluster Services -> Start Cluster Services
從群集退出節點,使用:
Smit HACMP -> Cluster Services -> Stop Cluster Services
快速路徑:
# smit clstop.dialog
Stop Cluster Services
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* Stop now, on system restart or both now +
BROADCAST cluster shutdown? true +
* Shutdown mode graceful + (graceful or graceful with takeover, forced)
“Shutdown mode”決定在關閉發生時,資源是否在節點之間移動。
“forced” 是HACMP 4.4.1的新特性,當停止時,應用程序將由HACMP事件來控制運行。
“graceful” 將停止任何東西,但cascading和rotating資源不會被切換。
“graceful with takeover”在停止時,資源將被切換。
HACMP/ES日志文件:
在群集啟動和停止時,所有的群集配置信息都被記錄到“/tmp/hacmp.out”。
3.0 準備安裝RAC
RAC群集安裝過程包括4個主要任務。
3.1. 配置共享磁盤和UNIX預安裝任務。
3.2. 運行OUI安裝Oracle9i Enterprise Edition和Oracle9i RAC軟件。
3.3. 創建和配置數據庫。
3.1配置共享磁盤和UNIX預安裝任務
3.1.1 配置共享磁盤
如果沒有使用GPFS,那么RACE需要每個實例可以訪問一個共享磁盤系統上的一系列未格式化的設備。這些共享磁盤也被稱為裸設備,如果你的系統平臺支持Oracle認證的群集文件系統,那么你可以直接保存RAC需要的文件到群集文件系統里。
如果你正在使用GPFS,那么你也可以直接保存RAC需要的文件到群集文件系統里。
RAC配置中的Oracle實例把數據寫入到裸設備,更新控制文件,服務器參數文件,每個數據文件和每個重做日志文件,群集中的所有實例共享這些文件。
RAC配置中的Oracle實例把信息寫到以下定義的裸設備:
●控制文件
●spfile.ora
●每個數據文件
●每個聯機重做日志文件
●Server Manager (SRVM)配置信息
所以有必要為每個文件類別定義裸設備,Oracle數據庫配置助手 (DBCA)將創建一個種子數據庫,需要下列配置:
裸卷 | 文件 | 大小 | 樣本文件名 |
SYSTEM | tablespace | 400 Mb | db_name_raw_system_400m |
USERS | tablespace | 120 Mb | db_name_raw_users_120m |
TEMP | tablespace | 100 Mb | db_name_raw_temp_100m |
UNDO TBS | tablespace | per instance 312 Mb | db_name_raw_undotbsx_312m |
CWMLITE | tablespace | 100 Mb | db_name_raw_cwmlite_100m |
EXAMPLE | 160 Mb | db_name_raw_example_160m | |
OEMREPO | 20 Mb | db_name_raw_oemrepo_20m | |
INDX | tablespace | 70 Mb | db_name_raw_indx_70m |
TOOLS | tablespace | 12 Mb | db_name_raw_tools_12m |
DRYSYS | tablespace | 90 Mb | db_name_raw_drsys_90m |
First control file | 110 Mb | db_name_raw_controlfile1_110m | |
Second control file | 110 Mb | db_name_raw_controlfile2_110m | |
Two ONLINE redo log files | per instance 120 Mb x 2 | db_name_thread_lognumber_120m | |
spfile.ora | 5 Mb | db_name_raw_spfile_5m | |
srvmconfig | 100 Mb | db_name_raw_srvmconf_100m |
注意:自動重做管理需要每個實例一個重做表空間,因此你需要最少2個上面描述的表空間。使用上表里的命名約定,裸分區被標識為數據庫和裸卷類型。裸卷大小也使用此方式。樣本文件名中的字符串db_name應該用實際的數據庫名替換,thread是實例的線程號,log number是一個線程里的日志號。在你運行Oracle Universal Installer的節點上,創建一個ASCII文件來標識上面所示的裸卷對象,DBCA在安裝和創建數據庫中,需要這些裸卷對象存在。使
用如下格式命名裸卷對象:
database_object=raw_device_file_path
舉例如下:
system1=/dev/rdb_name_system_400m
spfile1=/dev/rdb_name_spfile_5m
users1=/dev/rdb_name_users_120m
temp1=/dev/rdb_name_emp_100m
undotbs1=/dev/rdb_name_undotbs1_312m
undotbs2=/dev/rdb_name_undotbs2_312m
example1=/dev/rdb_name_example_160m
cwmlite1=/dev/rdb_name_cwmlite_100m
indx1=/dev/rdb_name_indx_70m
tools1=/dev/rdb_name_tools_12m
drsys1=/dev/rdb_name_drsys_90m
control1=/dev/rdb_name_cntrl1_110m
control2=/dev/rdb_name_cntrl2_110m
redo1_1=/dev/rdb_name_log11_120m
redo1_2=/dev/rdb_name_log12_120m
redo2_1=/dev/rdb_name_log21_120m
redo2_2=/dev/rdb_name_log22_120m
你必須通過設置下面的環境變量來指定Oracle使用此文件來決定裸設備卷,其中filename就是上面創建的ASCII文件:
csh:
setenv DBCA_RAW_CONFIG filename
ksh, bash or sh:
DBCA_RAW_CONFIG=filename; export DBCA_RAW_CONFIG
3.1.2 UNIX預安裝步驟
注意:另外,你可以運行Note:189256.1里提供的installPrep.sh腳本,處理很多的UNIX環境問題。
配置了裸卷之后,在安裝之前以root用戶執行下面的步驟:
●添加Oracle用戶
●確信在群集的所有節點上的/etc/group文件里定義了osdba組,在安裝過程中要指派osdba組,組號和osoper組 ,這些組名稱必須在群集的所有節點上唯一,并作為Real Application Clusters database的一部分。 默認的osdba和osoper組名為dba,并且也需要一個oinstall組,作為軟件屬主的primary組,典型的條目看起來如下:
dba::101:oracle
oinstall::102:root,oracle
下面是一個例子命令,用于創建dba組,組號為101:
# mkgroup -'A' id='101' users='oracle' dba
●在每個節點上創建一個Oracle帳號,使得:
◆它是osdba組(如dba)的一個成員
◆它的primary group是oinstall
◆它只用于安裝和升級Oracle軟件
◆在遠程目錄上有寫權限
下面是一個例子命令,用于創建oracle用戶:
Smit -> Security & Users -> Users -> Add a User
快速路徑:
# smit mkuser
Add a User
Type or select values in entry fields.Press Enter AFTER making all desired changes.
[Entry Fields]
* User NAME [oracle]
User ID [101] #
ADMINISTRATIVE USER? false +
Primary GROUP [oinstall] +
Group SET [] +
ADMINISTRATIVE GROUPS [] +
ROLES [] +
Another user can SU TO USER? true +
SU GROUPS [ALL] +
HOME directory [/home/oracle]
Initial PROGRAM [/bin/ksh]
User INFORMATION []
EXPIRATION date (MMDDhhmmyy) [0]
Is this user ACCOUNT LOCKED? +
[MORE...36]
注意primary group 不是“dba”,使用oinstall是可選的,但推薦使用。
●在每個節點上創建一個掛載點目錄,作為Oracle軟件目錄的最上層,使得:
◆在每個節點上的掛載點名稱是唯一的,并和第一個節點相同。
◆oracle賬號對此掛載點有讀,寫和執行權限。
●從運行Oracle Universal Installer的節點上,建立用戶信任,通過添加條目到oracle賬號的.rhosts或/etc/hosts.equiv文件里。
●用oracle賬號檢測信任關系。
●作為oracle賬號,如果提示你輸入密碼,那么你在所有節點上為oracle賬號設置的密碼不一樣。你必須糾正這個問題,否則Oracle Universal Installer不能使用rcp命令拷貝文件到遠程節點。
建立系統環境變量:
●在用戶路徑里設置一個本地bin目錄,如/usr/local/bin或 /opt/bin,這在此目錄上擁有執行權限是必需的。
●設置DISPLAY變量指向系統(你運行OUI的機器)的 IP地址,名稱,X服務器和屏幕。
●設置至少有20Mb空間的臨時目錄TMPDIR,并且OUI有寫權限。
建立Oracle 環境變量:
ORACLE_BASE eg /u01/app/oracle
ORACLE_HOME eg /u01/app/oracle/product/901
ORACLE_TERM xterm
NLS_LANG AMERICAN-AMERICA.UTF8 for example
ORA_NLS33 $ORACLE_HOME/ocommon/nls/admin/data
PATH Should contain $ORACLE_HOME/bin
CLASSPATH $ORACLE_HOME/JRE:$ORACLE_HOME/jlib \$ORACLE_HOME/rdbms/jlib: \$ORACLE_HOME/network/jlib
●創建 /var/opt/oracle目錄,并設置屬主為oracle用戶。
●驗證存在 /opt/SUNWcluster/bin/lkmgr文件,被OUI使用以指明此安裝在一個群集上執行。
注意:有一個可以下載的驗證腳本InstallPrep.sh,在安裝 Oracle Real Application Clusters之前運行,此腳本根據安裝手冊,驗證系統是否配置正確,此腳本的輸出將報告任何更多的任務需要在成功安裝Oracle 9.x DataServer (RDBMS)之前完成。此腳本執行下列驗證:
●ORACLE_HOME目錄驗證
●UNIX User/umask驗證
●UNIX Group驗證
●Memory/Swap驗證
●TMP空間驗證
●Real Application Cluster Option 驗證
●Unix Kernel 驗證
./InstallPrep.sh
You are currently logged on as oracle
Is oracle the unix user that will be installing Oracle Software? y or n
y
Enter the unix group that will be used during the installation
Default: dba
dba
Enter Location where you will be installing Oracle
Default: /u01/app/oracle/product/oracle9i
/u01/app/oracle/product/9.2.0.1
Your Operating System is AIX
Gathering information... Please wait
Checking unix user ...
user test passed
Checking unix umask ...
umask test passed
Checking unix group ...
Unix Group test passed
Checking Memory & Swap...
Memory test passed
/tmp test passed
Checking for a cluster...
AIX Cluster test
Cluster has been detected
You have 2 cluster members configured and 2 are curently up
No cluster warnings detected
Processing kernel parameters... Please wait
Running Kernel Parameter Report...
Check the report for Kernel parameter verification
Completed.
/tmp/Oracle_InstallPrep_Report has been generated
Please review this report and resolve all issues before attempting to install the Oracle Database Software
3.2 使用OUI安裝RAC
根據這些步驟,使用Oracle Universal Installer來安裝Oracle企業版和Real Application Clusters軟件,Oracle9i由多個光盤提供,在安裝過程中,需要更換光盤,OUI管理光盤的更換。
要安裝Oracle軟件,執行如下命令:
如果從光盤安裝,那么以root用戶登錄,并加載第一個Oracle光盤:
# mount -rv cdrfs /dev/cd0 /cdrom
在光盤加載點,或從磁盤安裝時,從Disk1位置,執行 "rootpre.sh" 腳本,參看Oracle9i Installation Guide Release 2 (9.X.X.X.0) for UNIX Systems: AIX-Based Systems, Compaq Tru64 UNIX, HP 9000 Series HP-UX, Linux Intel and Sun SPARC Solaris ,獲取更多信息。
# //rootpre.sh
以oracle用戶登錄,并運行"runInstaller"。
$ //runInstaller
●在OUI歡迎界面,點擊 Next。
●將出現Inventory Location的提示(如果這是第一次在此系統上運行OUI),這是OUI將安裝文件的基礎目錄,Oracle Inventory定義可以在/etc/oraInst.loc文件里找到,點擊OK。
●驗證控制Oracle9i軟件安裝的用戶的組,如果出現運行/tmp/orainstRoot.sh的指導說明,那么預安裝步驟沒有成功完成,典型地, /var/opt/oracle目錄不存在或不能被oracle寫入。運行/tmp/orainstRoot.sh以糾正此問題, Oracle Inventory files和其它部分被強制寫入到ORACLE_HOME目錄,點擊Next。
●將顯示File Location窗口,不要更改源字段,目標字段默認為ORACLE_HOME環境變量,點擊Next。
●選擇要安裝的產品,在此例中,選擇Oracle9i Server,然后點擊Next。
●選擇安裝類型,選擇Enterprise Edition,此屏幕上的選擇是指安裝方式,不是數據庫配置,下一屏幕允許你選擇自定義數據庫配置,點擊Next。
●選擇配置類型,在此例中,你選擇Advanced Configuration,自定義配置數據庫和配置選擇的服務器產品,選擇Customized,并點擊Next。
●選擇要安裝Oracle RDBMS軟件的其它節點,不需要選擇正在運行OUI的節點,點擊Next。
●標識寫入Oracle9i RAC配置信息要的裸分區,推薦此裸分區容量最小為100Mb。
●顯示Upgrade or Migrate an existing database的選項,不要選擇此按鈕,Oracle移植工具不能升級一個RAC數據庫,如果選擇了此按鈕,將發生一個錯誤。
●顯示摘要屏幕,確認將要安裝的RAC數據庫軟件,然后點擊Install, OUI將安裝Oracle9i到本地節點,然后拷貝此信息到選擇的其它節點。
●當選擇了Install之后,OUI將安裝Oracle RAC軟件到本地節點,然后拷貝軟件到前面選擇的其它節點,這將花費一些時間,在安裝過程中,OUI不會顯示信息,表明組件正被安裝到其它節點-I/O活動可能是唯一表明過程正在繼續。
3.3 使用ODCA創建一個RAC數據庫
DBCA將為你創建一個數據庫,DBCA使用優化的結構來創建你的數據庫,這意味DBCA創建你的數據庫文件,包括默認的服務器參數文件,使用標準文件命名和文件位置,DBCA的主要步驟為:
●驗證你是否為每個表空間正確配置了共享磁盤(針對非群集文件系統)
●創建數據庫
●配置Oracle網絡服務
●啟動數據庫實例和監聽
Oracle公司推薦你使用DBCA來創建你的數據庫,這是因為DBCA預配置數據庫以優化環境,獲取Oracle9i優勢特性,如服務器參數文件和自動重做管理。DBCA也使你可以定義任意的表空間,甚至是你需要跟DBCA模板里指定的不同的數據文件,你也可以執行用戶指定的腳本。
DBCA和Oracle Net Configuration Assistant也為各類Oracle高可用性特性和群集管理工具準確配置你的RAC環境。
●DBCA將作為安裝過程的一部分啟動,但可以通過從$ORACLE_HOME/bin目錄執行dbca命令來手動運行,顯示RAC Welcome頁面,選擇Oracle Cluster Database選項,并點擊Next。
●顯示Operations頁面,選擇Create a Database選項,并點擊Next。
●顯示Node Selection頁面,選擇你想配置為RAC數據庫部分的節點,并點擊Next,如果節點從Node Selection丟失,那么執行$ORACLE_HOME/bin/lsnodes –v命令進行群集軟件診斷,并分析輸出信息,如果群集軟件沒有被正確安裝,那么解決問題,然后重新啟動DBCA。
●顯示Database Templates頁面,不同于新的數據庫,模板包括數據文件,選擇New Database,然后點擊Next。
●Show Details按鈕提供所選數據庫模板的信息。
●現在,DBCA 顯示Database Identification頁面,輸入Global Database Name和Oracle System Identifier (SID),Global Database Name 典型的格式為name.domain,例如mydb.us.oracle.com,SID被用于唯一標識一個實例,在RAC環境里,指定的SID被作用實例號的一個前綴,例如:MYDB, 將用MYDB1, MYDB2作為實例1和實例2。
●顯示Database Options頁面,選擇你想配置的選項,然后點擊Next, 注意:如果你沒有從Database Template頁面選擇New Database,那么你不會看到此屏幕。
●Additional database Configurations按鈕顯示額外的數據庫特性,確保選擇了這兩個按鈕,點擊OK。
●從Database Connection Options頁面選擇你要使用的connection options,點擊Next。注意:如果你沒有從Database Template頁面選擇New Database,那么你不會看到此屏幕。
●現在,DBCA顯示Initialization Parameters頁面,此頁面由一系列選項字段組成,修改內存設置,然后選擇File Locations選項,更新初始化參數文件名和位置,然后點擊Next。
●Create persistent initialization parameter file選項默認被選擇,如果你有一個群集文件系統,那么輸入一個文件系統名,否則輸入一個裸設備名,然后點擊Next。
●File Location Variables?按鈕顯示變量信息,點擊OK。
●All Initialization Parameters? 按鈕顯示初始化參數對話框,此對話框顯示所有初始化參數的值,并使用包括Y/N的選擇框來顯示它們是否被創建包含到spfile里,實例特定參數在instance欄里有一個實例值。完成All Initialization Parameters頁面里的所有條目,點擊Close。注意:有一些參數不能通過此屏幕更改。點擊Next。
●DBCA立即顯示Database Storage窗口,此頁允許你為數據庫的每個表空間輸入文件名。
●文件名被顯示在Datafiles文件夾里,但通過選擇Tablespaces圖標,然后從擴展樹選擇表空間對象來輸入,任何在這里顯示的名稱都可以被更改,可以使用一個配置文件,參看3.2.1,由環境變量DBCA_RAW_CONFIG指定。完成database storage information,并點擊 Next。
●顯示數據庫創建選項頁面,確保選擇了創建數據庫的選項,并點擊Finish。
●顯示DBCA摘要窗口,回顧此信息,然后點擊OK。
●當使用OK選項時,摘要屏幕被關閉,DBCA根據指定的值,開始創建數據庫。
現在,新的數據庫已存在,它可以通過Oracle SQL*PLUS來訪問或指派其它程序跟Oracle RAC數據庫一起工作。
4.0 管理RAC實例
Oracle公司推薦你使用SRVCTL來管理你的RAC數據庫環境,SRVCTL管理被幾個Oracle工具所使用的配置信息 ,例如:Oracle Enterprise Manager和Intelligent Agent 使用SRVCTL產生的配置信息來發現和監視群集中的節點。在使用SRVCTL之前,確信在配置了數據庫之后,Global Services Daemon (GSD)正在運行,要使用SRVCTL,你必須已經為你要管理的數據庫創建了配置信息,你必須已經使用DBCA或SRVCTL add命令完成了配置信息。
如果這是群集上創建的第一個Oracle9i數據庫,那么你必須初始化clusterwide SRVM 配置,首先,創建或編輯 /var/opt/oracle/srvConfig.loc文件,并添加srvconfig_loc=path_name條目,其中path_name是一個小的群集共享的裸卷,例如:
$ vi /var/opt/oracle/srvConfig.loc
srvconfig_loc=/dev/rrac_srvconfig_100m
然后,執行如下命令來初始化此裸卷(注意:當gsd正在運行時,不能運行它,對于9i Release 2之前的版本,你需要殺死 .../jre/1.1.8/bin/...進程來停止gsd,對于9i Release 2,使用gsdctl停止命令):
$ srvconfig -init
在你第一次使用SRVCTL工具來創建配置時,在所有節點上啟動 Global Services Daemon (GSD) ,使得SRVCTL能夠訪問你的群集信息,然后執行srvctl添加命令,使得 Real Application Clusters知道哪些實例屬于群集,語法如下:
對于Oracle RAC v9.0.1:
$ gsd
Successfully started the daemon on the local node.
$ srvctl add db -p db_name -o oracle_home
然后,從每個節點為每個實例輸入命令:
$ srvctl add instance -p db_name -i sid -n node
要顯示詳細的配置信息,運行:
$ srvctl config
racdb1
racdb2
$ srvctl config -p racdb1
racnode1 racinst1
racnode2 racinst2
$ srvctl config -p racdb1 -n racnode1
racnode1 racinst1
按如下啟動和停止RAC:
$ srvctl start -p racdb1
Instance successfully started on node: racnode2
Listeners successfully started on node: racnode2
Instance successfully started on node: racnode1
Listeners successfully started on node: racnode1
$ srvctl stop -p racdb2
Instance successfully stopped on node: racnode2
Instance successfully stopped on node: racnode1
Listener successfully stopped on node: racnode2
Listener successfully stopped on node: racnode1
$ srvctl stop -p racdb1 -i racinst2 -s inst
Instance successfully stopped on node: racnode2
$ srvctl stop -p racdb1 -s inst
PRKO-2035 : Instance is already stopped on node: racnode2
Instance successfully stopped on node: racnode1
對于Oracle RAC v9.2.0+:
$ gsdctl start
Successfully started the daemon on the local node.
$ srvctl add database -d db_name -o oracle_home [-m domain_name] [-s spfile]
然后為每個實例輸入命令:
$ srvctl add instance -d db_name -i sid -n node
要顯示詳細的配置信息,運行:
$ srvctl config
racdb1
racdb2
$ srvctl config -p racdb1 -n racnode1
racnode1 racinst1 /u01/app/oracle/product/9.2.0.1
$ srvctl status database -d racdb1
Instance racinst1 is running on node racnode1
Instance racinst2 is running on node racnode2
按如下啟動和停止RAC:
$ srvctl start database -d racdb2
$ srvctl stop database -d racdb2
$ srvctl stop instance -d racdb1 -i racinst2
$ srvctl start instance -d racdb1 -i racinst2
$ gsdctl stat
GSD is running on local node
$ gsdctl stop
關于srvctl和gsdctl的更多信息,參看Oracle9i Real Application Clusters administration手冊。
5.0 參考手冊
· Note: 182037.1 - AIX: Quick Start Guide - 9.0.1 RDBMS Installation
· Note: 201019.1 - AIX: Quick Start Guide - 9.2.0 RDBMS Installation
· Note: 77346.1 - Overview of HACMP Classic and / or HACMP/ES
· Note:137288.1 - Database Creation in Oracle9i RAC
· Note:183408.1 - Raw Devices and Cluster Filesystems With Real Application Clusters
· RAC/IBM AIX certification matrix
· Oracle9i Real Application Clusters Installation and Configuration Release 1 (9.0.1)
· Oracle9i Real Application Clusters Concepts
· Oracle9i Real Application Clusters Administration
· Oracle9i Real Application Clusters Deployment and Performance
· Oracle9i Installation Guide for Compaq Tru64, Hewlett-Packard HPUX, IBM-AIX, Linux, and Sun Solaris-based systems.
· Oracle9i Release Notes
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。