###
### https://baijiahao.baidu.com/s?id=1658662120415101350&wfr=spider&for=pc
### https://copyfuture.com/blogs-details/20210102122709849l
### https://www.bbsmax.com/A/KE5Qran0dL/
### https://blog.csdn.net/hjn0618/article/details/101798918
###
###
# https://www.ibm.com/support/pages/docker-informix%E5%AE%9E%E8%B7%B5
docker run -dit --name informix --privileged -p 19088:9088 -p 19089:9089 -h informix \
-p 27017:27017 -p 27018:27018 -p 27883:27883 -e LICENSE=accept \
-v /data/ibm/informix:/opt/ibm/data \
ibmcom/informix-developer-database
##################################################################################
################ 安装informix ################
##################################################################################
docker run -dit --privileged --name informix -h informix centos:8.4.2105 init
wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
docker cp ibm.ids.14.10.FC2.LNX.tar informix:/
docker cp Centos-vault-8.5.2111.repo informix:/
docker exec -it informix bash
cd /etc/yum.repos.d
mkdir bak
mv *.repo bak
mv /Centos-vault-8.5.2111.repo /etc/yum.repos.d
yum clean all
yum install -y telnet libaio net-tools
yum whatprovides libm.so.6
yum whatprovides libncurses.so.5
yum whatprovides libc.so.6
yum install -y glibc-2.28-164.el8.i686
yum install -y ncurses-compat-libs-6.1-9.20180224.el8.i686
yum install -y glibc-2.28-164.el8.i686
groupadd -g 1000 informix
useradd -u 1000 -g 1000 -m -s /bin/bash informix
echo "informix:123456" | chpasswd
mkdir -p /opt/ibm/informix
chown -R informix:informix /opt/ibm
cat >> /home/informix/.bash_profile <<EOF
LD_LIBRARY_PATH=/usr/lib64
INFORMIXDIR=/opt/ibm/informix
PATH=\$PATH:\$INFORMIXDIR/bin
INFORMIXSERVER=mysrv01
export INFORMIXDIR PATH LD_LIBRARY_PATH INFORMIXSERVER
EOF
mkdir /informix
mv /ibm.ids.14.10.FC2.LNX.tar /informix/
cd /informix
tar -xf ibm.ids.14.10.FC2.LNX.tar
cd /usr/lib64/
ln -s libncurses.so.6.1 libncurses.so.5
cd /informix
export LD_LIBRARY_PATH=/usr/lib64
./ids_install
##################################################################
===============================================================================
Prerequisite Verification Check
-------------------------------
One or more prerequisite system libraries are not installed on your computer.
Install libm.so.6, libc.so.6, libncurses.so.5 and then restart the IBM
Informix installation program.
The installation cannot succeed until the minimum requirements are met. For
more information about the prerequisites, see your Installation Guide or check
with your System Administrator.
PRESS <ENTER> TO ACCEPT THE FOLLOWING (OK):
##################################################################
解决问题:
https://www.ibm.com/support/pages/apar/IT32637
Create softlink from libncurses.so.5 to libncurses.so.6.1 (the
supplied lib on RHEL 8).
Also, create softlink for libtinfo (/usr/lib64/libtinfo.so.5 ->
libtinfo.so.6.1) for dbaccess to work.
[root@informix informix]# find / -name 'libncurses.so*'
/usr/lib/libncurses.so.5
/usr/lib/libncurses.so.5.9
/usr/lib64/libncurses.so.6.1
/usr/lib64/libncurses.so.6
[root@informix informix]#
cd /usr/lib64/
ln -s libncurses.so.6.1 libncurses.so.5
-----------------------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------------------
### 重新执行
### https://www.talkwithtrend.com/Question/280865
export LD_LIBRARY_PATH=/usr/lib64
./ids_install
### 安装路径 /opt/ibm/informix
### 安装过程
### ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@informix informix]# ./ids_install
Preparing to install
Extracting the JRE from the installer archive...
Unpacking the JRE...
Extracting the installation resources from the installer archive...
Configuring the installer for this system's environment...
Launching installer...
===============================================================================
(created with InstallAnywhere)
-------------------------------------------------------------------------------
Preparing CONSOLE Mode Installation...
===============================================================================
Getting Started
---------------
This application will guide you through the installation of IBM Informix
Software Bundle Developer edition.
Copyright HCL Technologies Ltd. 2017, 2019. All rights reserved.
Copyright IBM Corporation 2001, 2017. All rights reserved.
1. Release Notes
The Release Notes can be found in
/informix/doc/ids_unix_relnotes_14.10.html
2. Launch Online Documentation:
Access the IBM Informix 14.10 Knowledge Center at
https://www.ibm.com/support/knowledgecenter/SSGU8G/welcomeIfxServers.html
To Begin Installation,
Respond to each prompt to proceed to the next step in the installation.
If you want to change something on a previous step, type 'back'.
You may cancel this installation at any time by typing 'quit'.
PRESS <ENTER> TO CONTINUE:
===============================================================================
International License Agreement for Non-Warranted Programs
Part 1 - General Terms
BY DOWNLOADING, INSTALLING, COPYING, ACCESSING, CLICKING ON AN
"ACCEPT" BUTTON, OR OTHERWISE USING THE PROGRAM, LICENSEE AGREES TO
THE TERMS OF THIS AGREEMENT. IF YOU ARE ACCEPTING THESE TERMS ON
BEHALF OF LICENSEE, YOU REPRESENT AND WARRANT THAT YOU HAVE FULL
AUTHORITY TO BIND LICENSEE TO THESE TERMS. IF YOU DO NOT AGREE TO
THESE TERMS,
* DO NOT DOWNLOAD, INSTALL, COPY, ACCESS, CLICK ON AN "ACCEPT" BUTTON,
OR USE THE PROGRAM; AND
* PROMPTLY RETURN THE UNUSED MEDIA AND DOCUMENTATION TO THE PARTY FROM
WHOM IT WAS OBTAINED FOR A REFUND OF THE AMOUNT PAID. IF THE PROGRAM
WAS DOWNLOADED, DESTROY ALL COPIES OF THE PROGRAM.
1. Definitions
Press Enter to continue viewing the license agreement, or enter "1" to
accept the agreement, "2" to decline it, "3" to print it, or "99" to go back
to the previous screen.: 1
===============================================================================
Installation Location
---------------------
Choose location for software installation
Default Install Folder: /opt/IBM/Informix_Software_Bundle
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
: /opt/ibm/informix
INSTALL FOLDER IS: /opt/ibm/informix
IS THIS CORRECT? (Y/N): Y
===============================================================================
Installation or Distribution
----------------------------
Select the installation type.
Typical: Install the database server with all features and a database server
that
is configured with default values. Includes:
** Client Software Development Kit (CSDK)
Custom: Install the database server with specific features and software that
you need.
Optionally install a configured database server instance.
Minimum disk space required: 75 MB (without a server instance)
->1- Typical installation
2- Custom installation
3- Extract the product files (-DLEGACY option)
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1
===============================================================================
Please Wait
-----------
===============================================================================
Please Wait
-----------
===============================================================================
Server Instance
---------------
Type 'back' to go to the previous step or 'quit' to cancel the installation.
Create a database server instance?
->1- Yes - create a server instance
2- No - do not create a server instance
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2
===============================================================================
Installation Summary
--------------------
Please review the following before continuing:
Product Name:
IBM Informix Software Bundle
Install Folder:
/opt/ibm/informix
Product Features:
IBM Informix database server,
Base Server,
Extensions and tools,
J/Foundation,
Database extensions,
Conversion and reversion support,
XML publishing,
Demonstration database scripts,
Enterprise Replication,
Data loading utilities,
onunload and onload utilities,
dbload utility,
High-Performance Loader,
Backup and Restore,
archecker utility,
ON-Bar utility,
Interface to Tivoli Storage Manager,
Administrative utilities,
Performance monitoring utilities,
Miscellaneous monitoring utilities,
Auditing utilities,
Database import and export utilities,
JSON Client Support,
Global Language Support (GLS),
West European and Americas,
East European and Slavic,
Japanese,
Korean,
Chinese,
Thai
Disk Space Information (for Installation Target):
Required: 708,474,063 Bytes
Available: 22,380,560,384 Bytes
PRESS <ENTER> TO CONTINUE:
===============================================================================
Ready To Install
----------------
InstallAnywhere is now ready to install IBM Informix Software Bundle onto your
system at the following location:
/opt/ibm/informix
PRESS <ENTER> TO INSTALL:
===============================================================================
Installing...
-------------
[==================|==================|==================|==================]
[------------------|------------------|------------------|------------------]
===============================================================================
Please Wait
-----------
===============================================================================
Please Wait
-----------
===============================================================================
Please Wait
-----------
Creating links, branding....
===============================================================================
Please Wait
-----------
Changing owners....
===============================================================================
Please Wait
-----------
Changing directory ownership
===============================================================================
Please Wait
-----------
Installing IBM GSKit.....
===============================================================================
Please Wait
-----------
Executing Installation Script...
===============================================================================
Please Wait
-----------
===============================================================================
Please Wait
-----------
===============================================================================
Please Wait
-----------
Creating links, branding....
===============================================================================
Installation Complete
---------------------
Congratulations! IBM Informix Software Bundle installation is complete.
Product install status:
Informix Dynamic Server: Successful
For more information about using Informix products, see the IBM Informix 14.10
Knowledge Center at
https://www.ibm.com/support/knowledgecenter/SSGU8G/welcomeIfxServers.html.
PRESS <ENTER> TO EXIT THE INSTALLER:
### ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
[root@informix informix]# ls -ltr
total 376
drwxrwxr-x 2 root root 4096 Jul 30 08:19 license
drwxr-xr-x 7 informix informix 4096 Jul 30 08:20 gls
-rwxr-xr-x 1 root root 89833 Jul 30 08:20 Global_Language_Support_Install_07_30_2022_08_20_11.log
drwxr-xr-x 2 informix informix 4096 Jul 30 08:20 hq
drwxr-xr-x 4 informix informix 4096 Jul 30 08:20 SDK
drwxrwxr-x 2 informix informix 4096 Jul 30 08:20 aaodir
drwxrwxr-x 2 informix informix 4096 Jul 30 08:20 dbssodir
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 doc
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 release
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 msg
drwxr-xr-x 20 informix informix 4096 Jul 30 08:20 extend
drwxr-xr-x 6 informix informix 4096 Jul 30 08:20 incl
drwxr-xr-x 9 informix informix 4096 Jul 30 08:20 demo
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 lib
drwxr-xr-x 4 informix informix 4096 Jul 30 08:20 help
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 snmp
drwxrwxr-x 4 informix informix 4096 Jul 30 08:20 etc
-rwxr-xr-x 1 root root 181051 Jul 30 08:20 IBM_Informix_14.10_Install_07_30_2022_08_20_24.log
drwxrwxr-x 4 informix informix 4096 Jul 30 08:20 uninstall
drwxrwxr-x 3 root root 4096 Jul 30 08:20 jvm
drwxr-xr-x 5 informix informix 4096 Jul 30 08:20 bin
drwxrwx--- 2 informix informix 4096 Jul 30 08:20 ssl
drwxr-xr-x 3 informix informix 4096 Jul 30 08:20 isa
drwxrwx--- 2 informix informix 4096 Jul 30 08:20 tmp
drwxr-xr-x 2 informix informix 4096 Jul 30 08:20 gskit
-rwxr-xr-x 1 root root 13958 Jul 30 08:21 IBM_Informix_Software_Bundle_Install_07_30_2022_08_19_57.log
[root@informix informix]#
[informix@informix ~]$ dbaccess
dbaccess: error while loading shared libraries: libtinfo.so.5: cannot open shared object file: No such file or directory
#### https://github.com/commercialhaskell/stack/issues/1012
ln -s /usr/lib64/libtinfo.so.6 /usr/lib64/libtinfo.so.5
[informix@informix etc]$ dbaccess
DBACCESS: Query-language Connection Database Table Session Exit
Use SQL query language.
------------------------------------------------ Press CTRL-W for Help --------
[informix@informix ~]$ onmode -ky
shared memory not initialized for INFORMIXSERVER '<NULL>'
cd /opt/ibm/informix/etc
cp onconfig.std onconfig
cp sqlhosts.demo sqlhosts
echo "export INFORMIXSQLHOSTS=/opt/ibm/informix/etc/sqlhosts" >> ~/.bash_profile
echo "export INFORMIXSERVER=mysrv01" >> ~/.bash_profile
sed -i 's#ROOTPATH $INFORMIXDIR/tmp/demo_on.rootdbs#ROOTPATH $INFORMIXDIR/data/rootdbs#' $INFORMIXDIR/etc/onconfig
sed -i 's/^DBSERVERNAME.*/DBSERVERNAME mysrv01/' $INFORMIXDIR/etc/onconfig
mkdir $INFORMIXDIR/data
cd $INFORMIXDIR/data
#touch rootdbs phydbs logdbs userdbs tmpdbs
touch rootdbs
chmod 660 *dbs
# Unix 环境默认配置文件: $INFORMIXDIR/etc/sqlhosts,如需要设置其他,可以配置环境变量 INFORMIXSQLHOSTS
#
# https://www.ibm.com/docs/en/informix-servers/12.10?topic=files-sqlhosts-file-sqlhosts-registry-key
# https://www.ibm.com/docs/en/informix-servers/14.10?topic=communication-sqlhosts-information
# https://www.ibm.com/docs/en/informix-servers/14.10?topic=information-alternatives-tcpip-connections
##
cat >> $INFORMIXDIR/etc/sqlhosts <<EOF
mysrv01 onsoctcp localhost sqlexec
EOF
## 初始化实例
[informix@sh2 informix]$ oninit -iv
Reading configuration file '/opt/ibm/informix/etc/onconfig'...succeeded
Creating /INFORMIXTMP/.infxdirs...succeeded
Allocating and attaching to shared memory...succeeded
Creating resident pool 4310 kbytes...succeeded
Creating infos file "/opt/ibm/informix/etc/.infos.mysrv01"...succeeded
Linking conf file "/opt/ibm/informix/etc/.conf.mysrv01"...succeeded
Initializing rhead structure...rhlock_t 16384 (512K)... rlock_t (2656K)... Writing to infos file...succeeded
Initialization of Encryption...succeeded
Initializing ASF...succeeded
Initializing Dictionary Cache and SPL Routine Cache...succeeded
Initializing encryption-at-rest if necessary...succeeded
Bringing up ADM VP...succeeded
Creating VP classes...succeeded
Forking main_loop thread...succeeded
Initializing DR structures...succeeded
Forking 1 'soctcp' listener threads...succeeded
Starting tracing...succeeded
Initializing 8 flushers...succeeded
Initializing log/checkpoint information...succeeded
Initializing dbspaces...succeeded
Opening primary chunks...succeeded
Validating chunks...succeeded
Creating database partition...succeeded
Initialize Async Log Flusher...succeeded
Starting B-tree Scanner...succeeded
Init ReadAhead Daemon...succeeded
Init DB Util Daemon...succeeded
Initializing DBSPACETEMP list...succeeded
Init Auto Tuning Daemon...succeeded
Checking database partition index...succeeded
Initializing dataskip structure...succeeded
Checking for temporary tables to drop...succeeded
Updating Global Row Counter...succeeded
Forking onmode_mon thread...succeeded
Creating periodic thread...succeeded
Creating VP cache drain thread...succeeded
Creating limits manager thread...succeeded
Starting scheduling system...succeeded
Verbose output complete: mode = 5
[informix@informix data]$
### 重新初始化实例
## 先停止进程
onmode -k
ps -ef | grep oninit
# 如果不清理的话,会报错
## 17:00:03 oninit: Fatal error in shared memory initialization
## 因为如果rootdbs文件不是空的话,那就不能重新初始化,除非把onconfig对应的参数
## FULL_DISK_INIT 1
## 清空文件
> $INFORMIXDIR/data/rootdbs
oninit -iv
### 查看数据库状态
[informix@informix etc]$ onstat -d
IBM Informix Dynamic Server Version 14.10.FC2DE -- On-Line -- Up 00:01:46 -- 172660 Kbytes
Dbspaces
address number flags fchunk nchunks pgsize flags owner name
45400028 1 0x1 1 1 2048 N BA informix rootdbs
1 active, 2047 maximum
Chunks
address chunk/dbs offset size free bpages flags pathname
45400268 1 1 0 150000 84865 PO-B-- /opt/ibm/informix/data/rootdbs
1 active, 32766 maximum
NOTE: The values in the "size" and "free" columns for DBspace chunks are
displayed in terms of "pgsize" of the DBspace to which they belong.
Expanded chunk capacity mode: always
########################################################################################
########################################################################################
创建数据库
dbaccess - -
create database monica;
查看所有数据库
dbaccess sysmaster -
select * from sysdatabases;