Hitachi

DABroker


3.11.2 AIXの場合

AIX使用時の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

    • 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

  2. 提供サンプルメイクファイルの修正

    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"

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

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

  5. DABrokerの再セットアップ

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