リソース管理プログラムの起動ができない場合、以下の項目を確認してください。
■データベース環境
データベースが起動されているかを確認します。
[確認方法]
sqlplusが起動できるかを確認します。
例
sqlplus usr/passwd
Oracleの状態を確認します。
例
[Oracle Enterprise Manager]内の[Instance Manager]のメニュー画面で、usr/passwdを入力します。
sqlplusが起動できるかを確認します。
例
sqlplus usr/passwd
Oracleのプロセスを確認します。
例
ps -ef | grep ora
■リソース管理プログラム作成時
スレッドモード用のリソース管理プログラムを作成する場合は、同様にスレッドモード用のXA連携用プログラムを使用しているかを確認します。また、プロセスモード用のリソース管理プログラムを作成する場合は、同様にプロセスモード用のXA連携用プログラムを使用しているかを確認します。
■リソース管理プログラム起動時
サーバアプリケーションが使用するリソースに対応するリソース定義が登録されているかを確認します。
リソース管理プログラムを起動する際に指定するリソース管理プログラムのフルパス名、およびリソース定義名が正しいかを確認します。
otsstartrscコマンドがスーパユーザで起動されているかを確認します。
■リソース定義ファイルの記述
ORACLE_SIDが正しく設定されているかを確認します。
ORACLE_HOMEが正しく設定されているかを確認します。
リソース定義ファイルにRMNAME/OPENINFO/CLOSEINFOが設定されているかを確認します。
リソース定義ファイルのOPENINFO文字列が正しく設定されているかを確認します。
CLOSEINFO文字列が「NULL」であるかを確認します。
リソース定義ファイルのOPENINFO文字列に指定されているuserに、connect権が設定されているかを確認します。
ORACLE_HOMEが正しく設定されているかを確認します。
LD_LIBRARY_PATHにOracleのライブラリパスが正しく設定されているかを確認します。
リソース定義ファイルにRMNAME/OPENINFO/CLOSEINFOが設定されているかを確認します。
リソース定義ファイルのOPENINFO文字列のユーザ名/パスワードが正しく設定されているかを確認します。
リソース定義ファイルのCLOSEINFO文字列が「NULL」であるかを確認します。
スレッドモード/プロセスモードの設定が、リソース管理プログラムの作成形態(スレッドモード/プロセスモード)と一致しているかを確認します。
参照
リソース定義ファイルの設定方法については、「4.2 リソース定義ファイルの作成」を参照してください。
■Oracleユーザの権限設定
リソース定義ファイルのOPENINFO文字列に指定されているuserが、ORACLE_SIDに対してconnect権が設定されているかを確認します。
[確認方法]
sqlplusコマンドが起動できるかを確認します。
例
sqlplus user/passwd
connect権が設定されていない場合は、以下の方法で設定してください。
Oracle管理者権限でsqlplusを起動します。
OENINFO文字列に指定されているuserに対してconnect権を設定します。
例
grant connect,resource to user;
リソース定義ファイルのOPENINFO文字列に指定されているuserが、SYS.DBA_PENDING_TRANSACTIONSビューに対してselect権が設定されているかを確認します。
[確認方法]
sqlplusコマンドを起動します。
例
sqlplus user/passwd
ビューを参照します。
例
select * from SYS.DBA_PENDING_TRANSACTIONS;
select権が設定されていない場合は、以下の方法で設定してください。
Oracle管理者権限でsqlplusを起動します。
OPENINFO文字列に指定されているuserに、SYS.DBA_PENDING_TRANSACTIONSに対するselect権を設定します。
例
grant select on SYS.DBA_PENDING_TRANSACTIONS to user;