DBCA and DBUA are unable to start in Oracle 12.1.0.2 /12.2.0.1 on IBM AIX
Problem Description:
Today I performed a
new installation of Oracle 12.1.0.2 on IBM AIX 7.1 in a single instance
environment. After a successful Oracle Software instllation I tried to execute
"dbca" utility (Database Configuration Assistant) in order to create
the database and I recevied the following error:
$ ./dbca
UnsatisfiedLinkError exception loading native library: njni12
java.lang.UnsatisfiedLinkError: njni12 (rtld: 0712-001 Symbol CreateIoCompletionPort was referenced
from module /oravl01/oracle/app/product/12.1.0.2/dbhome_1/lib/libnjni12.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol GetMultipleCompletionStatus was referenced
from module /oravl01/oracle/app/product/12.1.0.2/dbhome_1/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;
at oracle.net.config.Config.getNetDir(Unknown Source)
at oracle.net.config.Config.initConfig(Unknown Source)
at oracle.net.config.Config.(Unknown Source)
at oracle.sysman.assistants.util.NetworkUtils.(NetworkUtils.java:298)
at oracle.sysman.assistants.util.step.StepContext.(StepContext.java:388)
at oracle.sysman.assistants.dbca.backend.Host.(Host.java:1055)
at oracle.sysman.assistants.dbca.backend.Host.(Host.java:1048)
at oracle.sysman.assistants.dbca.wizard.UIHost.(UIHost.java:241)
at oracle.sysman.assistants.dbca.wizard.InteractiveHost.getInstance(InteractiveHost.java:78)
at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:208)
at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:121)
at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:226)
$ smit aio
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string "-dt-interface system-medium-r-normal-l*-*-*-*-*-*-*-*" to type FontSet
$
UnsatisfiedLinkError exception loading native library: njni12
java.lang.UnsatisfiedLinkError: njni12 (rtld: 0712-001 Symbol CreateIoCompletionPort was referenced
from module /oravl01/oracle/app/product/12.1.0.2/dbhome_1/lib/libnjni12.so(), but a runtime definition
of the symbol was not found.
rtld: 0712-001 Symbol GetMultipleCompletionStatus was referenced
from module /oravl01/oracle/app/product/12.1.0.2/dbhome_1/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;
at oracle.net.config.Config.getNetDir(Unknown Source)
at oracle.net.config.Config.initConfig(Unknown Source)
at oracle.net.config.Config.
at oracle.sysman.assistants.util.NetworkUtils.
at oracle.sysman.assistants.util.step.StepContext.
at oracle.sysman.assistants.dbca.backend.Host.
at oracle.sysman.assistants.dbca.backend.Host.
at oracle.sysman.assistants.dbca.wizard.UIHost.
at oracle.sysman.assistants.dbca.wizard.InteractiveHost.getInstance(InteractiveHost.java:78)
at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:208)
at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:121)
at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:226)
$ smit aio
Warning: Missing charsets in String to FontSet conversion
Warning: Cannot convert string "-dt-interface system-medium-r-normal-l*-*-*-*-*-*-*-*" to type FontSet
$
After an investigation
in MOS (My Oracle Support) I found the following article:
AIX 12.1.0.2 Installation Fails with "rtld: 0712-001 Symbol
CreateIoCompletionPort was referenced " (Doc ID 1949184.1)
What I found in the
article is that this issue is a known issue for Oracle 12.1.0.2 in IBM AIX on
POWER Systems (64-bit).
SOLUTION:
The solution, as described
in Doc ID 1949184.1 is actually a very simple one, all you need to do is enable
to IOCP (I/O Completion Ports). The steps to do that are:
1.
Log in as root and run
the following command:
# smitty iocp
Select Change / Show Characteristics of I/O Completion Ports.
# smitty iocp
Select Change / Show Characteristics of I/O Completion Ports.
2.
Change configured state at system restart from Defined to Available.
Restart the machine
Change configured state at system restart from Defined to Available.
Restart the machine
3.
Run the lsdev command to confirm the IOCP status is set to Available:
Run the lsdev command to confirm the IOCP status is set to Available:
$ lsdev | grep iocp
iocp0 Available I/O Completion Ports
iocp0 Available I/O Completion Ports
4.
Relink Oracle Home. In order to do that, connect with the Oracle software owner user and then:
Set the ORACLE_HOME environment
variable
Execute $ORACLE_HOME/bin/relink all
5.
That's it ! Now the "dbca" and "dbua" runs successfuly
That's it ! Now the "dbca" and "dbua" runs successfuly
No comments:
Post a Comment