ページの先頭行へ戻る
Linkexpress Transactional Replication option V5.0L60 説明書
FUJITSU Software

12.3.2 Oracleの初期設定

Oracleデータベースの初期設定について説明します。

12.3.2.1 環境変数の設定

Oracleデータベースを起動するためには環境変数を設定する必要があります。必要な環境変数はデータベースの環境によって異なりますが、代表的なものには以下があります。


Oracleデータベースを使用する際に必要な環境変数についての詳細はOracleのマニュアルを参照してください。また、設定する値はOracleデータベースの管理者に確認してください。


レジストリ・パラメタと環境変数の設定を両方とも行った場合、環境変数に設定した値が優先されます。Oracleデータベースを使用する際に必要な環境変数およびレジストリ・パラメタについての詳細はOracleのマニュアルを参照してください。また、設定する値はOracleデータベースの管理者に確認してください。

また、Oracle Netのリスナーを起動する際に必要な環境変数があります。Oracle Netのリスナーを起動する際に必要な環境変数を"表12.2 Oracle Netのリスナーを起動する際に必要な環境変数"に示します。

表12.2 Oracle Netのリスナーを起動する際に必要な環境変数

環境変数名

PATH

インストールフォルダ\TJNL\bin

インストールフォルダ\TRM\bin

%ORACLE_HOME%\bin(注)
例)c:\oracle\product\11.2.0\bin

注)環境変数ORACLE_HOMEはOracleソフトウェアが存在するフォルダです。

12.3.2.2 Oracleの外部プロシージャ・エージェント(extproc)の設定

TJNLはOracleデータベースの更新データをジャーナルとして取得する際に、データベース・トリガー機能と外部プロシージャ(外部ルーチン)機能を使用します。TJNLの外部プロシージャ・エージェント(extproc)専用のプロセスを起動するため、設定を追加する必要があります。以下のようにOSやOracleデータベースのバージョンの組合せによって、設定手順が異なります。

表12.3 OSとOracleデータベースのバージョンの組合せと必要な設定

OS

Oracle

設定

Solarisサーバ

"Oracleのネットワーク・コンポーネントの設定"を実施してください。
"Oracleの設定ファイルの設定"は不要です。

Windowsサーバ

Oracle10g以前

"Oracleのネットワーク・コンポーネントの設定"を実施してください。
"Oracleの設定ファイルの設定"は不要です。

Oracle11g以降

"Oracleの設定ファイルの設定"を実施してください。
"Oracleのネットワーク・コンポーネントの設定"は不要です。

Linuxサーバ

"Oracleの設定ファイルの設定"を実施してください。
"Oracleのネットワーク・コンポーネントの設定"は不要です。

外部プロシージャ、ローカル・ネーミング・パラメータ、リスナー・パラメータおよび設定ファイルの詳細はOracleのマニュアルを参照してください。




Oracleのネットワーク・コンポーネントの設定

SolarisサーバのシステムまたはWindowsサーバでOracle10g以前のシステムの場合は設定してください。その他のシステムの場合は設定不要です。
以下の手順で設定してください。

1)ローカル・ネーミング・パラメータ(tnsnames.ora)の設定

tnsnames.oraファイルの設定例を"表12.4 tnsnames.oraファイルの設定例"に示します。Database Configuration Assistantを使用して、データベース作成した場合には、Oracleによって以下の内容が自動的に設定されています。tnsnames.oraファイルを参照し、記述がない場合のみ追加を行ってください。また、斜体で記述されている箇所は使用するデータベースの環境に合わせて設定されていることを確認してください。

tnsnames.oraファイルの格納場所は以下のとおりです。


------------------------------------------------
$ORACLE_HOME/network/admin/tnsnames.ora
------------------------------------------------


------------------------------------------------
%ORACLE_HOME%\network\admin\tnsnames.ora
------------------------------------------------

表12.4 tnsnames.oraファイルの設定例
#ここから外部プロシージャのための設定
EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
#ここまで外部プロシージャのための設定

Oracleインスタンス名 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = グローバル・データベース名)
    )
  )

指定するKEYはlistener.oraファイルで指定するKEYと一致させる必要があります。また、指定するSIDはlistener.oraファイルのSID_NAMEエントリと一致させる必要があります。


2)リスナー・パラメータ(listener.ora)の設定

listener.oraファイルの設定例を"表12.5 listener.oraファイルの設定例"に示します。通常はデータベース作成時にOracleによっていくつかの項目が自動的に設定されています。listener.oraファイルを参照し、記述がない項目のみ追加を行ってください。また、斜体で記述されている箇所は使用するデータベースの環境に合わせて設定されていることを確認してください。

listener.oraファイルの格納場所は以下のとおりです。


------------------------------------------------
$ORACLE_HOME/network/admin/listener.ora
------------------------------------------------


------------------------------------------------
%ORACLE_HOME%\network\admin\listener.ora
------------------------------------------------

表12.5 listener.oraファイルの設定例

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
      )
      #ここから外部プロシージャのための設定
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      #ここまで外部プロシージャのための設定
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = グローバル・データベース名)
      (ORACLE_HOME = $ORACLE_HOME)  (注)
      (SID_NAME = Oracleインスタンス名)
    )
#ここから外部プロシージャのための設定
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = $ORACLE_HOME)  (注)
      (PROGRAM = extproc)
      (ENVS="EXTPROC_DLLS=/opt/FJSVtjnl/lib/libtjnltrg.so,
LD_LIBRARY_PATH=/opt/FJSVtjnl/lib:/opt/FJSVtrm/lib:$ORACLE_HOME/lib")
) #ここまで外部プロシージャのための設定 )

注)環境変数ORACLE_HOMEにはOracleソフトウェアが存在するディレクトリを指定します。


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
      ) 
      #ここから外部プロシージャのための設定
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
      )
      #ここまで外部プロシージャのための設定
    )
  )

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = Oracleインスタンス名)
      (SERVICE_NAME = グローバル・データベース名)
      (ORACLE_HOME = %ORACLE_HOME%)  (注)
    )
    #ここから外部プロシージャのための設定
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = %ORACLE_HOME%)  (注)
      (PROGRAM = extproc)
      (ENVS="EXTPROC_DLLS=C:\LinkexpressTRO\TJNL\bin\libtjnltrg.dll")
) #ここまで外部プロシージャのための設定 )

注)環境変数ORACLE_HOMEにはOracleソフトウェアが存在するフォルダを指定します。

リスナー・パラメータの設定項目について


PROGRAMセクションには外部プロシージャ・エージェントを設定します。なお、インストールされているOracleソフトウェアのバージョンによりPROGRAMセクションに設定するエントリが異なります。インストールされているOracleソフトウェアはOracleデータベースの管理者に確認してください。PROGRAMセクションに設定するエントリを"表12.6 PROGRAMセクションに設定するエントリ"に示します。

表12.6 PROGRAMセクションに設定するエントリ

[Oracle11gR1以前]
(PROGRAM=extproc32)

[Oracle11gR2以降]
例) (PROGRAM=/opt/oracle/product/11.2.0_Client/bin/extproc) (注)

注)Oracle11gR2以降を使用する場合は、32ビット・バージョンのOracle Database Clientを別途インストールし、インストールしたextprocを指定します。


ENVSセクションには外部プロシージャのエントリ・プロセスが動作するために必要な環境変数を設定します。なお、インストールされているOracleソフトウェアのバージョンにより環境変数の設定値が異なります。インストールされているOracleソフトウェアはOracleデータベースの管理者に確認してください。ENVSセクションに設定する環境変数の一覧を"表12.7 ENVSセクションに設定する環境変数の一覧"に示します。

表12.7 ENVSセクションに設定する環境変数の一覧

環境変数名

EXTPROC_DLLS

/opt/FJSVtjnl/lib/libtjnltrg.so

LD_LIBRARY_PATH

/opt/FJSVtjnl/lib

/opt/FJSVtrm/lib

[Oracle11gR1以前]
$ORACLE_HOME/lib32(注)
例)/opt/oracle/product/11.1.0/lib32

[Oracle11gR2以降]
例)/opt/oracle/product/11.2.0_Client/lib(注)

注)環境変数ORACLE_HOMEはOracleソフトウェアが存在するディレクトリを指定します。
   Oracle11gR2以降を使用する場合は、32ビット・バージョンのOracle Database Clientを別途インストールし、インストールしたlibを指定します。



ENVSセクションに以下の環境変数を設定する必要があります。ENVSセクションに設定する環境変数の一覧を"表12.8 ENVSセクションに設定する環境変数の一覧"に示します。

表12.8 ENVSセクションに設定する環境変数の一覧

環境変数名

EXTPROC_DLLS

インストールフォルダ\TJNL\bin\libtjnltrg.dll




Oracleの設定ファイルの設定

WindowsサーバでOracle11g以降のシステムまたはLinuxサーバのシステムの場合は設定してください。その他のシステムの場合は設定不要です。
以下の手順で設定してください。

1)Oracleのネットワーク・コンポーネントの設定

Oracle10g以前からOracle11g以降へ入れ替える時は、"Oracleのネットワーク・コンポーネントの設定"を実施しているか確認し、設定している場合は元に戻してください。


2)Oracle設定ファイル(extproc.ora)または環境変数EXTPROC_DLLSの設定

Oracle設定ファイル(extproc.ora)または環境変数EXTPROC_DLLSを設定してください。

Oracle設定ファイル(extproc.ora)の設定

extproc.oraファイルの設定例を"表12.9 extproc.oraファイルの設定例"に示します。extproc.oraファイルを参照し、追加を行ってください。

extproc.oraファイルの格納場所は以下のとおりです。


------------------------------------------------
%ORACLE_HOME%\hs\admin\extproc.ora
------------------------------------------------


------------------------------------------------
$ORACLE_HOME/hs/admin/extproc.ora
------------------------------------------------

表12.9 extproc.oraファイルの設定例
# 
# extproc.ora is used by extproc in the default Oracle configuration.
#
# This is a sample extproc init file that contains a name-value(s) pair which
# is same as the value of ENVS parameter in listener.ora file.
#
# Syntax: SET name=value (environment variable name and value)
# 
# When specifying the EXTPROC_DLLS environment variable to restrict the DLLs 
# that extproc is allowed to load, you may set EXTPROC_DLLS to one of the 
# following values:
# 
# * ONLY (maximum security) 
#
#   When EXTPROC_DLLS=ONLY:DLL[:DLL], only the specified DLL(s)
# 
#   Syntax: SET EXTPROC_DLLS=ONLY:DLL[:DLL]
#
# * NULL (the default value)
#
#   When EXTPROC_DLLS=, only the DLL(s) in $ORACLE_HOME/bin and
#   can be loaded.
#
#   Syntax: SET EXTPROC_DLLS=
#
# * Colon-seperated list of the DLLs
#
#   When EXTPROC_DLLS=DLL[:DLL], the specified DLL(s) and the DLLs in 
#   $ORACLE_HOME/bin and ORACLE_HOME/lib can be loaded.
# 
#   Syntax: SET EXTPROC_DLLS=DLL:DLL
#
# * ANY 
#   When EXTPROC_DLLS=ANY, DLL checking is disabled.
# 
#   Syntax: SET EXTPROC_DLLS=ANY
#
#ここから外部プロシージャのための設定

SET EXTPROC_DLLS="C:\\LinkexpressTRO\\TJNL\\bin\\libtjnltrg.dll"

SET EXTPROC_DLLS="/opt/FJSVtjnl/lib/libtjnltrg.so"
#ここまで外部プロシージャのための設定
表12.10 環境変数EXTPROC_DLLS の設定

環境変数名

EXTPROC_DLLS


インストールフォルダ\TJNL\bin\libtjnltrg.dll


インストールディレクトリ/FJSVtjnl/lib/libtjnltrg.so




12.3.2.3 Oracleデータベース起動ユーザの所属グループの設定

TJNLで使用する外部プロシージャ(外部ルーチン)機能がTRMの資源にアクセスするために、Oracleデータベースを起動するユーザはTRM利用者グループに所属している必要があります。

以下の例では、Oracleインストールグループが"oinstall"、OracleのDBA権限のグループが"dba"、TRM利用者グループが"TRMUSER"または"sys"、Oracleデータベース起動ユーザが"oracle"となっています。

TRM利用者グループ(TRMUSER)の所属を追加する場合


------------------------------------------------
usermod -g oinstall -G dba,TRMUSER oracle
------------------------------------------------

Windowsサーバの場合は、Oracleサービスを起動するアカウントにTRM利用者グループを追加します。
TRM利用者グループについての詳細は"17.1.3 TRM利用者グループの作成"を参照してください。

TRM利用者グループを作成せずスーパーユーザで運用する場合


------------------------------------------------
usermod -g oinstall -G dba,sys oracle
------------------------------------------------

Windowsサーバの場合は、追加する必要はありません。

12.3.2.4 アプリケーション実行ユーザの所属グループの設定

TJNLで使用する外部プロシージャ(外部ルーチン)機能がTRMの資源にアクセスするために、ジャーナル取得業務のアプリケーションを実行するユーザはTRM利用者グループに所属している必要があります。

Oracleインストールグループが"oinstall"、OracleのDBA権限のグループが"dba"、TRM利用者グループが"TRMUSER"、アプリケーションを実行するユーザが"apuser"の場合の例を以下に示します。

---------------------------------------------------------------------
usermod -g oinstall -G dba,TRMUSER apuser
---------------------------------------------------------------------
TRM利用者グループについての詳細は"17.1.3 TRM利用者グループの作成"を参照してください。
なお、ジャーナル取得業務のアプリケーションを実行する可能性があるユーザはすべて、TRM利用者グループに所属している必要があります。