티스토리 뷰

반응형

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 버전 업그레이드나 버전 변경시 참고하시길 바랍니다.

반응형
댓글