sql developer 调试存储过程

2020-08-13  本文已影响0人  马云生

为了在sql developer 中调试存储过程,需要有三个条件

1.用户(数据库User)需要有Debug权限

    --下面SQL可以查看,需要有Debug ANY PROCEDURE 和 Debug connect any

      select * from user_sys_privs;

      没有权限的话,需要用Grant语句赋予(这里不写了,可以杜娘)

2.Oracle数据库端设定(如果有ACL的话,需要设定允许客户IP连接)

     -- 查询网络访问控制列表 acl

      Select * From dba_network_acls

    -- 查询访问控制权限列表acl

        Select * From dba_network_acl_privileges

    --创建设定访问控制权限列表ACL

     --分配acl权限,执行如下sql语句:

      begin

        dbms_network_acl_admin.create_acl (      -- 创建访问控制文件(ACL)

        acl        => 'utl_http.xml',          -- 文件名称

        description => 'HTTP Access',          -- 描述

        principal  => 'ITS',                  -- 授权或者取消授权账号,大小写敏感

       is_grant    => TRUE,                    -- 授权还是取消授权

       privilege  => 'connect',              -- 授权或者取消授权的权限列表

       start_date  => null,                    -- 起始日期

       end_date    => null                    -- 结束日期

   );

  dbms_network_acl_admin.add_privilege (    -- 添加访问权限列表项

      acl        => 'utl_http.xml',          -- 刚才创建的acl名称

      principal  => 'ITS',                    -- 授权或取消授权用户

       is_grant  => TRUE,                    -- 与上同

       privilege  => 'resolve',                -- 权限列表

       start_date => null,                   

        end_date  => null

   );

  dbms_network_acl_admin.assign_acl (      -- 该段命令意思是允许访问acl名为    utl_http.xml下授权的用户,使用oracle网络访问包,所允许访问的目的主机,及其端口范围。

    acl        => 'utl_http.xml',

    host      => '100.1.2.1',              -- ip地址或者域名,填写http://localhost:9000/hello与http://localhost:9000/是会报host无效的

                                            -- 且建议使用ip地址或者使用域名,若用localhost,当oracle不是安装在本机上的情况下,会出现问题

    lower_port => 9000,                    -- 允许访问的起始端口号

    upper_port => Null                      -- 允许访问的截止端口号

  );

  commit;

end;

begin

  dbms_network_acl_admin.assign_acl (      -- 可以授权多个主机,或者多个主机的多个端口

    acl        => 'utl_http.xml',

    host      => '10.100.49.138',

    lower_port => 80,

    upper_port => NUll

  );

  commit;

end;

3.sql developer的设定

  SQLDeveloperでツール->プリファレンス->デバッガを設定行っていただき、デバッグ実行時のデバッガホストを自分の端末のIPアドレス(ACN端末ではコマンドプロンプトからipconfigで確認)を指定してデバッグを実行していただけますでしょうか。

上一篇 下一篇

猜你喜欢

热点阅读