Hitachi

DABroker


3.11.1 HP-UXの場合

HP-UX使用時のORACLEアクセスライブラリ再作成方法について説明します。

〈この項の構成〉

(1) 適用範囲

ORACLEアクセスライブラリを作成する機能は,次の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に戻してから実行してください。

  1. DABroker既存ライブラリのバックアップ

    DABrokerの既存ライブラリのバックアップを次のように取得してください。

    cd /opt/DABroker/lib

    • 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. 提供サンプルメイクファイルの修正

    DABrokerでは,表3-8〜11に示す,各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‒8 Oracle 10g R10.1.0またはR10.2.0サンプルメイクファイル

      番号

      定義文

      1

      PROGRAM = libdaO7101.sl

      2

      LIBS    = -L /opt/DABroker/lib -ldacommon

      3

      LIBS1    = -l:libcl.sl -lpthread

      3

      ORALIB   = -L $(ORACLE_HOME)/lib -l:libclntsh.sl

      3

      LDFLAGS  = -b +s

      4

      OBJS    = $(DABDIR)/obj/dacdcntl.o $(DABDIR)/obj/daO7101.a

      5

      all:      $(PROGRAM)

      5

      $(PROGRAM): $(OBJS)

      echo "Linking $(PROGRAM) ..."

      $(LD) -o $(PROGRAM) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) ¥

      $(ORALIB)

      echo "done

    • Oracle 11g R11.1.0またはR11.2.0を使用している場合

      ファイル名:/opt/DABroker/sample/oramake7111

      表3‒9 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル

      番号

      定義文

      1

      PROGRAM = libdaO7111.sl

      2

      LIBS    = -L /opt/DABroker/lib -ldacommon

      3

      LIBS1    = -l:libcl.sl -lpthread

      3

      ORALIB   = -L $(ORACLE_HOME)/lib -l:libclntsh.sl

      3

      LDFLAGS  = -b +s

      4

      OBJS    = $(DABDIR)/obj/dacdcntl.o $(DABDIR)/obj/daO7111.a

      5

      all:      $(PROGRAM)

      5

      $(PROGRAM): $(OBJS)

      echo "Linking $(PROGRAM) ..."

      $(LD) -o $(PROGRAM) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) ¥

      $(ORALIB)

      echo "done"

    • DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 10g R10.1.0またはR10.2.0を使用している場合

      ファイル名:/opt/DABroker/sample/oramake8101

      表3‒10 Oracle 10g R10.1.0またはR10.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別にOracle8iを指定時)

      番号

      定義文

      1

      PROGRAM = libdaO8101.sl

      2

      LIBS    = -L /opt/DABroker/lib -ldacommon

      3

      LIBS1    = -l:libcl.sl -lpthread

      3

      ORALIB   = -L $(ORACLE_HOME)/lib -l:libclntsh.sl

      3

      LDFLAGS  = -b +s

      4

      OBJS    = $(DABDIR)/obj/dacd8101.o $(DABDIR)/obj/daO8101.a

      5

      all:      $(PROGRAM)

      5

      $(PROGRAM): $(OBJS)

      echo "Linking $(PROGRAM) ..."

      $(LD) -o $(PROGRAM) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) ¥

      $(ORALIB)

      echo "done"

    • DABroker for Javaのデータベース種別にOracle8iを指定して,Oracle 11g R11.1.0またはR11.2.0を使用している場合

      ファイル名:/opt/DABroker/sample/oramake8111

      表3‒11 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別にOracle8iを指定時)

      番号

      定義文

      1

      PROGRAM = libdaO8111.sl

      2

      LIBS    = -L /opt/DABroker/lib -ldacommon

      3

      LIBS1   = -l:libcl.sl -lpthread

      3

      ORALIB  = -L $(ORACLE_HOME)/lib -l:libclntsh.sl

      3

      LDFLAGS  = -b +s

      4

      OBJS    = $(DABDIR)/obj/dacd8111.o $(DABDIR)/obj/daO8111.a

      5

      all:      $(PROGRAM)

      5

      $(PROGRAM): $(OBJS)

      echo "Linking $(PROGRAM) ..."

      $(LD) -o $(PROGRAM) $(OBJS) $(LIBS) $(LIBS1) $(LDFLAGS) ¥

      $(ORALIB)

      echo "done"

  3. 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(修正後のメイクファイルを実行する)

  4. 再作成後の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

  5. DABrokerの再セットアップ

    作成したORACLEアクセスライブラリを/opt/DABroker/libにコピーした後,再度,DABrokerのセットアップコマンドを実行してください。