外部プロシージャのエラーについて
973146Nov 7 2012 — edited Nov 8 2012初めて投稿します。よろしくお願いします。
外部プロシージャで、soファイルを呼び出したいのですが、
以下のようなエラーが出てきてしまい、原因がわかりません。
ORA-06521: PL/SQL: 関数のマップ中にエラーが発生しました。
ORA-06522: /opt/app/oracle/product/11.2.0/db/lib/libHello.so: undefined symbol: libHello
ORA-06512: "スキーマ名.TEST_HELLO", 行1
ORA-06512: 行1
○環境
Linuxサーバ
Oracle11g
C言語
デフォルト構成を使用しようと思っているので、listener.oraとtnsnames.oraの設定はしておりません。
他の設定やソースは以下のとおりです。
○extproc.oraの設定
SET EXTPROC_DLLS=
SET LD_LIBRARY_PATH=/opt/app/oracle/product/11.2.0/db/lib
○ライブラリを呼び出すプロシージャ
CREATE OR REPLACE PROCEDURE スキーマ名.TEST_HELLO
IS LANGUAGE C
NAME "libHello"
LIBRARY HELLOLIB;
○ライブラリ
CREATE OR REPLACE LIBRARY スキーマ名.HELLOLIB
AS '$ORACLE_HOME/lib/libHello.so'
/
○libHelloの内容
int hello()
{
return 0;
}
ORACLE_HOMEは、「/opt/app/oracle/product/11.2.0/db」です。
必要情報の過不足があればご指摘ください。
linuxもC言語も初心者なのですが、必要に迫られてトライしているところです。。。
アドバイス等いただけましたら、幸いです。
よろしくお願いします。