3.7 PL/SQLオブジェクトのデバッグ
SQL Developer for VS CodeのPL/SQLデバッガを使用して、PL/SQLファンクションおよびプロシージャをデバッグできます。
この項の内容は次のとおりです。
3.7.1 必須のデバッグ・データベース権限
PL/SQLオブジェクトをデバッグするには、次の権限が必要です:
DEBUG CONNECT SESSION
また、デバッグ・セッションの開始または停止に使用されるパッケージであるSYS.DBMS_DEBUG_JDWP
に対するDEBUG
およびEXECUTE
権限も必要です。
デバッグするPL/SQLオブジェクトが自分に属している場合、それ以上の権限は必要ありません。
PL/SQLオブジェクトが自分に属していない場合は、PL/SQLオブジェクトに対するDEBUG
およびEXECUTE
権限が付与されている必要があります。
3.7.2 データベース・デバッグ・セッションの理解
データベース・セッションの場合、ネットワーク接続はクライアント(SQL Developer for VS Code)によって開始され、サーバー(Oracle Database)によってアドレス指定されます。データベース・デバッグ・セッションの場合、SQL Developer for VS Codeはデバッグ・サーバーとして機能し、デバッグ・クライアント(Oracle Database)からの接続をリスニングします。
データベースは、SQL Developer for VS Codeへの接続を開始する必要があります。これを実現するには:
- データベースからSQL Developer for VS Codeへのネットワーク・アクセスを許可するようにデータベースを構成する必要があります。これは、ネットワーク・アクセス制御リスト(ACL)にエントリを作成することにより実現されます。
- ネットワークACLでは、SQL Developer for VS Codeがデバッグ接続をリスニングするために使用するIPアドレス(またはホスト名)とポートを指定する必要があります。
- データベースからSQL Developer for VS Codeへのネットワーク・ルートが必要です。たとえば、SQL Developer for VS Codeが実行されているマシン上のファイアウォールが、Oracle Databaseからの受信接続を許可するように構成されている必要がある場合があります。または、Oracle DatabaseがDockerコンテナ内で実行されている場合は、DockerコンテナとSQL Developer for VS Codeが実行されているマシンとの間にルートを作成するために、コンテナのネットワーク構成を調整する必要がある場合があります。
SQL Developer for VS Codeを使用すると、データベースがSQL Developer for VS Codeに接続するために必要なACLにエントリを追加できます。
-
「接続」パネルから、デバッグするPL/SQLオブジェクトを開き、ワークシート・エディタ・パネルの上部にあるツールバーの「デバッグ」アイコンをクリックします。
-
表示されるエディタ・ペインで、ACLの表示をクリックします。
-
データベースがSQL Developer for VS Codeへの接続に使用するIPアドレスを指定するよう要求されます。推奨のいずれかを選択するか、独自のものを入力します。
ACLでエントリを追加するために必要なPL/SQLコード・ブロックが表示されます。
ノート:
PL/SQLブロックは、DBA権限を持つユーザーが実行する必要があります。