美文网首页
sql developer 调试存储过程

sql developer 调试存储过程

作者: 马云生 | 来源:发表于2020-08-13 13:29 被阅读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で確認)を指定してデバッグを実行していただけますでしょうか。

    相关文章

      网友评论

          本文标题:sql developer 调试存储过程

          本文链接:https://www.haomeiwen.com/subject/pgubdktx.html