티스토리 뷰
Informix의 숨겨진 파라미터 중 PARTITION_NAMES 을 테스트해보다가 특정 버전부터 적용되지 않는 것을 발견했습니다.
PARTITION_NAMES는 Informix 12.10.FC14 버전과 14.10.FC3 버전부터 설정가능한 파라미터인데 14.10.FC5부터는 KERNEL_CTRL 파라미터로 통합되어 관리되는 것 같습니다. 12.10 버전에서는 KERNEL_CTRL 파라미터가 사용되지 않네요.
아래 KERNEL_CTRL 파라미터의 설명을 보면 기존의 숨겨진 일부 파라미터들의 설정 여부가 비트 값에 의해 적용되도록 변경된 것으로 보입니다. 최종 설정 값은 각 항목에 해당하는 비트값의 합을 16진수나 10진수로 설정할 수 있습니다.
$ onstat -g cfg full KERNEL_CTRL
IBM Informix Dynamic Server Version 14.10.FC8 -- On-Line -- Up 86 days 17:55:43 -- 534156 Kbytes
2023-03-03 13:00:46
Configuration Parameter Info
id name type maxlen units rsvd tunable
99 KERNEL_CTRL UINT4 12 *
min/max : 0,16383
default : 0x30b5
onconfig: 0x30b5
current : 0x30b5
This parameter is undocumented.
Description:
This bitfield governs kernel control switches. It should not be modified
without the guidance of technical support. A number of switches are on
by default. Current switches:
Description Value Dflt
----------- ----- ----
Partition Names 0x00001 *
No Defer Index Build 0x00002
Bump Extent Slot 0x00004 *
oncheck PDQ 0x00008
Clear Chunk B4 Encrypt 0x00010 *
Ignore Underflow 0x00020 *
Batched Read Key-Only 0x00040
Multi-Index Scan 0x00080 *
Dump Stack Frame 0x00100
No Extent Doubling 0x00200
Defect 105400 Switch 1 0x00400
Defect 105400 Switch 2 0x00800
Unload DLLs upon fork 0x01000 *
MSC VP System Stack 0x02000 *
위의 파라미터들은 대체로 defect를 우회하거나 특정 케이스를 회피하기 위한 특별한 파라미터라고 볼 수 있겠습니다. 기존에 이와 관련된 파라미터를 사용했던 곳이라면 업그레이드나 재구축시 고려해야 할 사항입니다.
KERNEL_CTRL로 대체된 기존의 파라미터들은 설명에 정확한 파라미터 이름이 명시되어 있지 않지만 sysmaster:sysconfig 테이블을 조회해보면 대응되는 파라미터를 아래와 같이 유추할 수 있습니다. 몇개는 모르겠네요.
KERNEL_CTRL 파라미터 설정 항목 | 기존 ONCONFIG 설정 파라미터 |
Partition Names | PARTITION_NAMES |
No Defer Index Build | NO_DEFER_IDX_BLD |
Bump Extent Slot | BUMP_EXT_SLOT |
oncheck PDQ | ONCHECK_PDQ |
Clear Chunk B4 Encrypt | CLEAR_CHK_B4_ENCRYPT |
Ignore Underflow | IGNORE_UNDERFLOW |
Batched Read Key-Only | BATCHEDREAD_KEYONLY |
Multi-Index Scan | MULTI_INDEX_SCAN |
Dump Stack Frame | DUMPFRAME |
No Extent Doubling | NO_EXTENT_DOUBLING |
Defect 105400 Switch 1 | ? |
Defect 105400 Switch 2 | ? |
Unload DLLs upon fork | ? |
MSC VP System Stack | MSCVP_STACKSIZE |
기존에 설정가능한 환경에서는 아래와 같이 onstat 명령을 실행하면 숨겨진 파라미터에 대한 설명이 보입니다.
$ onstat -g cfg full NO_EXTENT_DOUBLING
IBM Informix Dynamic Server Version 12.10.FC14 -- On-Line -- Up 00:42:00 -- 218096 Kbytes
Configuration Parameter Info
id name type maxlen units rsvd tunable
55 NO_EXTENT_DOUBLING BOOL 2 *
default : 0
onconfig:
current : 0
This parameter is undocumented.
Description:
NO_EXTENT_DOUBLING is an undocumented parameter that prevents any
automatic extent doubling once the next extent size reaches 128 pages.
그러나 KERNEL_CTRL 파라미터로 전환된 버전에서는 해당 파라미터가 적용되지 않습니다.
sysmaster:sysconfig에도 보이지 않네요.
$ onstat -g cfg full NO_EXTENT_DOUBLING
IBM Informix Dynamic Server Version 14.10.FC8 -- On-Line -- Up 86 days 18:37:15 -- 534156 Kbytes
2023-03-03 13:42:17
attn: Ignoring unknown or deprecated config parameter (NO_EXTENT_DOUBLING)
관련 파라미터를 사용중인 곳은 DB 버전 업그레이드나 버전 변경시 참고하시길 바랍니다.
- Total
- Today
- Yesterday