After Cloning a 12c Oracle Home – SQLPLUS error exec(): 0509-036

Problem:

After cloning a 12c Oracle Home to another AIX 7.1 server, I received the following error when I started SQLPLUS.

$  ./sqlplus /nolog
 exec(): 0509-036 Cannot load program sqlplus because of the following errors:
 rtld: 0712-001 Symbol CreateIoCompletionPort was referenced
       from module /oracle/12.1.0.2.2/lib/libttsh12.so(), but a runtime definition
       of the symbol was not found.
 rtld: 0712-001 Symbol GetMultipleCompletionStatus was referenced
       from module /oracle/12.1.0.2.2/lib/libttsh12.so(), but a runtime definition
       of the symbol was not found.
 rtld: 0712-002 fatal error: exiting.

 

Cause:

The I/O Completion Port was not correctly configured on the AIX operating system.  The parameter is configured to its default of “Defined”, and Oracle 12c requires this parameter to be configured as “Available”.

Verify:

$ lsdev -c iocp

iocp_defined

Resolution:

Note: May need to do this as (or sudo to) the root user.

$ smitty iocp

smitty_iocp

The default is the highlighted “Change / Show  Characteristics of I/O Completion Ports“, just hit the Enter key.

change_iocp

Hit the tab key to until “Available” is shown in the right column, then hit the “Enter” key.

change_to_available

Smitty will display a status, hit the F10 key to exit from Smitty.

iocp_changed

Again run the following command to verify the change was made to “Available”:

$ lsdev -c iocp

verify_iocp_available

In my case, I did not need to restart the operating system.  I was at this point able to access Oracle’s SQLPLUS.

SqlPlus12c

For more details: see section 3.10 of the Oracle 12c Database Pre-Installation Tasks

Thanks to Martin Berger’s blog (http://www.martinberger.com/?p=289).  With the help of his blog post, I was able to resolve this issue.

12 Comments

Leave a Reply