Oracle executables fail to run on AIX: Symbol resolution failed for /usr/lib/libc.a[aio_64.o]

  • Note:235537.1
  • fact: Oracle Server - Enterprise Edition 9.2.0.1
  • fact: AIX-Based Systems
  • symptom: Starting SQL*Plus error
  • symptom: exec(): 0509-036 Cannot load program oracleads1 because of the following errors:
  • symptom: 0509-130 Symbol resolution failed for /usr/lib/libc.a[aio_64.o] because:
  • symptom: 0509-136 Symbol kaio_rdwr64 (number 0) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol listio64 (number 1) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol acancel64 (number 2) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol iosuspend64 (number 3) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol aio_nwait (number 4) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol aio_nwait64 (number 5) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol aio_nwait_timeout (number 6) is not exported from dependent module /unix.
  • symptom: 0509-136 Symbol aio_nwait_timeout64 (number 7) is not exported from dependent module /unix.
  • symptom: 0509-026 System error: Error 0
  • symptom: 0509-192 Examine .loader section symbols with the 'dump -Tv' command.
  • symptom: Dependent module libc.a(aio_64.o) could not be loaded
  • change: Filesystem mode changed from JFS2 to JFS
  • cause: Asynchronous I/O has not been configured or started on the system.

fix: Make Asynchronous I/O available on system, following the next steps to set it up: 1. Log in as root 2. Type: mkdev -l aio0 This command attempts to verify that Asynchronous I/O services are running (available on system), if not, they are started. 3. To ensure it is configured at each system restart : a. Type: smit aio b. Select the menu item "Change/Show Characteristics of Asynchronous I/O" c. Change the field "STATE to be configured at system restart" from DEFINED to AVAILABLE. or just execute the next command and it will do the same as the previous a, b and c steps: chdev -l aio0 -a autoconfig='available' which should return the message "aio0 changed". Step 3 (either of the two ways) will toggle the state to be configured at system restart to be available, making asynchronous I/O available with each system reboot.