日志显示继续转换参数等信息,从这里可以看出informix9.4和informix10.0之间的参数都有那些改变等等:
中间还有很多有用的信息,有兴趣的可以自己查看日志。Onconfig parameter JVPJAVAVM modified from hpi:server:verify:java:net:zip:jpeg to jsig:hpi:jvm:java:net:zip:jpeg. Onconfig parameter JVPJAVALIB modified from /lib/i386/ to /bin. Onconfig parameter JVPCLASSPATH modified from /home/informix/extend/krakatoa/krakatoa.jar:/home/informix/extend/krakatoa/jdbc.jar to /home/informix/extend/krakatoa/krakatoa.jar:/usr/informix/extend/krakatoa/jdbc.jar. Onconfig parameter LOGSIZE modified from 4000 to 2000. Onconfig parameter TAPEDEV modified from /dev/st0 to /dev/null. Onconfig parameter TAPESIZE modified from 73728000 to 10240. Onconfig parameter LTAPEDEV modified from /dev/st0 to /dev/null. Onconfig parameter LTAPESIZE modified from 73728000 to 10240. Onconfig parameter DUMPDIR modified from /tmp to /home/informix/tmp. Onconfig parameter SHMVIRTSIZE modified from 64000 to 32000. Onconfig parameter SHMADD modified from 8192 to 16000. Onconfig parameter ALARMPROGRAM modified from /home/informix/etc/log_full.sh to /home/informix/etc/alarmprogram.sh.
日志的接近最后出后出现:
Conversion Completed Successfully
这说明转换完成。
一直到最后显示:
Maximum server connections 0
On-Line Mode
说明升级完成,此时数据库已经是10.0了,不过还有一下后续的工作需要继续。
升级中遇到的问题。
第一个错误是kaio错误,升级时候的日志信息提示:
23:35:33 IBM Informix Dynamic Server Version 10.00.UC4 23:35:33 Assert Failed: initializing KAIO failed 23:35:33 IBM Informix Dynamic Server Version 10.00.UC4 23:35:33 Who: Session(1, informix@Test, 0, (nil)) Thread(11, kaio, 0, 1) File: kaioapi.c Line: 246 23:35:33 Results: io_queue_init(32768) failed returning -22, errno = 0 23:35:33 stack trace for pid 5195 written to /home/informix/tmp/af.3f364c5 23:35:33 See Also: /home/informix/tmp/af.3f364c5, shmem.3f364c5.0 23:35:35 initializing KAIO failed 23:35:36 io_queue_init(32768) failed returning -22, errno = 0 23:35:36 Assert Failed: kaiothread() ERROR 23:35:36 IBM Informix Dynamic Server Version 10.00.UC4 23:35:36 Who: Session(1, informix@test, 0, (nil)) Thread(11, kaio, 0, 1) File: kaio.c Line: 2063 23:35:36 stack trace for pid 5195 written to /home/informix/tmp/af.3f364c5 23:35:36 See Also: /home/informix/tmp/af.3f364c5 23:35:38 kaio.c, line 2063, thread 11, proc id 5195, kaiothread() ERROR. 23:35:38 PANIC: Attempting to bring system down 23:35:38 semctl: errno = 22 23:35:38 semctl: errno = 22
通过查看以日志,已经上网检查,发现是redhat as4u1 默认安装的时候没有kaioapi.c文件,简单的解决方法是在informix用户的环境变量中增加:export KAIOOFF=1。
转换出错,提示存放数据文件的raw文件权限不对,这个是10.0版本的安全性比较高造成的,在9.4版本中,只要是Informix用户和组的权限是读写的就可以了,不强求其它用户的权限。但是在10.0中,数据空间的权限必须是660,把文件修改为660就可以了。
Redhat as3u6的系统,转换完成后执行onmonitor,ontape等命令会出现“段错误”。
[informix@test etc]$ onmonitor
段错误
暂时发现应该是系统版本兼容性的原因,对内存的支持性不好,修改informix参数只能解决部分问题,这个问题暂时没有得到解决。
接着上面的转换继续:
12,更新统计信息。用dbaccess命令每个库运行update statistics语句。执行这个语句的时候大库的时候运行的时间很长,请耐心等待。
13,执行oncheck -me压缩扩展数据块减少分区头中使用的存储量。
14,检查数据库是否正常,然后停数据库,把上面提到的TAPEDEV,LTAPEDEV选项重新该过来,把sqlhosts文件中的服务器名(servicename)修改为系统正式的信息。
15,启动数据库,做一次全备。数据库升级完成。