aix oracle 12c Installation Fails, rtld: 0712-001 Symbol CreateIoCompletionPort was referenced

when you create database with dbca

UnsatisfiedLinkError exception loading native library: njni12
java.lang.UnsatisfiedLinkError: njni12 (rtld: 0712-001 Symbol CreateIoCompletionPort was referenced
from module /u01/products/rdbms_12102/lib/libnjni12.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol GetMultipleCompletionStatus was referenced
from module /u01/products/rdbms_12102/lib/libnjni12.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-002 fatal error: exiting.)
Exception in thread "main" java.lang.UnsatisfiedLinkError: oracle/net/common/NetGetEnv.get(Ljava/lang/String;)Ljava/lang/String;

The installation logs shows the following relink error:

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

sqlplus , lsnrctl command fails with below error

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


IOCP module should be enabled on the server.

$ lsdev | grep iocp
  iocp0       Defined  I/O Completion Ports

   By default, IOCP is set to Defined.

Enable the “iocp” option and relink the oracle binaries.
To enable IOCP, set IOCP to Available using the following procedure:

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.

Run the lsdev command to confirm the IOCP status is set to Available:

$ lsdev | grep iocp
iocp0 Available I/O Completion Ports

Perform a system restart to make the changes permanent.

Relink the binaries using " relink all " and then root.sh as root user.

There is no impact on Existing Oracle Databases installed on server if IOCP status is set to Available.

Zamong is free  oracle monitoring software with DMA method.

dma_picture