3.11.2 AIXの場合

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

<この項の構成>
(1) 適用範囲
(2) 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を使用している場合
      mv libdaO7101.a  libdaO7101.a_bk
    • Oracle11g R11.1.0またはR11.2.0を使用している場合
      mv libdaO7111.a  libdaO7111.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-12~15に示す,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-12 Oracle 10g R10.1.0またはR10.2.0サンプルメイクファイル

      番号定義文
      1PROGRAM   = libdaO7101.a
      1PROGRAM1  = libdaO7101.o
      2LIBS      = -L /opt/DABroker/lib -ldacommon
      3LIBS1      = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall ¥
      3          -bnoentry -lm -lc_r
      3ORALIB    = -L $(ORACLE_HOME)/lib -lclntsh
      3LDFLAGS   = -G
      4OBJS     = /opt/DABroker/obj/dacdcntl.o ¥
      4         /opt/DABroker/obj/daO7101.a
      5all:       $(PROGRAM)
      5$(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-13 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル

      番号定義文
      1PROGRAM   = libdaO7111.a
      1PROGRAM1  = libdaO7111.o
      2LIBS      = -L /opt/DABroker/lib -ldacommon
      3LIBS1      = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall ¥
      3          -bnoentry -lm -lc_r
      3ORALIB    = -L $(ORACLE_HOME)/lib -lclntsh
      3LDFLAGS   = -G
      4OBJS     = /opt/DABroker/obj/dacdcntl.o ¥
      4         /opt/DABroker/obj/daO7111.a
      5all:       $(PROGRAM)
      5$(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 10g R10.1.0またはR10.2.0を使用している場合
      ファイル名:/opt/DABroker/sample/oramake8101

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

      番号定義文
      1PROGRAM   = libdaO8101.a
      1PROGRAM1  = libdaO8101.o
      2LIBS      = -L /opt/DABroker/lib -ldacommon
      3LIBS1      = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall ¥
      3          -bnoentry -lm -lc_r
      3ORALIB    = -L $(ORACLE_HOME)/lib -lclntsh
      3LDFLAGS   = -G
      4OBJS     = /opt/DABroker/obj/dacd8101.o ¥
      4         /opt/DABroker/obj/daO8101.a
      5all:       $(PROGRAM)
      5$(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-15 Oracle 11g R11.1.0またはR11.2.0サンプルメイクファイル(DABroker for Javaのデータベース種別にOracle8iを指定時)

      番号定義文
      1PROGRAM   = libdaO8111.a
      1PROGRAM1  = libdaO8111.o
      2LIBS      = -L /opt/DABroker/lib -ldacommon
      3LIBS1     = -lpthreads -bglink:/lib/glink.o -bM:SRE -bexpall ¥
      3          -bnoentry -lm -lc_r
      3ORALIB    = -L $(ORACLE_HOME)/lib -lclntsh
      3LDFLAGS   = -G
      4OBJS     = /opt/DABroker/obj/dacd8111.o ¥
      4         /opt/DABroker/obj/daO8111.a
      5all:       $(PROGRAM)
      5$(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
    • 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のセットアップコマンドを実行してください。