Oracle使用時の異常とその対処方法について、以下の内容を説明します。
インダウトトランザクションの手動ロールバック機能を使用した場合
Oracleのインダウトトランザクションの手動ロールバック機能を使用して、ROLLBACK FORCEにより強制的にロールバックさせたあと、再度リソース管理プログラムを起動すると、リカバリ時に以下のエラーメッセージが表示され、未解決トランザクションが残ります。
OTS:エラー:ots9666: システムメモリまたはシステムリソースが不足しました
また、otspendlistコマンドでcommitした場合は、以下のエラーメッセージが表示されます。
OTS:エラー:ots9348: commit処理でエラーが発生しました
本現象が発生した場合、otspendlistコマンドでrollbackさせることによりインダウト状態を解除してください。
JTSとEJBを使用するデータベースを作成する場合
EJBがグローバルトランザクションを使用する場合は、データベース作成時にOracle JVMが有効となるように設定してください。データベースの設定方法については、Oracleのマニュアルを参照してください。
rollback処理時に、XAER_NOTAが発生した場合
2つのリソースに対するrollback処理時に、一方のリソースは成功し、もう一方のリソースではXAER_NOTAが発生した場合は、Oracleが正しくインストールされていない、またはデータベースが正しく作成されていない可能性があります。データベース再作成時にOracle JVMが有効となるように設定してください。
Oracleアクセス時に、メッセージが出力される場合
Oracleアクセス時に以下のメッセージが出力される場合は、OracleのSIDが複数存在するなど、ORACLE_SIDの設定に誤りがある可能性があります。ORACLE_SIDの設定を確認し、正しいORACLE_SIDを設定してください。
java.sql.Exception: ORA-12560: TNS: プロトコル・アダプタ・エラー
Oracleと連携時に、OTS用リソース管理プログラム/サーバアプリケーションの起動が遅延する場合
Oracle連携時にOTS用リソース管理プログラム/サーバアプリケーションの起動が遅延する場合は、OracleのWindows(R)認証機能の処理が遅延している可能性があります。sqlnet.oraの以下の設定をコメントアウトするなど、Windows(R)認証機能が無効となるように設定してください。
SQLNET.AUTHENTICATION_SERVICES = (NTS)
なお、Windows(R)認証機能を使用する場合は、「NetBIOS over TCP/IP」を無効にすることで起動性能が改善されることがあります。