升級informix資料庫到10.0出現KAIO錯誤的解決辦法

tonykorn97發表於2006-12-29

老資料庫:

IBM Informix Dynamic Server Version 9.40.UC4W2

要升級的新資料庫:

IBM Informix Dynamic Server Version 10.00.UC4


按照平時的升級步驟升級,當執行到oninit -v 時執行不過去。


[informix@tonykorn97 etc]$ oninit -v
Checking group membership to determine server run mode...succeeded
Reading configuration file '/home/informix/etc/tonykorn97.cfg'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Creating infos file "/home/informix/etc/.infos.ontonykorn97"...succeeded
Linking conf file "/home/informix/etc/.conf.ontonykorn97"...succeeded
Writing to infos file...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 42630 kbytes...succeeded
Allocating 400016 kbytes for buffer pool of 2K page size...succeeded
Initializing rhead structure...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
Onlining 0 additional cpu vps...succeeded
Onlining 2 IO vps...succeeded
Initialization of Encryption...succeeded
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'soctcp' listener threads...succeeded
Starting tracing...succeeded
Initializing 1 flushers...succeeded

檢視日誌:

[informix@tonykorn97 ~]$ vi tonykorn97.log

23:15:25 IBM Informix Dynamic Server Started.

Thu Dec 28 23:15:26 2006

23:15:26 Warning: ONCONFIG dump directory (DUMPDIR) '/tmp' has insecure permissions
23:15:26 Event alarms enabled. ALARMPROG = '/home/informix/etc/log_full.sh'
23:15:26 Booting Language from module <>
23:15:26 Loading Module
23:15:26 Booting Language from module <>
23:15:26 Loading Module
23:15:31 DR: DRAUTO is 0 (Off)
23:15:31 IBM Informix Dynamic Server Version 10.00.UC4 Software Serial Number AAA#B000000
23:15:31 Assert Failed: initializing KAIO failed
23:15:31 IBM Informix Dynamic Server Version 10.00.UC4
23:15:31 Who: Session(1, , 0, (nil))
Thread(11, kaio, 0, 1)
File: kaioapi.c Line: 246
23:15:31 Results: io_queue_init(32768) failed returning -22, errno = 0
23:15:31 stack trace for pid 3098 written to /tmp/af.3f3df93
23:15:31 See Also: /tmp/af.3f3df93, shmem.3f3df93.0
23:15:40 initializing KAIO failed
23:15:43 io_queue_init(32768) failed returning -22, errno = 0
23:15:43 Assert Failed: kaiothread() ERROR
23:15:43 IBM Informix Dynamic Server Version 10.00.UC4
23:15:43 Who: Session(1, , 0, (nil))
Thread(11, kaio, 0, 1)
File: kaio.c Line: 2063
23:15:43 stack trace for pid 3098 written to /tmp/af.3f3df93
23:15:43 See Also: /tmp/af.3f3df93
23:15:45 kaio.c, line 2063, thread 11, proc id 3098, kaiothread() ERROR.
23:15:45 PANIC: Attempting to bring system down
23:15:45 semctl: errno = 22

23:15:45 semctl: errno = 22

檢視日誌中所提到的檔案

[informix@tonykorn97 ~]$ vi /tmp/af.3f3df93

23:15:31
23:15:31 IBM Informix Dynamic Server Version 10.00.UC4 Software Serial Number AAA#B000000

23:15:31 Assert Failed: initializing KAIO failed
23:15:31 Who: Session(1, , 0, (nil))
Thread(11, kaio, 0, 1)
File: kaioapi.c Line: 246
23:15:31 Results: io_queue_init(32768) failed returning -22, errno = 0
23:15:31 Stack for thread: 11 kaio

base: 0x5f924000
len: 36864
pc: 0x08786a17
tos: 0x5f92c890
state: running
vp: 1

0x08786a17 (oninit)afstack (0x5f871640, 0xc1a, 0x5f92c9a0, 0xf6, 0x0, 0x0)
0x087861b9 (oninit)afhandler(0x2, 0x8b1cf0d, 0x5f92cf20, 0x0, 0x401, 0x1)
0x0878565b (oninit)affail_interface(0x8b1cf0d, 0x5f92cf20, 0x0, 0x1, 0x8b1cf03, 0xf6)
0x08783ff3 (oninit)_aioinit(0x5f88fcf8, 0x0, 0x0, 0x0, 0x0, 0x0)
0x087822d7 (oninit)kaiothread(0x5f910078, 0x5f871640, 0x7, 0x0, 0x0, 0x0)
0x08767514 (oninit)startup (0x1b, 0x5f935818, 0x5f910480, 0x8818, 0xbf24e4b1, 0x0)
0x00000000 (*nosymtab*)0x0


23:15:31 See Also: /tmp/af.3f3df93, shmem.3f3df93.0

---------------------------------
Begin System Alarm Program Output
---------------------------------

經過查明,原來時作業系統版本的問題,

Red Hat Enterprise Linux AS release 4 (Nahant Update 1)
Kernel 2.6.9-11.ELsmp on an x86_64
這個就有這個問題!

Red Hat Enterprise Linux AS release 4 (Nahant Update 3)
Kernel 2.6.9-34.ELsmp on an i686
這個沒有!

處理辦法:

在informix的環境變數中增加一行:

export KAIOOFF=1

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

相關文章