Oracleデータベースの初期設定について説明します。
Oracleデータベースを起動するためには環境変数を設定する必要があります。必要な環境変数はデータベースの環境によって異なりますが、代表的なものには以下があります。
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
LD_LIBRARY_PATH
Oracleデータベースを使用する際に必要な環境変数についての詳細はOracleのマニュアルを参照してください。また、設定する値はOracleデータベースの管理者に確認してください。
レジストリ・パラメタと環境変数の設定を両方とも行った場合、環境変数に設定した値が優先されます。Oracleデータベースを使用する際に必要な環境変数およびレジストリ・パラメタについての詳細はOracleのマニュアルを参照してください。また、設定する値はOracleデータベースの管理者に確認してください。
また、Oracle Netのリスナーを起動する際に必要な環境変数があります。Oracle Netのリスナーを起動する際に必要な環境変数を"表12.2 Oracle Netのリスナーを起動する際に必要な環境変数"に示します。
環境変数名 | 値 |
---|---|
PATH | インストールフォルダ\TJNL\bin |
インストールフォルダ\TRM\bin | |
%ORACLE_HOME%\bin(注) |
注)環境変数ORACLE_HOMEはOracleソフトウェアが存在するフォルダです。
TJNLはOracleデータベースの更新データをジャーナルとして取得する際に、データベース・トリガー機能と外部プロシージャ(外部ルーチン)機能を使用します。TJNLの外部プロシージャ・エージェント(extproc)専用のプロセスを起動するため、設定を追加する必要があります。以下のようにOSやOracleデータベースのバージョンの組合せによって、設定手順が異なります。
OS | Oracle | 設定 |
---|---|---|
Solarisサーバ | - | "Oracleのネットワーク・コンポーネントの設定"を実施してください。 |
Windowsサーバ | Oracle10g以前 | "Oracleのネットワーク・コンポーネントの設定"を実施してください。 |
Oracle11g以降 | "Oracleの設定ファイルの設定"を実施してください。 | |
Linuxサーバ | - | "Oracleの設定ファイルの設定"を実施してください。 |
外部プロシージャ、ローカル・ネーミング・パラメータ、リスナー・パラメータおよび設定ファイルの詳細はOracleのマニュアルを参照してください。
Oracleのネットワーク・コンポーネントの設定
SolarisサーバのシステムまたはWindowsサーバでOracle10g以前のシステムの場合は設定してください。その他のシステムの場合は設定不要です。
以下の手順で設定してください。
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
------------------------------------------------
#ここから外部プロシージャのための設定 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エントリと一致させる必要があります。
listener.oraファイルの設定例を"表12.5 listener.oraファイルの設定例"に示します。通常はデータベース作成時にOracleによっていくつかの項目が自動的に設定されています。listener.oraファイルを参照し、記述がない項目のみ追加を行ってください。また、斜体で記述されている箇所は使用するデータベースの環境に合わせて設定されていることを確認してください。
listener.oraファイルの格納場所は以下のとおりです。
------------------------------------------------
$ORACLE_HOME/network/admin/listener.ora
------------------------------------------------
------------------------------------------------
%ORACLE_HOME%\network\admin\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, |
注)環境変数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セクションに設定するエントリ"に示します。
[Oracle11gR1以前] |
注)Oracle11gR2以降を使用する場合は、32ビット・バージョンのOracle Database Clientを別途インストールし、インストールしたextprocを指定します。
ENVSセクションには外部プロシージャのエントリ・プロセスが動作するために必要な環境変数を設定します。なお、インストールされているOracleソフトウェアのバージョンにより環境変数の設定値が異なります。インストールされているOracleソフトウェアはOracleデータベースの管理者に確認してください。ENVSセクションに設定する環境変数の一覧を"表12.7 ENVSセクションに設定する環境変数の一覧"に示します。
環境変数名 | 値 |
---|---|
EXTPROC_DLLS | /opt/FJSVtjnl/lib/libtjnltrg.so |
LD_LIBRARY_PATH | /opt/FJSVtjnl/lib |
/opt/FJSVtrm/lib | |
[Oracle11gR1以前] |
注)環境変数ORACLE_HOMEはOracleソフトウェアが存在するディレクトリを指定します。
Oracle11gR2以降を使用する場合は、32ビット・バージョンのOracle Database Clientを別途インストールし、インストールしたlibを指定します。
ENVSセクションに以下の環境変数を設定する必要があります。ENVSセクションに設定する環境変数の一覧を"表12.8 ENVSセクションに設定する環境変数の一覧"に示します。
環境変数名 | 値 |
---|---|
EXTPROC_DLLS | インストールフォルダ\TJNL\bin\libtjnltrg.dll |
Oracleの設定ファイルの設定
WindowsサーバでOracle11g以降のシステムまたはLinuxサーバのシステムの場合は設定してください。その他のシステムの場合は設定不要です。
以下の手順で設定してください。
Oracle10g以前からOracle11g以降へ入れ替える時は、"Oracleのネットワーク・コンポーネントの設定"を実施しているか確認し、設定している場合は元に戻してください。
Oracle設定ファイル(extproc.ora)または環境変数EXTPROC_DLLSを設定してください。
extproc.oraファイルの設定例を"表12.9 extproc.oraファイルの設定例"に示します。extproc.oraファイルを参照し、追加を行ってください。
extproc.oraファイルの格納場所は以下のとおりです。
------------------------------------------------
%ORACLE_HOME%\hs\admin\extproc.ora
------------------------------------------------
------------------------------------------------
$ORACLE_HOME/hs/admin/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" #ここまで外部プロシージャのための設定 |
環境変数名 | 値 |
---|---|
EXTPROC_DLLS |
|
|
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サーバの場合は、追加する必要はありません。
TJNLで使用する外部プロシージャ(外部ルーチン)機能がTRMの資源にアクセスするために、ジャーナル取得業務のアプリケーションを実行するユーザはTRM利用者グループに所属している必要があります。
Oracleインストールグループが"oinstall"、OracleのDBA権限のグループが"dba"、TRM利用者グループが"TRMUSER"、アプリケーションを実行するユーザが"apuser"の場合の例を以下に示します。
---------------------------------------------------------------------
usermod -g oinstall -G dba,TRMUSER apuser
---------------------------------------------------------------------
TRM利用者グループについての詳細は"17.1.3 TRM利用者グループの作成"を参照してください。
なお、ジャーナル取得業務のアプリケーションを実行する可能性があるユーザはすべて、TRM利用者グループに所属している必要があります。