升级informix数据库到10.0出现KAIO错误的解决办法

老数据库:

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, informix@tonykorn97.rrl.com, 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, informix@tonykorn97.rrl.com, 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, informix@tonykorn97.rrl.com, 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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/312079/viewspace-245575/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引言 1 目的 informix9.3升级informix9.4升级过程描述,作为对数据库升级过程的技术文档。 2 使用范围 本文档适用于指导系统工程部的工程师做informix数据库升级。 3 参考文档 编号 资料名称 作者 出版单位 001 《IBM Informix migration Guide》 不详 IBM 4 过程描述 4.1 冷备份Informix程序目录 4.1.1 将/opt/informix目录打包tar,tar cvf ids93.tar /opt/informix/* ,备份到/backup和磁带库各一份。 4.1.2 将环境变量文件/opt/informix/.cshrc, /opt/informix/etc/sqlhosts, /opt/informix/etc/onconfig.sxdb等打包备份,备份到/backup和磁带库各一 4.2 检查和验证一致性 4.2.1 确定保留页 oncheck –cr 4.2.2 显示用户数据区域中每个Sb空间块的大小,已使用空间的总量和可用空间量。 oncheck –ce 4.2.3 确定系统目录表 oncheck –cc database_name 4.2.4 确定数据页和索引 oncheck –cDI database_name(若遇到无法修复的问题,请备份出数据删除重建表) 4.3 数据库的关闭和数据库的全备 4.3.1 数据库放到单用户模式下 onmode –sy 4.3.2 等待所有已连接到数据库的用户退出(需要开发部门配合结束采集程序) 4.3.2.1 将逻辑日志切换到下一个 onmode –l 4.3.3 执行完全检查点并释放逻辑日志文件 onmode –c 4.3.4 热备份Informix数据库 执行零级备份(到磁带库)$INFORMIXDIR/bin/onbar -b -w -L 0 4.3.5 备份逻辑日志 onbar –b –l 4.3.5.1 冷备份Informix数据库 cd /usr2/backup/dbexport mkdir perf gmcookdb c_unicom workflow3 offcdb … cd perf/ nohup dbexport -c -o ./ perf dbexport -c -o /usr2/backup/dbexport/c_perf c_perf SXdb2% dbexport -c -o /usr2/backup/dbexport/c_perf c_perf -425 - Database is currently opened by another user. -107 - ISAM error: record is locked. SXdb2% dbexport -c -o /usr2/backup/dbexport/c_perf c_perf -27002 - No connections are allowed in Dynamic Server quiescent mode. ********************************************************** 4.3.6 关闭数据库 onmode –yuk 4.4 操作系统环境检查 4.4.1 检查G网数据库服务器和应用服务器root和informix用户环境下是否有 自动执行的脚本,在对数据库进行操作 crontab –l(如果有注释掉) 4.4.2 检查G网数据库服务器,采集和应用服务器后台是否有进程对数据库进行操作 例如: ps –ef |grep dbaccess kill –9 PID 4.4.3 在G网数据库服务器上清除SNMP进程 ps –ef|grep snmp kill –9 PID 注意操作系统环境检查需要开发部配合完成 4.5 数据库服务器上覆盖安装64位的Informix9.4步骤: 4.5.1 执行ids_install,选择①安装IDS 9.4; 4.5.2 将IDS2000.tar解包; 4.5.3 执行installserver安装IDS 9.40FC5,安装细节与《IDS 9.3安装启动说明书》相同。 4.5.4 启动Informix 9.4数据库,oninit(不加参数 -i) 4.6 验证新数据库的正确性 4.6.1 验证新数据库能购正常运行。大约耗时1个小时,影响现有系统。 4.7 启用新数据库 检验配置应用、采集、上报等程序连接新安装的Informix 9.4,启用新安装的Informix 9.4数据库。大约耗时1个小时,影响现有系统。 4.8 库更新操作 dbaccess ->Query-language->选择库->执行update statistics 5 升级失败,启用旧版本数据库 5.1 从Informix程序目录的打包备份中恢复 5.1.1 清空/opt/informix目录,从“4.1.1”中的冷备份ids93.tar中解包,将程序文件恢复至/opt/informix目录。 5.1.2 检查Informix 9.3的关键的环境变量和配置文件/opt/Informix/.cshrc, /opt/informix/etc/sqlhosts, /opt/informix/etc/onconfig.hbdb等。 5.1.3 检查所有配置无误,启动Informix 9.3数据库oninit。 5.2 恢复ids93.tar不成功,重新安装Informix 9.3,重建数据库,从热备份或冷备份中恢复数据库 5.2.1 恢复失败,重新安装informix9.3数据库应用软件,重新创建数据库,热备份(on-bar)或冷备份(dbimport)中恢复数据库. 5.2.2 使用ON-Bar恢复数据库 onbar恢复之前,确保重建的数据库的名称和大小符合G网配置.例如: touch /wourkground/datadb/perfdbschk01 chmod 660 /wourkground/datadb/perfdbschk01 onspaces -c -d perfdbs -p /wourkground/datadb/perfdbschk01 -o 0 -s 1024000 5.2.3 命令格式(onbar –l) 5.2.4 使用dbimport恢复数据库 dbimport恢复不需要创建DBS,导入库时可以指定创建库的位置,例如: dbimport –c sxperf -i /backup/dbexport/port -d /opt/informix/user/hbperfchk01 6 附录:数据库升级记录 1. 将/opt/informix/*以及/opt/informix/etc/* tar到/usr2/backup目录下; 2. 使用jbpSA将第一步tar的文件备份到磁带上; 3. 检查和验证一致性 oncheck -cr oncheck –ce oncheck -cc adapter_bell_corba >oncheck.cc.adapter_bell_corba oncheck -cc oam>oncheck.cc.oam oncheck -cc adapter_cap_corba >oncheck.cc.adapter_cap_corba oncheck -cc offcdb >oncheck.cc.offcdb oncheck -cc adapter_moto_corba >oncheck.cc.adapter_moto_corba oncheck -cc sysmaster >oncheck.cc.sysmater oncheck -cc adapter_zte_corba >oncheck.cc.adpater_zte_corba oncheck -cc sysuser >oncheck.cc.sysuser oncheck -cc adpindb >oncheck.cc.adpindb oncheck -cc sysutils >oncheck.cc.sysutils oncheck -cc workflow3 >oncheck.cc.workfolow3 oncheck -cc c_unicom >oncheck.cc.c_unicom oncheck -cc dbmonitor >oncheck.cc.dbmonitor oncheck -cc gmcookdb >oncheck.cc.gmcookdb oncheck -cc c_perf >oncheck.cc.c_perf oncheck -cDI adapter_bell_corba >oncheck.cDI.adapter_bell_corba oncheck -cDI oam>oncheck.cDI.oam oncheck -cDI adapter_cap_corba >oncheck.cDI.adapter_cap_corba oncheck -cDI offcdb >oncheck.cDI.offcdb oncheck -cDI adapter_moto_corba >oncheck.cDI.adapter_moto_corba oncheck -cDI sysmaster >oncheck.cDI.sysmater oncheck -cDI adapter_zte_corba >oncheck.cDI.adpater_zte_corba oncheck -cDI sysuser >oncheck.cDI.sysuser oncheck -cDI adpindb >oncheck.cDI.adpindb oncheck -cDI sysutils >oncheck.cDI.sysutils oncheck -cDI workflow3 >oncheck.cDI.workfolow3 oncheck -cDI c_unicom >oncheck.cDI.c_unicom oncheck -cDI dbmonitor >oncheck.cDI.dbmonitor oncheck -cDI gmcookdb >oncheck.cDI.gmcookdb oncheck -cDI c_perf >onchec.cc.c_perf ------正确的命令应该为oncheck -cc c_perf >oncheck.cDI.c_perf 生成的文件存放在/usr2/backup/check_20060417_log目录下 检查耗时:20060417 22:37分~

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值