exec(): 0509-036 Cannot load program sqlplus



$sqlplus -v

exec(): 0509-036 Cannot load program sqlplus because of the following errors:

        0509-130 Symbol resolution failed for /usr/lib/libc.a[aio_64.o] because:

        0509-136   Symbol kaio_rdwr64 (number 1) is not exported from

                   dependent module /unix.
$sudo ./rootpre.sh

+ sudo ./rootpre.sh

Required file ./pw-syscall32 is missing.

Aborting pre-installation procedure. Installations of Oracle may fail.


Oracle binary copied from one to another server having same configuration for server migration as well as upgrade.

Newly copied Oracle 9i binary has been relinked. 

Post which above errors observed


Solution for Error 1 was to either check AIX asynchronous setting at kernal
Or to re-run rootpre.sh

Execution of rootpre.sh was attempted which is available in oracle9i installation setup has thrown Error 2


1. aio setting

lsattr -El aio0
To check if Asynchronous I/O is mark as "AVAILABLE" on server, follow the steps to set it up:

i. Log in as root

ii. Type:

 mkdev -l aio0

This command attempts to verify that Asynchronous I/O services are running (available on system), if not, they are started.

iii. To ensure it is configured at each system restart :


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.

Execute the below 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 iii (either of the two ways) will toggle the state to be configured 

May need a server restart

iv.  verify:

$lsattr -El aio0autoconfig available STATE to be configured at system restart True
fastpath   enable    State of fast path                       True
kprocprio  39        Server PRIORITY                          True
maxreqs    4096      Maximum number of REQUESTS               True
maxservers 30        MAXIMUM number of servers per cpu        True
minservers 10        MINIMUM number of servers                True
2. rootpre.sh

As a solution to Error 1 you can execute rootpre.sh available in 9i installable media/setup

You may receive "pw-syscall32 is missing" error which can be fixed by downloading below patch which contains rootpre.sh along with missing pw-syscall files for 32 & 64 bit

Also this patch can be useful if you are unable to locate rootpre.sh , which is required in most of the patching/upgrades of oracle9i as a per-requisites


$unzip p2896876_8174_AIX.zip
Archive:  p2896876_8174_AIX.zip
  inflating: README.txt
  inflating: loadext
  inflating: pw-syscall
  inflating: pw-syscall32
  inflating: pw-syscall64
  inflating: rootpre.sh

$sudo ./rootpre.sh
./rootpre.sh output will be logged in ./rootpre.out_13-06-25.14:01:18
Saving the original files in /etc/ora_save_13-06-25.14:01:18....
Copying new kernel extension to /etc....
Loading the kernel extension from /etc

 Oracle Kernel Extension Loader for AIX
       Copyright (c) 1998,1999 Oracle Corporation

 Successfully loaded /etc/pw-syscall.64bit_kernel with kmid: 0x3f3d100
 Successfully configured /etc/pw-syscall.64bit_kernel with kmid: 0x3f3d100
The kernel extension was successfuly loaded.

Configuring Asynchronous I/O....
Asynchronous I/O is already defined
Setting autoconfig to available for aio0
chdev: 0514-518 Cannot access the CuDv object class in the device
        configuration database.
Configuring POSIX Asynchronous I/O....
mkdev: 0514-518 Cannot access the CuDv object class in the device
        configuration database.
chdev: 0514-518 Cannot access the CuDv object class in the device
        configuration database.

Checking if group services should be configured....
Nothing to configure.

$sqlplus -v

SQL*Plus: Release - Production

No comments:

Post a Comment