# The following parameters are related to the buffer pool
#BUFFERPOOL default,buffers=1000,lrus=8,lru_min_dirty=50,lru_max_dirty=60 BUFFERPOOL size=2k,buffers=5000,lrus=8,lru_min_dirty=50,lru_max_dirty=60
注意以上红色部分,修改正确的informix安装路径,并在$INFORMIXDIR目录下新建data、log两个目录()
新建etc/sqlhosts文件,根据sqlhosts.std模板进行修改,内容如下:
tramsserver onsoctcp localhost sqlexec
info28 onsoctcp R720-182 7099 ---182配置参考
其中sqlexec需要在/etc/services中定义
# Local services sqlexec 9088/tcp
四、 INFORMIX数据库初始化
Informix用户登录,执行onmonitor $onmonitor
Dynamic Server: Status Parameters Dbspaces Mode Force-Ckpt ... Status menu to view Dynamic Server.
-----------------------------Off-Line------- Press CTRL-W for Help. --------
c) 选择Parameters,再选择Initialize执行初始化,默认读取的就是上一节中的
onconfig.cmsserver中的配置,可以一直按ESC继续
其中在Non PDQ Query Memory处修改为空
d) 确认安装,输入y
Do you really want to continue? (y/n)
WARNING: The ROOT DBspace will be initialized. All previous data will be destroyed.
e) 等到处理完毕,直接回车
Initializing, please wait ... Press Return to continue.
f) 安装完成,执行oninit测试是否成功启动,执行onmode –ky是否成功关闭 可以在$INFORMIXDIR/log/online.log中看到启动关闭日志
19:11:40 'sysmaster' database built successfully. 19:11:40 'sysutils' database built successfully. 19:11:40 'sysuser' database built successfully. ……
19:12:01 Maximum server connections 1
19:12:02 IBM Informix Dynamic Server Stopped.
h) 安装完成
五、新配置一套INFORMIX数据库
1、增加环境变量,并切换到新的环境变量 export INFORMIXSERVER=inf_gskf export ONCONFIG=onconfig.inf_gskf #export INFORMIXSERVER=info218 #export ONCONFIG=onconfig.info218 2、增加配置文件onconfig.inf_gskf 修改对应的roodbs和tmpdbs 修改对应存放的目录
修改参数 SERVERNUM (默认是0,后面往上增加) 3、增加配置文件sqlhosts配置 info218 onsoctcp M6400-218 7099 inf_gskf onsoctcp M6400-218 7088
4、执行onmonitor初始化参数
5、创建rootdbs、tmpdbs等表空间,重启数据库并检查
六、注意事项
1、安装之后,执行oninit报错
错误出现原因:
执行oninit命令前 数据库不是关闭状态 解决办法:
onstat - 查询数据库状态 onmode -ky 关闭数据库之后 oninit 再重启数据库就没有该问题
2、在创建一个新的实例的时候,用dbaccess在建应用数据库的时候一直报错,一直以为是数据库实例配置的问题,后来用了另外一个实例,结果还是报同样的错误,查询了一个早上,结果还是没有早到问题。 错误信息:
晚上在家里加班,google了一把,分析了一个问题。还真有人碰到一样的错误。 错误信息解释:
-225 Cannot create file for system catalog table-name.
The database server is trying to create one of the tables for the system catalog, probably as part of a CREATE DATABASE statement. A problem with the host operating system prevents it. Check the accompanying ISAM error code for more information, and look for operating-system error messages. A shortage of disk space or operating-system file-access permission problems probably caused this error.
196 ISAM error: Operation not allowed in temporary dbspace.
An operation was executed on a temporary dbspace that required functionality that temporary dbspaces do not provide (most likely logging). Use a nontemporary dbspace for this operation.
问题执行临时表空间,但是我的临时表空间是没有问题的。
后来发现创建的数据库表空间多加了一个参数 -t,创建的是临时表空间。都是自己对命令不熟悉,拷贝引起的。
onspaces -c -d porddbs -t -p /home/informix/infdata/porddbs -o 0 -s 5000000 改成:
onspaces -c -d porddbs -p /home/informix/infdata/porddbs -o 0 -s 5000000 重新创建成功。
3、程序事务报错,提示无效事务。 客户端配置sqlhosts文件,如下:
配置之后程序还报错 Transaction not available.
You cannot begin a transaction in this database because it does not have a transaction log. In order to support transactions, you must
start a transaction log. With the INFORMIX-OnLine Dynamic Server, the OnLine administrator uses the Databases screen of the Logical Logs menu of DB-Monitor or ON-Monitor to start a transaction log. With other database servers, use the START DATABASE statement.
在informix服务端执行命令:ontape -s -U db_name
结果还是报错,原因是数据库有连接存在,重启informix数据库 onmode -ky oninit
再次执行ontape -s -U db_name命令
再次执行客户端程序,问题解决。