
PL/SQLデバッグを有効にするには、いくつかの条件を満たす必要があります。
- ブレークポイントを設定し、トレース実行によってデバッグするコードは、デバッグ情報と同時にコンパイルする必要があります。
PL/SQLプロシージャ、ファンクション、パッケージ、またはトリガーが確実にデバッグ情報と同時にコンパイルされるようにするには、次の3つの方法があります。
- JDeveloper作業環境: 「ツール」->「設定」、「データベース接続」 ページの順に表示し、「PL/SQLのデバッグ情報を生成」チェックボックスにマークが付いていることを確認します。次にJDeveloperを使って、デバッグを予定しているコードを作成または再コンパイルします。
- セッション設定: SQL*Plusなどの他のクライアントから、次のコマンドを使用してセッションを変更できます。
ALTER SESSION SET PLSQL_DEBUG = TRUE
そのセッションで作成または再コンパイルされたすべてのPL/SQLプログラムは、その時点からデバッグ情報を含むようになります。
- オブジェクト・レベル: 次のコマンドを使用して個々のプログラム単位に対してデバッグを有効にできます。
ALTER <PROCEDURE | FUNCTION | PACKAGE | TRIGGER> <プログラム名> COMPILE DEBUG
Javaストアド・プロシージャの場合、データベースにロードする前に、デバッグ情報を含めてJavaクラスをコンパイルしてください。JDeveloperから、 「プロジェクト」->「プロジェクトの設定」、コンパイラ ページの順に表示し、「デバッグ情報を含める」チェックボックスにマークが付いていることを確認してください。Javaクラスをデータベースに配布する場合、サーバーに対しクラスの再コンパイルを命令する-resolveオプションは使用しないでください。
- データベース・バージョンによっては、その他の前提条件を満たす必要があります。
Oracle8i とOracle9i Release 1の場合:
- 自分のスキーマ内でPL/SQLをデバッグする場合は特別な権限は不要ですが、他のユーザーが所有するオブジェクトをデバッグする場合は、次の権限が付与されている必要があります。
CREATE ANY PROCEDURE
Oracle9i Release 2の場合: