在安裝 HADB 之前,必須先配置共用記憶體和信號。該程序視您的作業系統而定。
如果您的主機除了執行 HADB 外還執行其他應用程式,請計算這些應用程式使用的共用記憶體和信號量,將結果增加至 HADB 需要的值。本小節建議的值足以在每台主機上執行多達 6 個 HADB 節點。如果您執行的 HADB 節點超過 6 個,或主機上執行的應用程式需要額外的共用記憶體和信號,只要調高這個值即可。
如果信號的數目過低,可能會導致 HADB 故障並顯示以下錯誤訊息:裝置上無可用空間。此情況可能會在啟動資料庫時或執行階段發生。
由於信號是一種全域性的作業系統資源,因此配置需要顧及主機上執行的所有程序,而不只是 HADB 而已。在 Solaris 上,可以編輯 /etc/system 檔案來配置信號設定。
以超級使用者身份登入。
配置共用記憶體。
設定 shminfo_shmmax 以指定主機上單一共用記憶體區段的最大大小。將這個值設定為 HADB 主機電腦上安裝的 RAM 總數,值是以十六進位值表示,不得超過 2 GB。
例如,以 2 GB 的 RAM 來說,請在 /etc/system 檔案中將值設定如下:
set shmsys:shminfo_shmmax=0x80000000 |
若要確定主機電腦上的記憶體量,請使用以下指令︰
prtconf | grep Memory |
在 Solaris 8 或更低的版本中,請設定 shminfo_shmseg,這是每個程序可以附加的最大共用記憶體區段數。請將這個值設為每台主機節點數的 6 倍。若每台主機的節點數不超過 6 個,請在 /etc/system 檔案中增加以下指令:
set shmsys:shminfo_shmseg=36 |
在 Solaris 9 以及更高版本中,shmsys:shminfo_shmseg 已停用。
設定 shminfo_shmmni,這是全系統的最大共用記憶體區段數。由於每個 HADB 節點都會配置 6 個共用記憶體區段,因此 HADB 需要的記憶體值必須至少是每個主機節點數的 6 倍。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。
配置信號。
請在 /etc/system 檔案中檢查如下的信號配置項目:
set semsys:seminfo_semmni=10 set semsys:seminfo_semmns=60 set semsys:seminfo_semmnu=30 |
如果有上述項目存在,請依以下指示調高其值。
如果 /etc/system 檔案不包含這些項目,請將它們增加至檔案的結尾處︰
設定 seminfo_semmni,這是信號識別碼的最大數目。每個 HADB 節點都需要有一個信號識別碼。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。例如︰
set semsys:seminfo_semmni=10 |
設定 seminfo_semmns,這是全系統的最大信號數目。每個 HADB 節點都必須有 8 個信號。在 Solaris 9 中,若每台主機的節點數不超過 6 個,就不需要更改預設值。例如︰
set semsys:seminfo_semmns=60 |
設定 seminfo_semmnu,這是系統內還原結構的最大數目。每個連線都需要一個還原結構 (配置變數 NumberOfSessions,預設值 100)。若每台主機的節點數不超過 6 個,將其設為 600:
set semsys:seminfo_semmnu=600 |
重新開機。
您必須在 Linux 上配置共用記憶體設定。預設的信號設定則不需要調整。
以超級使用者身份登入。
編輯 /etc/sysctl.conf 檔案。
若使用的是 Redhat Linux,您也可以修改 sysctl.conf 以設定核心參數。
如下所示,設定 kernel.shmax 和 kernel.shmall 的值:
echo MemSize > /proc/sys/shmmax echo MemSize > /proc/sys/shmall |
其中 MemSize 是位元組數。
kernel.shmax 參數定義共用記憶體區段的最大大小 (以位元組為單位)。kernel.shmall 參數可設定在系統上一次使用的共用記憶體總大小 (以頁為單位)。將這些參數的值設定為機器上實體記憶體的大小。將值指定為十進位位元組數。
例如,若要將兩個值都設為 2GB,請使用以下指令:
echo 2147483648 > /proc/sys/kernel/shmmax echo 2147483648 > /proc/sys/kernel/shmall |
使用以下指令重新開機:
sync; sync; reboot
Windows 不需要任何特殊的系統設定。但是,如果您要使用現有的 J2SE 安裝,請將 JAVA_HOME 環境變數設定至安裝 J2SE 的位置。