2011-02-23 8 views
4

を削除するときは誰かがこのエラーを説明することができます。.. ORA-00054 指定NOWAITで忙しいとAQUIREリソース...ORA-00054リソースビジー状態のテーブル

このエラーが来て、パッケージがコンパイルされていません。

+0

タイトルはこの質問と何が関係していますか? –

+0

質問と一致するようにre-titled –

+0

私の手続きで私はプロシージャを実行するたびに削除されている1つのテーブルを使用しています..私は実行していたプロシージャをテストしていた。そして、そのテーブルから削除されている行が時間を費やしていることがわかりました。そのため、このテーブルを削除しようとしました。このエラーが発生しました... ORA-00054 NOWAITでリソースがビジーでありました。 – Avi

答えて

10

ORA-00054は、他のセッションがデータベースオブジェクトをロックしていることを意味しています。

あなたのシナリオは混乱していますが、基本的に誰かがテーブルをロックしています。おそらく彼らはそれに対していくつかのDMLを実行しています。そして、ロックを解除するまでドロップできません。コミットまたはロールバック)。

PL/SQLコンパイルの問題を修正するためにテーブルを削除する理由がわかりません。あなたが達成しようとしていることをより明確にするために質問を修正してください。

2

テーブルに対してクエリまたはジョブが実行されている可能性があります。長い実行中のクエリ/ジョブが終了するまで、オブジェクトを再コンパイルまたはドロップすることはできません。また、自分以外のセッションをすべて終了してから、コンパイルを続行することもできます。

+0

@Bhuran ..どのように私はすべてのセッションを殺すことができます現在の1つを実行しています..あなたはそれを精巧にしてください..ありがとう – Avi

+0

あなたはTOADまたはPL/SQL開発者を使用する場合、それは簡単です。現在のセッションと、どのOSユーザーがログインしているか、セッションが発行された端末などの関連情報を表示できます。 – Burhan

+0

TOADまたはPL/SQL Developerを使用すると簡単です。現在のセッションと、どのOSユーザーがログインしているかなどの関連情報を表示することができます。SQLプロモートを使用している場合など、セッションが発行された端末。この情報を表示するためにv $セッションを照会できます。ただし、セッションIDを取得し、次のコマンドを実行することによって、各セッションを個別に終了する必要があります。SQL>システムを変更します。セッション 'sid、シリアル番号'を削除します。 セッションを表示(または強制終了)するために必要な権限が必要です。 – Burhan

関連する問題