3.11.2 AIXの場合
AIX使用時のORACLEアクセスライブラリ再作成方法について説明します。
- 〈この項の構成〉
(1) 適用範囲
ORACLEアクセスライブラリを作成する機能は,次のORACLEシステムを運用している場合に適用してください。
-
DABrokerを動作させたとき,次のメッセージでORACLEの関数名,またはライブラリ名が出力された場合
- DABroker出力メッセージ
-
KFDB005MM-Eシステムコールでエラーが発生しました。
[dlopen(/opt/DABroker/lib/libdaO7101.sl※) errno=ld.sl.1:
重大なエラー:再配置エラー:ファイル /opt/DABroker/lib/libdaO7101.sl※:
シンボル(ORACLE の関数):参照されたシンボルがありません]
- 注※
-
-
Oracle10g R10.1.0またはR10.2.0を使用している場合:libdaO7101.slと表示されます。
-
Oracle11g R11.1.0またはR11.2.0を使用している場合:libdaO7111.slと表示されます。
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle10g R10.1.0またはR10.2.0を使用している場合:libdaO8101.slと表示されます。
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle11g R11.1.0またはR11.2.0を使用している場合:libdaO8111.slと表示されます。
-
(2) ORACLEアクセスライブラリ再作成の手順
ORACLEアクセスライブラリを再作成する手順を次に説明します。
次の手順は,必ず,運用ディレクトリが/opt/DABrokerの環境で実行してください。
DABrokerの運用ディレクトリを/opt/DABroker以外に設定している場合は,いったん,DABrokerのセットアップコマンドで運用ディレクトリを/opt/DABrokerに戻してから実行してください。
-
DABroker既存ライブラリのバックアップ
DABrokerの既存ライブラリのバックアップを次のように取得してください。
cd /opt/DABroker/lib
-
Oracle8i R8.1.7を使用している場合
mv libdaO7817.a libdaO7817.a_bk
-
Oracle9i R9.2.0を使用している場合
mv libdaO7920.a libdaO7920.a_bk
-
Oracle10g R10.1.0またはR10.2.0を使用している場合
mv libdaO7101.a libdaO7101.a_bk
-
Oracle11g R11.1.0またはR11.2.0を使用している場合
mv libdaO7111.a libdaO7111.a_bk
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle8i R8.1.7を使用している場合
mv libdaO8817.a libdaO8817.a_bk
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle9i R9.2.0を使用している場合
mv libdaO8920.a libdaO8920.a_bk
-
DABrokerのデータベース種別にORACLE8iを指定して,Oracle10g R10.1.0またはR10.2.0を使用している場合
mv libdaO8101.a libdaO8101.a_bk
-
DABrokerのデータベース種別にORACLE8iを指定して,Oracle11g R11.1.0またはR11.2.0を使用している場合
mv libdaO8111.a libdaO8111.a_bk
-
-
提供サンプルメイクファイルの修正
DABrokerでは,表3-26〜33に示す,ORACLEアクセスライブラリのサンプルメイクファイルを提供しています。使用している環境に合わせて,修正して使用してください。
なお,表中の番号は,次の内容を示しています。
- 1:DABrokerアクセスライブラリ名称
-
修正しないでください。
- 2:DABroker共用ライブラリ
-
修正しないでください。
- 3:ORACLEクライアントライブラリ,及びOS提供ライブラリ
-
DABrokerのORACLEアクセスライブラリは,ORACLEのOCIプログラムです。ORACLEのマニュアルを参照し,OCIプログラム作成時に必要なORACLEクライアントライブラリ,及びOS提供ライブラリを確認の上,使用している環境に合わせて修正してください。
- 4:DABroker共用オブジェクトファイル
-
修正しないでください。
- 5:リンケージパラメタ
-
修正しないでください。
-
Oracle8i R8.1.7を使用している場合
ファイル名:/opt/DABroker/sample/oramake7817
表3‒26 Oracle8i R8.1.7サンプルメイクファイル 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO7817.a
PROGRAM1 = libdaO7817.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacdcntl.o \
/opt/DABroker/obj/daO7817.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
Oracle9i R9.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake7920
表3‒27 Oracle9i R9.2.0サンプルメイクファイル 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO7920.a
PROGRAM1 = libdaO7920.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacdcntl.o \
/opt/DABroker/obj/daO7920.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
Oracle 10g R10.1.0またはR10.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake7101
表3‒28 Oracle 10gサンプルメイクファイル 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO7101.a
PROGRAM1 = libdaO7101.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacdcntl.o \
/opt/DABroker/obj/daO7101.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake7111
表3‒29 Oracle 11gサンプルメイクファイル 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO8111.a
PROGRAM1 = libdaO8111.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacd8111.o \
/opt/DABroker/obj/daO8111.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
DABroker for Java のデータベース種別にOracle8i を指定して,Oracle8i R8.1.7を使用している場合
ファイル名:/opt/DABroker/sample/oramake8817
表3‒30 Oracle8i R8.1.7サンプルメイクファイル(DABroker for Javaのデータベース種別でOracle8i指定時) 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO8817.a
PROGRAM1 = libdaO8817.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib32 -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacd8817.o \
/opt/DABroker/obj/daO8817.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
DABroker for Java のデータベース種別にOracle9i を指定して,Oracle9i R9.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake8920
表3‒31 Oracle9i R9.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別でOracle8i指定時) 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO8920.a
PROGRAM1 = libdaO8920.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib32 -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacd8920.o \
/opt/DABroker/obj/daO8920.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
DABrokerのデータベース種別にORACLE8iを指定して,Oracle10g R10.1.0またはR10.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake8101
表3‒32 Oracle10gサンプルメイクファイル(DABrokerのデータベース種別でORACLE8i指定時) 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO8101.a
PROGRAM1 = libdaO8101.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib32 -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacd8101.o \
/opt/DABroker/obj/daO8101.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)echo "done"
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake8111
表3‒33 Oracle 11gサンプルメイクファイル(DABroker for Java のデータベース種別にOracle8iを指定時) 番号
定義文
1
1
2
3
3
3
3
4
4
5
5
PROGRAM = libdaO8111.a
PROGRAM1 = libdaO8111.o
LIBS = -L /opt/DABroker/lib -ldacommon
LIBS1 = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall \
-bnoentry -lm -lc_r
ORALIB = -L $(ORACLE_HOME)/lib -lclntsh
LDFLAGS = -G
OBJS = /opt/DABroker/obj/dacd8111.o \
/opt/DABroker/obj/daO8111.a
all: $(PROGRAM)
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM1) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) \
$(ORALIB)
ar rv $(PROGRAM) $(PROGRAM1)
rm -f $(PROGRAM1)
echo "done"
-
DABroker ORACLEアクセスライブラリの再作成
サンプルメイクファイルを修正後,次の環境変数を入力し,makeコマンドを実行してください。
(メイクファイル実行手順 Bシェルを使用の場合)
ORACLE_HOME=ORACLE HOMEディレクトリ
export ORACLE_HOME
DABDIR=/opt/DABroker
export DABDIR
-
Oracle8i R8.1.7を使用している場合
make -f oramake7817(修正後のメイクファイルを実行する)
-
Oracle9i R9.2.0を使用している場合
make -f oramake7920(修正後のメイクファイルを実行する)
-
Oracle10g R10.1.0またはR10.2.0を使用している場合
make -f oramake7101(修正後のメイクファイルを実行する)
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
make -f Oramake7111(修正後のメイクファイルを実行する)
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle8i R8.1.7を使用している場合
make -f orameke8817(修正後のメイクファイルを実行する)
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle9i R9.2.0を使用している場合
make -f orameke8920(修正後のメイクファイルを実行する)
-
DABrokerのデータベース種別にORACLE8iを指定して,Oracle10g R10.1.0またはR10.2.0を使用している場合
make -f orameke8101(修正後のメイクファイルを実行する)
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
make -f Oramake8111(修正後のメイクファイルを実行する)
-
-
再作成後のORACLEアクセスライブラリをDABrokerのライブラリ格納用ディレクトリにコピーする
makeコマンドを実行したディレクトリ環境下で再作成したORACLEアクセスライブラリを次のようにコピーしてください。
再作成したORACLEアクセスライブラリは,makeコマンドを実行したカレントディレクトリに作成されます。
-
Oracle8i R8.1.7を使用している場合
cp libdaO7817.a /opt/DABroker/lib/libdaO7817.a
-
Oracle9i R9.2.0を使用している場合
cp libdaO7920.a /opt/DABroker/lib/libdaO7920.a
-
Oracle10g R10.1.0またはR10.2.0を使用している場合
cp libdaO7101.a /opt/DABroker/lib/libdaO7101.a
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
cp libdaO7111.sl /opt/DABroker/lib/libdaO7111.sl
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle8i R8.1.7を使用している場合
cp libdaO8817.a /opt/DABroker/lib/libdaO8817.a
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle9i R9.2.0を使用している場合
cp libdaO8920.a /opt/DABroker/lib/libdaO8920.a
-
DABrokerのデータベース種別にORACLE8iを指定して,Oracle10g R10.1.0またはR10.2.0を使用している場合
cp libdaO8101.a /opt/DABroker/lib/libdaO8101.a
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
cp libdaO8111.sl /opt/DABroker/lib/libdaO8111.sl
-
-
DABrokerの再セットアップ
作成したORACLEアクセスライブラリを/opt/DABroker/libにコピーした後,再度,DABrokerのセットアップコマンドを実行してください。