Thursday, October 29, 2020

exec(): 0509-036 Cannot load program sqlplus/tnsping on AIX

 When you perform Oracle client/database installation on the IBM AIX platform, you may encounter below issue post installation, where is upon running any oracle executable, like sqlplus, tnsping, sqlldr, you will encounter error exec(): 0509-036 Cannot load program .



$ sqlplus
exec(): 0509-036 Cannot load program sqlplus because of the following errors:
        0509-130 Symbol resolution failed for /app01/Oracle/product/12.2.0/client_1/lib/libons.so because:
        0509-136   Symbol CreateIoCompletionPort (number 93) is not exported from
                   dependent module /unix.
        0509-136   Symbol GetQueuedCompletionStatus (number 94) is not exported from
                   dependent module /unix.
        0509-136   Symbol ReadFile (number 95) is not exported from
                   dependent module /unix.
        0509-136   Symbol WriteFile (number 96) is not exported from
                   dependent module /unix.
        0509-192 Examine .loader section symbols with the
                 'dump -Tv' command.
$ tnsping
exec(): 0509-036 Cannot load program tnsping because of the following errors:
        0509-130 Symbol resolution failed for /app01/Oracle/product/12.2.0/client_1/lib/libons.so because:
        0509-136   Symbol CreateIoCompletionPort (number 93) is not exported from
                   dependent module /unix.
        0509-136   Symbol GetQueuedCompletionStatus (number 94) is not exported from
                   dependent module /unix.
        0509-136   Symbol ReadFile (number 95) is not exported from
                   dependent module /unix.
        0509-136   Symbol WriteFile (number 96) is not exported from
                   dependent module /unix.
        0509-192 Examine .loader section symbols with the
                 'dump -Tv' command.
$  lsdev | grep iocp
iocp0      Defined               I/O Completion Ports
 

This is because on AIX, IOCP  parameter is not properly set as displayed in above output in red.

Please follow Oracle Support document: 

12.2 AIX 7.2: EXEC(): 0509-036 CANNOT LOAD PROGRAM KFOD.BIN DURING GRID INSTALL (Doc ID 2288514.1)


IOCP IBM AIX parameter needs to be changed from “defined” to “available”, this change is required root privilege and it's suggested that this change is implemented by System Admin on Production environment, but for lower environment with less risk you can modify the same with root privilege as mentioned below:


1. Log in as root and run the following command:

# smitty iocp
Select Change / Show Characteristics of I/O Completion Ports.

Change configured state at system restart from Defined to Available.

2. Reboot server.

3. Run the lsdev command to confirm the IOCP status is set to Available:
$ lsdev | grep iocp
iocp0 Available I/O Completion Ports
 

Post this change and reboot of the server, oracle executables will work without any issue.

No comments:

Post a Comment