エラー「JYP4934E. DSI(DSI名)がアクセス禁止状態です」の原因と対処について

rdbsloaderでデータをロードしようとしたのですが、エラーが発生しました。
そのため、SQLアプリケーションから表内のデータを全件削除しようとしましたが、「JYP4934E. DSI <DSI名>がアクセス禁止状態です」と表示されてDELETEが実行できません。 原因と対処方法を教えてください。
rdbsloaderコマンドが失敗した場合、SQLでDELETE文を実行できません。また操作手順としてDELETEする必要はありません。
Symfowareは、データのロード中に異常を検出した場合、処理対象のDSIを 「アクセス禁止」状態とし、ロード処理を中断します。
「アクセス禁止」状態にある場合には、SQLアプリケーションを使用した表への操作は行えません。
また、「アクセス禁止」状態のDSIに対してはバックアップ操作(rdbdmpコマンドの実行)を行った場合、エラーとなります。

すなわち「アクセス禁止状態」 = 「表の内容が保証できない/アクセスしてはいけない状態」です。
そのため、「結果の保証できないSQL操作」や「退避ファイルとして保証できないバックアップ」をできないよう、エラーとしています。

このような場合の対処方法としては、以下のいずれかを実施してください。

  • rdbsloaderでエラーとなった原因を取り除き、再度rdbsloaderコマンドを実行する

  • 退避ファイルを用い、rdbrcvコマンドを利用しDSIの復旧または復元を実行する

  • rdbfmtコマンドを実行し、DSIを初期化する


また、上記以外で「アクセス禁止」状態となる主な原因としては、以下が考えられますので確認してください。

  • rdbrtrコマンドで当該DSIを「リカバリーを適用しない運用」の状態とし、データ更新を行ったが処理異常が発生してしまった場合

  • rdbgcdsiコマンドを使用し、当該DSIの再編成を実施していたが、何らかの異常が発生した場合

  • rdbinhコマンドを当該DSIに設定している場合

  • 当該DSIへのI/O処理中に異常が検出された場合

製品・サービス区分 Symfoware
製品・サービス情報
対象製品 Symfoware Server (Native Interface)
プラットフォーム Windows, Solaris, Linux
アンサー種別 運用/保守
このページの先頭へ