informix資料庫啟動失敗

sundayhe發表於2011-05-19

網路交換機重啟,資料庫切換失敗,啟動主機的資料庫出現共享記憶體報錯,報詳細日誌資訊如下:

主資料庫

Sun Dec 16 02:03:19 2007

02:03:19 Event alarms enabled. ALARMPROG = '/opt/informix/etc/log_full.sh'

02:03:26 DR: DRAUTO is 2 (Reverse)

02:03:26 Requested shared memory segment size rounded from 588KB to 592KB

02:03:26 shmget: [EEXIST][17]: key 52574802: shared memory already exists

02:03:26 (2) shm creation of shmem segment failed

Sun Dec 16 02:03:29 2007

02:03:29 Event alarms enabled. ALARMPROG = '/opt/informix/etc/log_full.sh'

02:03:35 DR: DRAUTO is 2 (Reverse)

02:03:35 Requested shared memory segment size rounded from 588KB to 592KB

02:03:35 shmget: [EEXIST][17]: key 52574802: shared memory already exists

02:03:35 (2) shm creation of shmem segment failed

重啟主機系統後起主機資料庫正常。

2007-12-16凌晨2點,交換機發生了機器重啟,scp01主機informix資料庫切換失敗,在雙機拉資料庫啟動時報,共享記憶體已存在錯誤。

SCP01 主機資料庫採用的是HDR方式,HDR資料庫方式為資料庫熱備,主備資料庫中間互有偵察訊息,類似ping操作,在一個週期裡如果不能偵察到對方將會產生錯誤,當錯誤達到一定的數量時一般情況將會造成兩個資料庫全為primary 或者備機一直處於FAST RECOVERY狀態,特殊情況下可能造成資料庫hang住或掛死。當重啟資料庫時,因有些程式並沒有將其所佔有的共享記憶體釋放,所以在重啟時將報共享記憶體已存在的錯誤,資料庫起不來

使用ipccs命令查到informix資料庫使用的共享記憶體ID號後,再用ipcrm命令手工釋放共享記憶體空間。操作如下例:

#ipcs

T ID KEY MODE OWNER GROUP

Message Queues:

m 7173 0x52564801 --rw-rw---- root informix

m 6 0x52564802 --rw-rw-rw- root Informix

# ipcrm –m 7173

# ipcrm –m 6

# ipcs |grep informix

使用ipcs檢視無iformix資料庫資訊後,起動informix資料庫,資料庫恢復正常,資料同步正常。

INFORMIX資料庫的HDR關係對網路的穩定性要求非常高,一定要保障裝置所處網路的穩定性[@more@]

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

相關文章