Interstage Application Server トラブルシューティング集 |
目次
索引
![]() ![]() |
第11章 データベース連携サービス使用時の異常 |
Oracleを使用する場合、Oracleのインダウトトランザクションの手動ロールバック機能を使用してROLLBACK FORCEにより、強制的にロールバックさせた後、再度リソース管理プログラムを起動させると、リカバリ時に以下のエラーメッセージが表示され、未解決トランザクションが残ります。
OTS:エラー:ots9666: システムメモリまたはシステムリソースが不足しました
また、otspendlistコマンドでcommitした場合、以下のエラーメッセージが表示されます。
OTS:エラー:ots9348: commit処理でエラーが発生しました
この場合には、otspendlistコマンドによりrollbackさせることによりインダウト状態を解除してください。
行ロックを取得した後に複数の行を更新し、ロールバック処理を行った場合に、ロールバック処理は正常に終了するが行ロックが解除されない場合があります。このような現象が発生した場合には、Oracleの初期化パラメタ(init[SID].ora ファイルに cleanup_rollback_entriesを指定することで回避することが可能です。指定する値は、以下の計算式によって求めることができます。
cleanup_rollback_entries=最大更新行数 ÷ ロック解除待ち許容時間(分) |
もし、最大更新行数が1000行で、かつ、ロック解除待ち許容時間が5分の場合には、以下のように設定します(1000÷5=200の式になります)。
cleanup_rollback_entries=200 |
Oracle8.1.7をカスタムインストールした環境で、EJBがグローバルトランザクションを使用する場合には、以下に示す機能がインストールされていないと正しく動作しない可能性があります。定義などの設定が正しく行われているのに以下の事象になる場合には、本現象の可能性があります。
[対処方法]
Oracle8.1.7をインストールする場合には、必ずJServer付きのOracleデータベースを選択するようにしてください。また、Database Configuration Assistantを利用してDBを作成する場合には、JServerに必ずチェックを入れて作成するようにしてください。
すでに作成済みのデータベースの場合には、以下を実行することでJServerオプションを付加することが可能です。
ただし、この場合には初期チューニングを手動で行う必要があるため、インストーラもしくはDatabase Configuration Assistantを利用してデータベースを作成するようにしてください。
Oracle9iをカスタムインストールした環境で、EJBがグローバルトランザクションを使用する場合には、Oracle Enterprise Java Engine(Oracle EJE)が有効になるようにデータベースを構築する必要があります。
データベースの設定方法については、Oracle9iのマニュアルを参照してください。
2つのリソースに対してrollback処理を行ったときに、片方のリソースのみ成功しもう片方のリソースではXAER_NOTAが発生する場合がある。
[対処方法]
Oracleが正しくインストールされていないか、またはデータベースが正しく作成されていない可能性があります。OracleをJServerオプション付きで再インストールするか、データベースの再作成時にJServerオプションを付加するようにしてください。
Oracleにアクセスしたときに、以下のメッセージが出力される場合がある。
java.sql.Exception: ORA-12560: TNS: プロトコル・アダプタ・エラー
[対処方法]
OracleのSIDが複数ある場合など、ORACLE_SIDが正しく設定されていないために出力されます。正しいORACLE_SIDを設定する必要があります。
Patch Set Release 10.1.0.3以降を適用後、DBMS_SYSTEM パッケージに対するexecute 権限の付与されていない可能性があります。
DBMS_SYSTEM パッケージに対するexecute 権限の付与してください。
(例)
SQL> GRANT EXECUTE ON DBMS_SYSTEM TO SCOTT;
Oracleと連携する場合、OTS用リソース管理プログラム、サーバアプリケーションの起動が遅い場合がある。
[対処方法]
OracleのWindows認証機能のために処理が遅延している場合があります。sqlnet.oraにある以下の設定をコメントアウトするなどで、Windows認証機能を無効にしてください。
SQLNET.AUTHENTICATION_SERVICES = (NTS)
Windows認証機能を使用する場合は、"NetBIOS over TCP/IP"を無効にすることでで起動性能が改善される場合があります。
(例)Windows2000の場合コントロールパネル->ネットワークとダイヤルアップ接続->ローカルエリア接続の[プロパティ]->インターネットプロトコル (TCP/IP)の[プロパティ]ボタン->[詳細設定]ボタン->[WINS]タブ-> "NetBIOS over TCP/IPを無効にする"をチェック
目次
索引
![]() ![]() |