Informix 데이터베이스 docker 환경 구성
Informix DB 서버가 필요한데요, docker가 있으니 ^^ 아주 가뿐하게 해결할 수 있습니다.
ibmcom/informix-developer-database
; https://hub.docker.com/r/ibmcom/informix-developer-database/
실행은 이렇게 해주시면 됩니다.
c:\temp> docker run -it --name ifx -h ifx -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 -e LICENSE=accept ibmcom/informix-developer-database:latest
그런데, 이후의 과정이 문제인데요, 저 DB 환경에 대한 정보가 "
ibmcom/informix-developer-database" 페이지에는 아무것도 없습니다. DB를 접속하기 위한 계정 정보나, 예제 데이터베이스가 있다거나... 하는 등의 내용이 없습니다. (사실, 저렇게 docker run 인자를 넣어야 한다는 것도 웹 검색을 해서 알았습니다.)
그나마 다행인 것은, docker run 이후의 출력 로그를 보면 관련 정보가 나옵니다.
Informix container login information:
user: informix
password: in4mix
INFORMIX_PASSWORD: in4mix
HQADMIN_PASSWORD: Passw0rd
그 외에, 제가 informix를 잘 몰라서 확답은 못하지만, 찾아보면 기본 서비스 포트가 1524라고 하는데, 위의 docker run 인자를 보면 9088이 아마도 기본 포트인 것 같습니다. 뭐, 그런대로 일단은 최대한 알 만한 정보는 모은 것 같습니다. ^^
참고로, 아래는 대충 이렇게 해서 실행된 docker 출력 내용을 담고 있습니다.
C:\temp> docker run -it --name ifx -h ifx -p 9088:9088 -p 9089:9089 -p 27017:27017 -p 27018:27018 -p 27883:27883 -e LICENSE=accept ibmcom/informix-developer-database:latest
argv[1]: (0x7ffc871c1e7d) /opt/ibm/scripts/informix_entry.sh
argv[2]: (0x7ffc871c1ea0) /opt/ibm/scripts/informix_stop.sh
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> LICENSE: ACCEPT
[2022-04-27T06:08:31Z] >>> LICENSE_SERVER:
[2022-04-27T06:08:31Z] >>> DBA_USER:
[2022-04-27T06:08:31Z] >>> INFORMIX_PASSWORD: in4mix
[2022-04-27T06:08:31Z] >>> DBA_PASSWORD:
[2022-04-27T06:08:31Z] >>> HQADMIN_PASSWORD: Passw0rd
[2022-04-27T06:08:31Z] >>> USER_MANAGEMENT:
[2022-04-27T06:08:31Z] >>> SIZE: SMALL
[2022-04-27T06:08:31Z] >>> TYPE: OLTP
[2022-04-27T06:08:31Z] >>> STORAGE:
[2022-04-27T06:08:31Z] >>> MEMORY_PERCENTAGE:
[2022-04-27T06:08:31Z] >>> CPU_PERCENTAGE:
[2022-04-27T06:08:31Z] >>> BUFFERS_PERCENTAGE: 80
[2022-04-27T06:08:31Z] >>> SHMVIRT_PERCENTAGE: 19
[2022-04-27T06:08:31Z] >>> NONPDQ_PERCENTAGE: 1
[2022-04-27T06:08:31Z] >>> DISK_ENCRYPTION: OFF
[2022-04-27T06:08:31Z] >>> DEBUG: OFF
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> MAPPED_HOSTNAME: ifx
[2022-04-27T06:08:31Z] >>> MAPPED_SQLI_PORT: 9088
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> ONCONFIG_FILE:
[2022-04-27T06:08:31Z] >>> SQLHOSTS_FILE:
[2022-04-27T06:08:31Z] >>> REST_PROP_FILE:
[2022-04-27T06:08:31Z] >>> MONGO_PROP_FILE:
[2022-04-27T06:08:31Z] >>> MQTT_PROP_FILE:
[2022-04-27T06:08:31Z] >>> DBSERVERNAME:
[2022-04-27T06:08:31Z] >>> DBSERVERALIAS:
[2022-04-27T06:08:31Z] >>> INIT_FILE:
[2022-04-27T06:08:31Z] >>> RUN_FILE_PRE_INIT:
[2022-04-27T06:08:31Z] >>> RUN_FILE_POST_INIT:
[2022-04-27T06:08:31Z] >>> CONFIGURE_INIT:
[2022-04-27T06:08:31Z] >>> EDITION_INSTALLER:
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> PORT_DRDA: ON
[2022-04-27T06:08:31Z] >>> PORT_REST: ON
[2022-04-27T06:08:31Z] >>> PORT_MONGO: ON
[2022-04-27T06:08:31Z] >>> PORT_MQTT: ON
[2022-04-27T06:08:31Z] >>> TLS_CONNECTIONS: OFF
[2022-04-27T06:08:31Z] >>> TLS_CONNECTIONS_STATUS_FILE: /opt/ibm/config/tls_connections_status_file
[2022-04-27T06:08:31Z] >>> WL_CREDENTIALS_STATUS_FILE: /opt/ibm/config/wl_credentials_status_file
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> HA:
[2022-04-27T06:08:31Z] >>> HA_PRIMARY:
[2022-04-27T06:08:31Z] >>> HA_PRI_DBSERVERNAME:
[2022-04-27T06:08:31Z] >>> HQSERVER:
[2022-04-27T06:08:31Z] >>> HQAGENT:
[2022-04-27T06:08:31Z] >>> HQSETUP:
[2022-04-27T06:08:31Z] >>> HQSERVER_MAPPED_HOSTNAME:
[2022-04-27T06:08:31Z] >>> HQSERVER_MAPPED_HTTP_PORT: 8080
[2022-04-27T06:08:31Z] >>> HQSERVER_MAPPED_HTTPS_PORT: 8081
[2022-04-27T06:08:31Z] >>>
[2022-04-27T06:08:31Z] >>> Start container
[2022-04-27T06:08:31Z] >>> Continue with existing connection setup
[2022-04-27T06:08:31Z] >>> Check for edition installer
[2022-04-27T06:08:31Z] >>> Create data directories
[2022-04-27T06:08:31Z] >>> /opt/ibm/data
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Create sqlhosts file
[2022-04-27T06:08:31Z] >>> /opt/ibm/informix/etc/sqlhosts
[2022-04-27T06:08:31Z] >>> /opt/ibm/config/sqlhosts FILEEXISTS=0
[2022-04-27T06:08:31Z] >>> Create default sqlhosts
[2022-04-27T06:08:31Z] >>> touch /opt/ibm/config/sqlhosts
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Create ONCONFIG file
[2022-04-27T06:08:31Z] >>> /opt/ibm/informix/etc/onconfig
[2022-04-27T06:08:31Z] >>> Create DEFAULT onconfig
[2022-04-27T06:08:31Z] >>> Copy onconfig.std /opt/ibm/config/onconfig
[2022-04-27T06:08:31Z] >>> Set up small system
[2022-04-27T06:08:31Z] >>> MODIFY ONCONFIG: /opt/ibm/scripts/informix_config.small
[2022-04-27T06:08:31Z] >>> MODIFY ONCONFIG: /opt/ibm/informix/etc/onconfig
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: AUTO_TUNE - 1
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: DIRECT_IO - 1
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: DUMPSHMEM - 0
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: LOGFILES - 10
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: LOGBUFF - 128
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: PHYSBUFF - 128
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: ROOTSIZE - 350000
[2022-04-27T06:08:31Z] >>> ONCONFIG UPDATE: SINGLE_CPU_VP - 1
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Set up sch_init_informix.sql file
[2022-04-27T06:08:31Z] >>> Use small setup sch_init_informix.sql
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Update hostname in file(s)
[2022-04-27T06:08:31Z] >>> /opt/ibm/informix/etc/sqlhosts
[2022-04-27T06:08:31Z] >>> Updating HOSTNAME in /opt/ibm/informix/etc/sqlhosts
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Create MSGPATH file
[2022-04-27T06:08:31Z] >>> /opt/ibm/data/logs/online.log
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Create rootdbs
[2022-04-27T06:08:31Z] >>> /opt/ibm/data/spaces/rootdbs.000
[2022-04-27T06:08:31Z] >>> [COMPLETED]
[2022-04-27T06:08:31Z] >>> Run informix_custom_install.sh
[2022-04-27T06:08:31Z] >>> Remove existing WL properties files
[2022-04-27T06:08:31Z] >>> Clean up existing server
[2022-04-27T06:08:31Z] >>> INFORMIX_CLEAN param1: ALWAYS
[2022-04-27T06:08:31Z] >>> Clean up oninit processes
[2022-04-27T06:08:31Z] >>> PIDS:
[2022-04-27T06:08:31Z] >>> Remaining oninit processes - if any
[2022-04-27T06:08:31Z] >>> PIDS:
[2022-04-27T06:08:31Z] >>> Clean up all SHM
[2022-04-27T06:08:31Z] >>> Clean up all SEM
[2022-04-27T06:08:31Z] >>> Informix disk initialization
Warning: The IBM Informix Dynamic Server Developer Edition license restriction limits
the total shared memory size for this server to 16777216 KB. The
maximum allowable shared memory will be set to this size. (SHMTOTAL)
[2022-04-27T06:08:40Z] >>> Waiting for sysadmin
[2022-04-27T06:08:45Z] >>> Waiting for sysadmin
[2022-04-27T06:08:50Z] >>> Waiting for sysadmin
[2022-04-27T06:08:55Z] >>> Waiting for sysadmin
[2022-04-27T06:08:57Z] >>> [COMPLETED]
[2022-04-27T06:08:57Z] >>> Set up Wire Listener (WL)
[2022-04-27T06:08:57Z] >>> Start WL (2022-04-27T06:08:57Z)
[2022-04-27T06:08:57Z] >>> Create default WL Mongo properties file
[2022-04-27T06:08:57Z] >>> WL Mongo: 0 0
[2022-04-27T06:08:57Z] >>> WL: REST properties file /opt/ibm/config/wl_rest.properties does not exist
[2022-04-27T06:08:57Z] >>> Create default WL REST properties file
[2022-04-27T06:08:57Z] >>> WL REST: 0 0
[2022-04-27T06:08:57Z] >>> Create default WL MQTT properties
[2022-04-27T06:08:57Z] >>> WL MQTT: 0 0
[2022-04-27T06:08:57Z] >>> WL cmd: java -jar '/opt/ibm/informix'/bin/jsonListener.jar -config /opt/ibm/informix/etc/wl_rest.properties -config /opt/ibm/informix/etc/wl_mongo.properties -config /opt/ibm/informix/etc/wl_mqtt.properties -logfile /opt/ibm/informix/etc/json_listener_logging.log -loglevel info -start &
[2022-04-27T06:08:57Z] >>> [COMPLETED]
[2022-04-27T06:08:57Z] >>> Execute init-startup scripts
[2022-04-27T06:08:57Z] >>> [COMPLETED]
[2022-04-27T06:08:57Z] >>> ###
[2022-04-27T06:08:57Z] >>> ### Informix container login information:
[2022-04-27T06:08:57Z] >>> ### user: informix
[2022-04-27T06:08:57Z] >>> ### password: in4mix
[2022-04-27T06:08:57Z] >>> ###
[2022-04-27T06:08:57Z] >>> ### Type exit to quit the startup shell
[2022-04-27T06:08:57Z] >>> ### This will stop the container
[2022-04-27T06:08:57Z] >>> ###
[2022-04-27T06:08:57Z] >>> ### For interactive shell run:
[2022-04-27T06:08:57Z] >>> ### docker exec -it <container-name | -id> bash
[2022-04-27T06:08:57Z] >>> ###
[2022-04-27T06:08:57Z] >>> ### To start the container run:
[2022-04-27T06:08:57Z] >>> ### docker start <container-name | -id>
[2022-04-27T06:08:57Z] >>> ###
[2022-04-27T06:08:57Z] >>> ### To safely shut down the container run:
[2022-04-27T06:08:57Z] >>> ### docker stop <container-name | -id>
[2022-04-27T06:08:57Z] >>> ###
06:08:31 IBM Informix Dynamic Server Started.
06:08:31 Requested shared memory segment size rounded from 4500KB to 4992KB
06:08:32 Could not disable priority aging: errno = 13
Wed Apr 27 06:08:33 2022
06:08:33 Requested shared memory segment size rounded from 111028KB to 111032KB
06:08:33 Successfully added a bufferpool of page size 2K.
06:08:33 Event alarms enabled. ALARMPROG = '/opt/ibm/informix/etc/alarmprogram.sh'
06:08:33 Booting Language <c> from module <>
06:08:33 Loading Module <CNULL>
06:08:33 Booting Language <builtin> from module <>
06:08:33 Loading Module <BUILTINNULL>
06:08:38 Could not disable priority aging: errno = 13
06:08:38 Dynamically allocated new virtual shared memory segment (size 8192KB)
06:08:38 Memory sizes:resident:4992 KB, virtual:32656 KB, message:0, bufferpool:111032, SHMTOTAL:16777216 KB
2022-04-27 06:08:38.103 DR: DRAUTO is 0 (Off)
2022-04-27 06:08:38.103 DR: ENCRYPT_HDR is 0 (HDR encryption Disabled)
2022-04-27 06:08:38.103 Event notification facility epoll enabled.
2022-04-27 06:08:38.226 IBM Informix Dynamic Server Version 14.10.FC7W1DE
2022-04-27 06:08:38.227 Performance Advisory: Currently IBM Informix Dynamic Server cannot
support KAIO on the device containing
'/opt/ibm/data/spaces/rootdbs.000'
2022-04-27 06:08:38.227 Results: Direct and concurrent I/O are disabled for this chunk.
2022-04-27 06:08:38.227 Action: Standard AIO (possibly buffered) will be used for I/O
to this chunk.
2022-04-27 06:08:38.984 IBM Informix Dynamic Server Initialized -- Complete Disk Initialized.
2022-04-27 06:08:38.984 Started 1 B-tree scanners.
2022-04-27 06:08:38.984 B-tree scanner threshold set at 5000.
2022-04-27 06:08:38.984 B-tree scanner range scan size set to -1.
2022-04-27 06:08:38.984 B-tree scanner ALICE mode set to 6.
2022-04-27 06:08:38.984 B-tree scanner index compression level set to med.
2022-04-27 06:08:38.998 Dataskip is now OFF for all dbspaces
2022-04-27 06:08:39.016 Building 'sysmaster' database ...
2022-04-27 06:08:39.039 Checkpoint Completed: duration was 0 seconds.
2022-04-27 06:08:39.039 Wed Apr 27 - loguniq 1, logpos 0x418, timestamp: 0xae Interval: 2
2022-04-27 06:08:39.039 Maximum server connections 0
2022-04-27 06:08:39.039 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 1, Plog used 6, Llog used 1
2022-04-27 06:08:39.041 On-Line Mode
2022-04-27 06:08:40.480 Dynamically allocated new virtual shared memory segment (size 8192KB)
2022-04-27 06:08:40.480 Memory sizes:resident:4992 KB, virtual:40848 KB, message:0, bufferpool:111032, SHMTOTAL:16777216 KB
2022-04-27 06:08:42.036 Booting Language <spl> from module <>
2022-04-27 06:08:42.036 Loading Module <SPLNULL>
2022-04-27 06:08:42.079 Performance Advisory: Based on the current workload, the physical log might be too small to
accommodate the time it takes to flush the buffer pool.
2022-04-27 06:08:42.079 Results: The server might block transactions during checkpoints.
2022-04-27 06:08:42.079 Action: If transactions are blocked during the checkpoint, increase the size of the
physical log to at least 716800 KB.
2022-04-27 06:08:42.079 Performance Advisory: The physical log is too small for automatic checkpoints.
2022-04-27 06:08:42.079 Results: Automatic checkpoints are disabled.
2022-04-27 06:08:42.079 Action: To enable automatic checkpoints, increase the physical log to at least 716800 KB.
2022-04-27 06:08:43.453 Unloading Module <SPLNULL>
2022-04-27 06:08:43.457 Loading Module <SPLNULL>
2022-04-27 06:08:45.847 Checkpoint Completed: duration was 0 seconds.
2022-04-27 06:08:45.847 Wed Apr 27 - loguniq 1, logpos 0x12e1018, timestamp: 0x145b6 Interval: 3
2022-04-27 06:08:45.847 Maximum server connections 1
2022-04-27 06:08:45.847 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 0, Plog used 9, Llog used 4833
2022-04-27 06:08:47.079 Logical Log 1 Complete, timestamp: 0x1b87e.
2022-04-27 06:08:47.764 Checkpoint Completed: duration was 0 seconds.
2022-04-27 06:08:47.764 Wed Apr 27 - loguniq 2, logpos 0x646018, timestamp: 0x1b8ad Interval: 4
2022-04-27 06:08:47.764 Maximum server connections 1
2022-04-27 06:08:47.765 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 0, Plog used 30, Llog used 1773
2022-04-27 06:08:49.747 Checkpoint Completed: duration was 0 seconds.
2022-04-27 06:08:49.747 Wed Apr 27 - loguniq 2, logpos 0xd33018, timestamp: 0x22b3c Interval: 5
2022-04-27 06:08:49.747 Maximum server connections 1
2022-04-27 06:08:49.747 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 0, Plog used 58, Llog used 1773
2022-04-27 06:08:50.194 'sysmaster' database built successfully.
2022-04-27 06:08:51.080 'sysutils' database built successfully.
2022-04-27 06:08:51.080 'sysuser' database built successfully.
2022-04-27 06:08:57.080 Building 'sysadmin' database ...
2022-04-27 06:08:57.271 Performance Advisory: Logical log file size might be too small for a
checkpoint to complete.
2022-04-27 06:08:57.271 Results: The size of individual logical log files is too small for
the current workload, resulting in each log file filling very
quickly. If log files fill in less than 30 seconds, the checkpoint
might remain blocked because the last log file fills during the time
needed to perform the checkpoint.
2022-04-27 06:08:57.271 Action: Increase the size of the individual logical log files so
that it takes at least 30 seconds to fill each one. Look at the
online log to determine how quickly the log files are filling, and
then increase the size of the files proportionately.
starting rest listener on port 27018
2022-04-27 06:08:57.852 Dynamically allocated new virtual shared memory segment (size 8192KB)
2022-04-27 06:08:57.852 Memory sizes:resident:4992 KB, virtual:49040 KB, message:0, bufferpool:111032, SHMTOTAL:16777216 KB
starting mongo listener on port 27017
starting mqtt listener on port 27883
2022-04-27 06:08:58.080 Logical Log 2 Complete, timestamp: 0x2cad2.
2022-04-27 06:08:59.456 SCHAPI: Using (/opt/ibm/informix/etc/sysadmin/sch_init_informix.sql) to initialize this instance.
2022-04-27 06:08:59.486 SCHAPI: Started dbScheduler thread.
2022-04-27 06:08:59.486 'sysadmin' database built successfully.
2022-04-27 06:08:59.498 Auto Registration is synced
2022-04-27 06:08:59.622 Updating Low Memory Manager to version 11
2022-04-27 06:08:59.626 Installing patch to Low Memory Manager code. version(11.01)
2022-04-27 06:08:59.899 Installing patch to upgrade ph_task code. version(13.10)
2022-04-27 06:08:59.922 SCHAPI: Started 2 dbWorker threads.
2022-04-27 06:09:01.244 Checkpoint Completed: duration was 2 seconds.
2022-04-27 06:09:01.245 Wed Apr 27 - loguniq 3, logpos 0xa87080, timestamp: 0x34faa Interval: 6
2022-04-27 06:09:01.245 Maximum server connections 1
2022-04-27 06:09:01.245 Checkpoint Statistics - Avg. Txn Block Time 0.000, # Txns blocked 1, Plog used 178, Llog used 5273
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]