Linux下informix安装

只有先初始化数据库后,才能用dbaccess

初始化数据库之前,先运行/home/informix/下的.bash_profile




1.创建informix用户和组。

useradd informix

2 informix用户登录,并设置一些环境变量

~.bashrc里追加如下内容:

INFORMIXDIR=/home/informix

INFORMIXSERVER=pdc //主机名

INFORMIXTERM=terminfo

DBPATH=$INFORMIXDIR

TERMCAP=$INFORMIXDIR/etc/termcap

PATH=$INFORMIXDIR/bin:$HOME/bin:$PATH

ONCONFIG=onconfig.std

DB_LOCALE=zh_cn.gb

CLIENT_LOCALE=zh_cn.gb

DB_LANG=zh_cn.gb

DBDATE=MDY4/

export INFORMIXDIR PATH ONCONFIG DB_LANG DB_LOCALE CLIENT_LOCALE DBDATE INFORMIXSERVER

SQLEXEC=$INFORMIXDIR/lib/sqlexec

3source .bashrc使上面生效。

4tar xvf iif.11.50.UC3DE.Linux-RHEL4.tar

5.切换到root用户下执行ids_install这个脚本,按照提示进行安装。

6.安装完成后进入etc目录,cp onconfig.std onconfig

7.修改sqlhost文件加入:pdc     onsoctcp        192.168.0.145 sqlexec

8.修改/etc/services文件加入内容如下:sqlexec     1526/tcp #informix DBMS

9.初始化数据库:oninit ivy,提示“INFORMIXSERVER does not match DBSERVERNAME or any of the DBSERVERALIASES.FAILED”错误,这时参看你的主机名和环境变量里设置的是否一样。

报错信息“oninit: Fatal error in shared memory initialization

WARNING: server initialization failed, or possibly timed out (if -w was used).

Check the message log, online.log, for errors.”这时查看tmp/online.log日志。

解决办法:touch tmp/ touch demo_on.rootdbs; chmod 660 demo_on.rootdbs

再执行:oninit ivy

10.结束oninit进程:onmode ky,启动:oninit。

ps –e可以看到oninit进程。netstat -na|grep 1526

11.执行命令:onmonitor

Termcap entry too long

Too many tc= indirections

Program stopped at "tb4_main.4gl", line number 82.

FORMS statement error number -1170.

The type of your terminal is unknown to the system.

以上错误解决方法:export TERMINFO=/home/informix/etc/typetab

export TERMCAP=$INFORMIXDIR/etc/termcap

但是执行onmonitor后不能用键盘右键操作,这时修改.bashrc文件加入:

export TERMINFO=/home/informix/etc/typetab

12.创建数据库:

Mkdir data

cd data

touch db1

chmod 660 db1

dbaccess









Informix出错Fatal error in shared memory initialization及解决2011-04-13 12:48阅读(70)

在几个虚拟机上安装的Informix的都出现同样的错误:
Fatal error in shared memory initialization.
包括安装于VirtualBox下的Arch64, Debian64, 安装于vmware下的Solaris10 x64和Solaris 11 Express x64,其中安装的都是Informix Innovator-C Edition或者Informix developer Edition,具体没考查,多半是前者。
甚至怀疑是宿主机的问题,但由是宿主机启的的程序太式,关闭太麻烦。
怀疑是不是版本问题,查了 http://www.ibm.com/developerworks/data/library/techarticle/dm-0801doe/index.html,似乎不存这个问题,毕竟以前启动过!
网上搜索,但没解决问题。
于是又在另一个安装于Hyper-V的Arch上面安装,结果是第一次还好,第二次出现同样的问题!
可是明明以前启动过!考虑是不是未知数没设置正确,也没解决。提示加w参数,即执行
oninit -ivyw
然后在informix目录查看ol_informix.log文件,其提示:
DISK INITIALIZATION ABORTED: potential instance overwrite detected. To disable this check, set FULL_DISK_INIT to 1 in your config file and retry.
03:34:52 oninit: Fatal error in shared memory initialization
03:32:52 IBM Informix Dynamic Server Stopped.
03:34:52 mt_shm_remove: WARNING: may not have removed all/correct segments

继续尝试搜索
mt_shm_remove: WARNING: may not have removed all/correct segments
最后还是在IBM informatio center找到答案。
Cause
When the operating system tried to remove the shared-memory segments associated with the database server, the last segment did not equal the last segment registered internally. This situation is probably due to the unexpected failure of the database server.
Action
Remove any segments that were not cleaned up.

按其操作,在onconfig文件中找到FULL_DISK_INIT,将其后的0改为1,再将启动,成功!
想想,之所以出现同样的问题,最有可能是我没有正常关闭Informix就启动操作系统了。

http://www.informixchina.net/home/space.php?uid=2096&do=blog&id=1352

参考:
http://www.google.com.hk/search?hl=zh-CN&safe=strict&biw=1397&bih=497&q=mt_shm_remove%3A+WARNING%3A+may+not+have+removed+all%2Fcorrect+segments&aq=o&aqi=&aql=&oq=

http://publib.boulder.ibm.com/infocenter/idshelp/v115/index.jsp?topic=/com.ibm.adref.doc/ids_adr_0746.htm

http://www.dbforums.com/informix/1117842-mt_shm_remove-warning-may-not-have-removed-all-correct-segments.html

http://bbs.chinaunix.net/viewthread.php?tid=262329

http://www.iiug.org/forums/iiug-esp/index.cgi/noframes/read/2389

http://bbs.chinaunix.net/viewthread.php?tid=2298097&rpid=15493632&ordertype=0&page=1#pid15493632







[informix@yuyu ~]$ oninit -iv

This action will initialize IBM Informix Dynamic Server;
any existing IBM Informix Dynamic Server databases will NOT be accessible -
Do you wish to continue (y/n)? y
Checking group membership to determine server run mode...succeeded
Reading configuration file '/home/informix/app/etc/onconfig'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Checking config parameters...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 10582 kbytes...succeeded
Allocating 100016 kbytes for buffer pool of 2K page size...succeeded
Creating infos file "/home/informix/app/etc/.infos.demo_on"...succeeded
Linking conf file "/home/informix/app/etc/.conf.demo_on"...succeeded
Initializing rhead structure...succeeded
Writing to infos file...succeeded
Initialization of Encryption...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
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'ipcshm' listener threads...succeeded
Starting tracing...succeeded
Initializing 8 flushers...succeeded
oninit: Fatal error in shared memory initialization

WARNING: server initialization failed, or possibly timed out (if -w was used).
Check the message log, online.log, for errors.


查看online.log日志
Sun Apr 24 06:24:02 2011

06:24:02  Event alarms enabled.  ALARMPROG = '/home/informix/app/etc/alarmprogram.sh'
06:24:02  Booting Language <c> from module <>
06:24:02  Loading Module <CNULL>
06:24:02  Booting Language <builtin> from module <>
06:24:02  Loading Module <BUILTINNULL>
06:24:08  DR: DRAUTO is 0 (Off)
06:24:08  DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
06:24:08  IBM Informix Dynamic Server Version 11.70.UC1DE Software Serial Number AAA#B000000
06:24:08  DISK INITIALIZATION ABORTED: potential instance overwrite detected.
To disable this check, set FULL_DISK_INIT to 1 in your config file and retry.

06:24:08  oninit: Fatal error in shared memory initialization

06:24:08  IBM Informix Dynamic Server Stopped.

06:24:08  mt_shm_remove: WARNING: may not have removed all/correct segments


配置文件内容onconfig
  1. ROOTNAME rootdbs
  2. ROOTPATH /home/informix/app/ol_informix1170/dbspaces/online_root
  3. ROOTOFFSET 0
  4. ROOTSIZE 200000
  5. MIRROR 0
  6. MIRRORPATH $INFORMIXDIR/tmp/demo_on.root_mirror
  7. MIRROROFFSET 0

  8. PHYSFILE 50000
  9. PLOG_OVERFLOW_PATH  $INFORMIXDIR/tmp
  10. PHYSBUFF 128

  11. LOGFILES 6
  12. LOGSIZE 10000
  13. DYNAMIC_LOGS 2
  14. LOGBUFF 64

  15. LTXHWM 70
  16. LTXEHWM 80

  17. MSGPATH /home/informix/app/online.log
  18. CONSOLE $INFORMIXDIR/tmp/online.con

  19. TBLTBLFIRST 0
  20. TBLTBLNEXT 0
  21. TBLSPACE_STATS 1

  22. DBSPACETEMP 
  23. SBSPACETEMP

  24. SBSPACENAME
  25. SYSSBSPACENAME
  26. ONDBSPACEDOWN 2

  27. SERVERNUM 0
  28. DBSERVERNAME demo_on
  29. DBSERVERALIASES
  30. FULL_DISK_INIT 0

  31. NETTYPE ipcshm,1,50,CPU
  32. LISTEN_TIMEOUT 60
  33. MAX_INCOMPLETE_CONNECTIONS 1024
  34. FASTPOLL 1
  35. NS_CACHE host=900,service=900,user=900,group=900

  36. MULTIPROCESSOR 0
  37. VPCLASS cpu,num=1,noage
  38. VP_MEMORY_CACHE_KB 0
  39. SINGLE_CPU_VP 0

  40. #VPCLASS aio,num=1
  41. CLEANERS 8
  42. AUTO_AIOVPS 1
  43. DIRECT_IO 0

  44. LOCKS 20000
  45. DEF_TABLE_LOCKMODE page 
  46. RESIDENT 0
  47. SHMBASE 0x44000000L 
  48. SHMVIRTSIZE 32656
  49. SHMADD 8192
  50. EXTSHMADD 8192
  51. SHMTOTAL 0
  52. SHMVIRT_ALLOCSEG 0,3
  53. SHMNOACCESS

  54. CKPTINTVL 300
  55. AUTO_CKPTS 1
  56. RTO_SERVER_RESTART 0
  57. BLOCKTIMEOUT 3600

  58. CONVERSION_GUARD 2
  59. RESTORE_POINT_DIR $INFORMIXDIR/tmp

  60. TXTIMEOUT 300
  61. DEADLOCK_TIMEOUT 60
  62. HETERO_COMMIT 0

  63. TAPEDEV /dev/tapedev
  64. TAPEBLK 32
  65. TAPESIZE 0

  66. LTAPEDEV /dev/null
  67. LTAPEBLK 32
  68. LTAPESIZE 0

  69. BAR_ACT_LOG $INFORMIXDIR/tmp/bar_act.log
  70. BAR_DEBUG_LOG $INFORMIXDIR/tmp/bar_dbug.log
  71. BAR_DEBUG 0
  72. BAR_MAX_BACKUP 0
  73. BAR_RETRY 1
  74. BAR_NB_XPORT_COUNT 20
  75. BAR_XFER_BUF_SIZE 31
  76. RESTARTABLE_RESTORE ON
  77. BAR_PROGRESS_FREQ 0
  78. BAR_BSALIB_PATH
  79. BACKUP_FILTER
  80. RESTORE_FILTER
  81. BAR_PERFORMANCE 0
  82. BAR_CKPTSEC_TIMEOUT 15

  83. ISM_DATA_POOL ISMData
  84. ISM_LOG_POOL ISMLogs

  85. DD_HASHSIZE 31
  86. DD_HASHMAX  10

  87. DS_HASHSIZE 31
  88. DS_POOLSIZE 127

  89. PC_HASHSIZE 31
  90. PC_POOLSIZE 127
  91. PRELOAD_DLL_FILE

  92. STMT_CACHE 0
  93. STMT_CACHE_HITS 0
  94. STMT_CACHE_SIZE 512
  95. STMT_CACHE_NOLIMIT 0
  96. STMT_CACHE_NUMPOOL 1

  97. USEOSTIME 0
  98. STACKSIZE 32
  99. ALLOW_NEWLINE 0
  100. USELASTCOMMITTED NONE

  101. FILLFACTOR 90
  102. MAX_FILL_DATA_PAGES 0
  103. BTSCANNER num=1,threshold=5000,rangesize=-1,alice=6,compression=default
  104. ONLIDX_MAXMEM 5120
  105. MAX_PDQPRIORITY 100

  106. DS_MAX_QUERIES
  107. DS_TOTAL_MEMORY
  108. DS_MAX_SCANS 1048576
  109. DS_NONPDQ_QUERY_MEM 128
  110. DATASKIP

  111. OPTCOMPIND 2
  112. DIRECTIVES 1
  113. EXT_DIRECTIVES 0
  114. OPT_GOAL -1
  115. IFX_FOLDVIEW 0
  116. AUTO_REPREPARE 1
  117. AUTO_STAT_MODE 1
  118. STATCHANGE 10

  119. RA_PAGES     64
  120. RA_THRESHOLD 16
  121. BATCHEDREAD_TABLE   1
  122. BATCHEDREAD_INDEX   1
  123. BATCHEDREAD_KEYONLY 0

  124. EXPLAIN_STAT 1
  125. #SQLTRACE level=low,ntraces=1000,size=2,mode=global

  126. #DBCREATE_PERMISSION informix
  127. #DB_LIBRARY_PATH 
  128. IFX_EXTEND_ROLE 1
  129. SECURITY_LOCALCONNECTION
  130. UNSECURE_ONSTAT
  131. ADMIN_USER_MODE_WITH_DBSA
  132. ADMIN_MODE_USERS
  133. SSL_KEYSTORE_LABEL

  134. PLCY_POOLSIZE 127
  135. PLCY_HASHSIZE 31
  136. USRC_POOLSIZE 127
  137. USRC_HASHSIZE 31

  138. STAGEBLOB
  139. OPCACHEMAX 0

  140. ENCRYPT_HDR
  141. ENCRYPT_SMX
  142. ENCRYPT_CDR 0
  143. ENCRYPT_CIPHERS
  144. ENCRYPT_MAC
  145. ENCRYPT_MACFILE
  146. ENCRYPT_SWITCH

  147. CDR_EVALTHREADS 1,2
  148. CDR_DSLOCKWAIT 5
  149. CDR_QUEUEMEM 4096
  150. CDR_NIFCOMPRESS 0
  151. CDR_SERIAL 0
  152. CDR_DBSPACE
  153. CDR_QHDR_DBSPACE
  154. CDR_QDATA_SBSPACE
  155. CDR_SUPPRESS_ATSRISWARN
  156. CDR_DELAY_PURGE_DTC     0
  157. CDR_LOG_LAG_ACTION ddrblock
  158. CDR_LOG_STAGING_MAXSIZE 0
  159. CDR_MAX_DYNAMIC_LOGS 0

  160. DRAUTO                  0
  161. DRINTERVAL              30
  162. DRTIMEOUT               30
  163. HA_ALIAS
  164. DRLOSTFOUND             $INFORMIXDIR/etc/dr.lostfound
  165. DRIDXAUTO               0
  166. LOG_INDEX_BUILDS
  167. SDS_ENABLE
  168. SDS_TIMEOUT             20
  169. SDS_TEMPDBS
  170. SDS_PAGING
  171. UPDATABLE_SECONDARY     0
  172. FAILOVER_CALLBACK
  173. FAILOVER_TX_TIMEOUT     0
  174. TEMPTAB_NOLOG           0
  175. DELAY_APPLY             0
  176. STOP_APPLY              0
  177. LOG_STAGING_DIR         
  178. ENABLE_SNAPSHOT_COPY    0
  179. SMX_COMPRESS            0

  180. ON_RECVRY_THREADS  1
  181. OFF_RECVRY_THREADS 10

  182. DUMPDIR $INFORMIXDIR/tmp
  183. DUMPSHMEM 1
  184. DUMPGCORE 0
  185. DUMPCORE 0
  186. DUMPCNT 1

  187. ALARMPROGRAM $INFORMIXDIR/etc/alarmprogram.sh
  188. ALRM_ALL_EVENTS 0
  189. STORAGE_FULL_ALARM 600,3
  190. SYSALARMPROGRAM $INFORMIXDIR/etc/evidence.sh

  191. EILSEQ_COMPAT_MODE  0

  192. QSTATS 0
  193. WSTATS 0

  194. USERMAPPING OFF

  195. SP_AUTOEXPAND 1
  196. SP_THRESHOLD 0
  197. SP_WAITTIME 30

  198. DEFAULTESCCHAR \

  199. #VPCLASS         MQ,noyield
  200. MQSERVER
  201. MQCHLLIB
  202. MQCHLTAB

  203. #VPCLASS        jvp,num=1    
  204. #JVPJAVAHOME     $INFORMIXDIR/extend/krakatoa/jre
  205. #JVPHOME         $INFORMIXDIR/extend/krakatoa 
  206. JVPPROPFILE     $INFORMIXDIR/extend/krakatoa/.jvpprops 
  207. JVPLOGFILE      $INFORMIXDIR/tmp/jvp.log  
  208. #JDKVERSION      1.5
  209. #JVPJAVALIB      /bin
  210. #JVPJAVAVM       jvm
  211. #JVPARGS        -verbose:jni
  212. #JVPCLASSPATH  $INFORMIXDIR/extend/krakatoa/krakatoa_g.jar:$INFORMIXDIR/extend/krakatoa/jdbc_g.jar
  213. JVPCLASSPATH  $INFORMIXDIR/extend/krakatoa/krakatoa.jar:$INFORMIXDIR/extend/krakatoa/jdbc.jar

  214. BUFFERPOOL      default,buffers=10000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.500000
  215. BUFFERPOOL      size=2K,buffers=50000,lrus=8,lru_min_dirty=50.000000,lru_max_dirty=60.000000
  216. AUTO_LRU_TUNING 1
ISK INITIALIZATION ABORTED: potential instance overwrite detected.
To disable this check, set FULL_DISK_INIT to 1 in your config file and retry.


在11.70中加入了FULL_DISK_INIT 这个参数,对当前已经初始化的dbspace进行保护,若是需要初始化dbspace,需要更改这个参数为 1 .
  多谢指点,将FULL_DISK_INIT参数修改为1,然后初始化oninit -iv就会成功。

   但还有个问题,我关闭onmode -ky后,从新初始化时FULL_DISK_INIT又会自动变为0;

  再次请教如何将FULL_DISK_INIT参数写死,不用每次启动的时候都去修改???

只要初始化成功了,该参数就自动变为0. 
    BTW: 以后启动就不需要使用-i 这个命令了,直接使用oninit -v 就行了。 -i 只需要在第一次初始化的时候使用。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值