3.11.3 Red Hat Linuxの場合
- 〈この項の構成〉
(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
-
Oracle 10g R10.1.0またはR10.2.0を使用している場合
mv libdaO7101.a libdaO7101.a_bk
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
mv libdaO7111a libdaO7111.a_bk
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 10g R10.1.0またはR10.2.0を使用している場合
mv libdaO8101.a libdaO8101.a_bk
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
mv libdaO8111.a libdaO8111.a_bk
-
-
提供サンプルメイクファイルの修正
DABrokerでは,表3-16〜19に示すORACLEアクセスライブラリのサンプルメイクファイルを提供しています。使用している環境に合わせて,修正して使用してください。
なお,表中の番号は,次の内容を示しています。
- 1:DABrokerのアクセスライブラリ名称
-
修正しないでください。
- 2:DABroker共用ライブラリ
-
修正しないでください。
- 3:ORACLEクライアントライブラリ,およびOS提供ライブラリ
-
DABrokerのORACLEアクセスライブラリは,ORACLEのOCIプログラムです。ORACLEのマニュアルを参照し,OCIプログラム作成時に必要なORACLEクライアントライブラリ,およびOS提供ライブラリを確認の上,使用している環境に合わせて修正してください。
- 4:DABroker共用オブジェクトファイル
-
修正しないでください。
- 5:リンケージパラメタ
-
修正しないでください。
-
Oracle 10g R10.1.0またはR10.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake7101
表3‒16 Oracle 10g R10.1.0またはR10.2.0サンプルメイクファイル 番号
定義文
1
PROGRAM = libdaO7101.so
2
LIBS = -L $(DABDIR)/lib -ldacommon
3
ORALIB =-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -lclntsh
3
LDFLAGS = -ldl -lnsl -lpthread -G
4
OBJS = $(DABDIR)/obj/dacdcntl.o $(DABDIR)/obj/daO7101.a
5
all: $(PROGRAM)
5
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM) $(OBJS) $(LIBS) $(ORALIB) $(LDFLAGS)
echo "done"
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake7111
表3‒17 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル 番号
定義文
1
PROGRAM = libdaO7111.so
2
LIBS = -L $(DABDIR)/lib -ldacommon
3
ORALIB = -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -lclntsh
3
LDFLAGS = -ldl -lnsl -lpthread -G
4
OBJS = $(DABDIR)/obj/dacdcntl.o $(DABDIR)/obj/daO7111.a
5
all: $(PROGRAM)
5
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM) $(OBJS) $(LIBS) $(ORALIB) $(LDFLAGS)
echo "done"
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 10g R10.1.0またはR10.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake8101
表3‒18 Oracle 10g R10.1.0またはR10.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別にOracle8iを指定時) 番号
定義文
1
PROGRAM = libdaO8101.so
2
LIBS = -L $(DABDIR)/lib -ldacommon
3
ORALIB = -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -lclntsh
3
LDFLAGS = -ldl -lnsl -lpthread -G
4
OBJS = $(DABDIR)/obj/dacd8101.o $(DABDIR)/obj/daO8101.a
5
all: $(PROGRAM)
5
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM) $(OBJS) $(LIBS) $(ORALIB) $(LDFLAGS)
echo "done"
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
ファイル名:/opt/DABroker/sample/oramake8111
表3‒19 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別にOracle8iを指定時) 番号
定義文
1
PROGRAM = libdaO8111.so
2
LIBS = -L $(DABDIR)/lib -ldacommon
3
ORALIB = -L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -lclntsh
3
LDFLAGS = -ldl -lnsl -lpthread -G
4
OBJS = $(DABDIR)/obj/dacd8111.o $(DABDIR)/obj/daO8111.a
5
all: $(PROGRAM)
5
$(PROGRAM): $(OBJS)
echo "Linking $(PROGRAM) ..."
ld -o $(PROGRAM) $(OBJS) $(LIBS) $(ORALIB) $(LDFLAGS)
echo "done"
-
DABroker ORACLEアクセスライブラリの再作成
サンプルメイクファイルを修正後,次の環境変数を入力し,makeコマンドを実行してください。
- (メイクファイル実行手順 Bシェルを使用の場合)
-
ORACLE_HOME=ORACLE HOMEディレクトリ
export ORACLE_HOME
DABDIR = /opt/DABroker
export DABDIR
-
Oracle 10g R10.1.0またはR10.2.0を使用している場合
make -f Oramake7101(修正後のメイクファイルを実行する)
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
make -f Oramake7111(修正後のメイクファイルを実行する)
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 10g R10.1.0またはR10.2.0を使用している場合
make -f Oramake8101(修正後のメイクファイルを実行する)
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合
make -f Oramake8111(修正後のメイクファイルを実行する)
-
再作成のORACLEアクセスライブラリをDABrokerのライブラリ格納用ディレクトリにコピーする
makeコマンドを実行したディレクトリ環境下で再作成した,ORACLEアクセスライブラリを次のようにコピーしてください。
再作成したORACLEアクセスライブラリは,makeコマンドを実行したカレントディレクトリに作成されます。
-
Oracle 10g R10.1.0またはR10.2.0を使用している場合
cp libdaO7101.sl /opt/DABroker/lib/libdaO7101.sl
-
Oracle 11g R11.1.0またはR11.2.0を使用している場合
cp libdaO7111.sl /opt/DABroker/lib/libdaO7111.sl
-
DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 10g R10.1.0またはR10.2.0を使用している場合
cp libdaO8101.sl /opt/DABroker/lib/libdaO8101.sl
-
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のセットアップコマンドを実行してください。