Skip to Main Content

SQL & PL/SQL

ORA-06520/ORA-06522 Error loading library/only ET_DYN and ET_EXEC

716107May 23 2011 — edited May 25 2011
Hi Everyone,

I'm trying to setup a trigger to run a shell script on my oracle server and I'm receiving the following errors:

ORA-06520: PL/SQL: Error loading external library
ORA-06522: /opt/oracle/vbl/shell.so: only ET_DYN and ET_EXEC can be loaded

I've tried googling ET_DYN and ET_EXEC but I can't find anything useful that makes sense.

My c code: (shell.c)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void sh(char *);

void sh( char *cmd ) {
int num;
num = system(cmd);
}

Was compiled into .o and .so files.

Google says to check 'nm' but I don't really know what I'm looking for:
nm -g shell.so
0000000000000000 T sh
U system

I've been using this as a roughish guide:
http://www.hoekstra.co.uk/index.php/software-mainmenu-36/oracle-mainmenu-54/13-how-to-build-and-install-oracle-external-procedures.html?showall=1

I'm very confused about where to go from here... advice greatly appreciated!

Thanks :-)
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 22 2011
Added on May 23 2011
1 comment
1,436 views