Db2

Db2

Connect with Db2, open source, and other data experts to gain value from your data, share insights, and solve problems.

 View Only
  • 1.  docker install on 4K sector disk produces error

    Posted Tue November 17, 2020 01:34 PM
    I was trying to get the standard db2 docker container to work on my 4K sector size disk (Ubuntu 20.04.1 LTS).

    Could anyone describe how this would work on docker ? I did set an environment variable DB2_4K_DEVICE_SUPPORT=ON, but am not sure I did it right as Db2 fails to allocate any tablespace.

    The first error I get is this:
    2020-11-13-21.07.49.536080+000 E256207E1669 LEVEL: Error (OS)
    mydb2_1 | PID : 16006 TID : 140386970363648 PROC : db2sysc 0
    mydb2_1 | INSTANCE: db2inst1 NODE : 000 DB : SAMPLE
    mydb2_1 | APPHDL : 0-8 APPID: *LOCAL.db2inst1.201113210749
    mydb2_1 | AUTHID : DB2INST1 HOSTNAME: d27418451922
    mydb2_1 | EDUID : 23 EDUNAME: db2agent (SAMPLE) 0
    mydb2_1 | FUNCTION: DB2 UDB, oper system services, sqloseekwrite64, probe:50
    mydb2_1 | MESSAGE : ZRC=0x870F0002=-2029060094=SQLO_BPSE "Debug logic error detected"
    mydb2_1 | DIA8501C A buffer pool logic error has occurred.
    mydb2_1 | CALLED : OS, -, pwrite OSERR: EINVAL (22)
    mydb2_1 | DATA #1 : File handle, PD_TYPE_SQO_FILE_HDL, 8 bytes
    mydb2_1 | File Handle = 22
    mydb2_1 | File System Block Size = 4096 bytes
    mydb2_1 | File System Type = ext4
    mydb2_1 | Storage Sector Size = UNKNOWN
    mydb2_1 | File Handle Flags :
    mydb2_1 | Require Sector Align = No
    mydb2_1 | DIO/CIO Mode = Yes
    mydb2_1 | Raw Block Device = No
    mydb2_1 | Reserved Handle = No
    mydb2_1 | Flush On Close = Yes
    mydb2_1 | Thread-Level Lock = No
    mydb2_1 | Write-through Mode = No
    mydb2_1 | File Not Tracked = No
    mydb2_1 | Remote Storage Read = No
    mydb2_1 | Remote Storage Write = No
    mydb2_1 | Extended File Handle = No
    mydb2_1 | Use Local, No Delete = No
    mydb2_1 | DATA #2 : signed integer, 8 bytes
    mydb2_1 | 512
    mydb2_1 | DATA #3 : unsigned integer, 8 bytes
    mydb2_1 | 32256
    mydb2_1 | DATA #4 : signed integer, 8 bytes
    mydb2_1 | -1
    mydb2_1 | DATA #5 : String, 258 bytes
    mydb2_1 | Possible reasons for EINVAL from write():
    mydb2_1 | 1. Misaligned IO due to an unsupported block size. Run blockdev (Linux) or similar to confirm.
    mydb2_1 | 2. Invalid parameters to the API.
    mydb2_1 | 3. The file size / offset specified is > 2G but the file system does not support > 2G.

    Thanks in advance

    ------------------------------
    uli
    ------------------------------

    #Db2


  • 2.  RE: docker install on 4K sector disk produces error

    Posted Wed November 18, 2020 11:48 AM

    Uli,

    I agree that this is a problem.  From the debug data here, this particular I/O request does not meet the requirements of Direct I/O on 4K sector devices.

    Adjacent to this error message, there should be a stack dump.  Can you post it?  This will be most helpful in determining where we are generating this bad I/O request.

    Another thing to confirm - after setting the DB2_4K_DEVICE_SUPPORT registry variable, you must restart the instance (db2stop/db2start) for it to take effect.

    Regards,

    --

    Matt Emmerton, Db2 Data Management, Platform and OS



    ------------------------------
    Matthew Emmerton
    ------------------------------



  • 3.  RE: docker install on 4K sector disk produces error

    Posted Wed November 18, 2020 09:35 PM
    Problem solved.

    Actually when I did the db2start without changing anything it did include this line:
    Disk: 4K Device Support: NONE
    (This does not show up when the container ist started...)

    Then looking at db2set revealed that it hat not picked up DB2_4K_DEVICE_SUPPORT=ON from my docker-compose definition
    environment:
    LICENSE: accept
    ...
    DB2_4K_DEVICE_SUPPORT: 'ON'

    so I did it from inside the container with db2set followed by db2stop/restart and voila:
    dbstart now logs:
    Disk: 4K Device Support: ENGINE,LOB,BACKUP,RESTORE

    Thanks for pointing me towards that solution.

    :)


    ------------------------------
    uli
    ------------------------------