- DEBUG CONNECT SESSION 権限の許可
- DBMS_DEBUG_JDWP に対する EXECUTE 権限
- デバッグするストアド・プロシージャーに対する EXECUTE 権限
- JDWP ACL 実行権限
- ストアドプロシージャが "Compiled for Debug"であること
多すぎだろ!
という訳で、以下 PL/SQL をデバッグ実行するために必要な設定を反映させるコマンド。
<注意点>
- ローカルインストールされた DBを対象にしています。リモートに対して実行する場合、「localhost」「127.0.0.1」を、読み替えて下さい。
- スキーマ名「KAKIP2」に権限を付与しています。適宜読み替えて下さい。
- PUBLIC に権限を付与するのが嫌な方は、スキーマ名を指定してください。
SYSDBA 権限にて、sql plus から実行。
grant execute on SYS.UTL_ENCODE to PUBLIC;
grant execute on SYS.UTL_RAW to PUBLIC;
grant execute on SYS.UTL_I18N to PUBLIC
grant execute on SYS.UTL_SMTP to PUBLIC;
grant execute on SYS.DBMS_LOB to PUBLIC;
grant execute on SYS.DBMS_RANDOM to PUBLIC;
grant execute on SYS.DBMS_DEBUG_JDWP to PUBLIC;
grant execute on DBMS_DEBUG_JDWP to PUBLIC;
grant execute on SYS.UTL_HTTP to PUBLIC;
grant execute on SYS.UTL_TCP to PUBLIC;
grant debug connect session to PUBLIC;
grant debug any procedure to PUBLIC;
BEGIN
DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
acl => 'localmail.xml',
description => 'local mail acl',
principal => 'KAKIP2',
is_grant => true,
privilege => 'connect'
);
DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(
acl => 'localmail.xml',
principal => 'KAKIP2',
is_grant => true,
privilege => 'resolve'
);
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'localmail.xml',
host => 'localhost'
);
DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
acl => 'localmail.xml',
host => '127.0.0.1'
);
END;
/
COMMIT;
begin
dbms_network_acl_admin.append_host_ace
(host=>'127.0.0.1',
ace=> sys.xs$ace_type(privilege_list=>sys.XS$NAME_LIST('JDWP') ,
principal_name=>'KAKIP2',
principal_type=>sys.XS_ACL.PTYPE_DB) );
end;
/