以前都是用10g ,今天因为要准备做个分析使用18c Express Edition ,对程式包调试时出现如下错误,
连接到数据库 XE。
执行 PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '127.0.0.1', '56281' )
ORA-24247: 网络访问被访问控制列表 (ACL) 拒绝
ORA-06512: 在 "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: 在 line 1
进程已退出。
从数据库 XE 断开连接。
原因是从11g 开始加入了 ACL 列表进行安全控制
解决方案如下:
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE
(
host => '127.0.0.1', --你的调试地址
lower_port => null, --端口号
upper_port => null,
ace => xs$ace_type(privilege_list => xs$name_list('jdwp'),
principal_name => 'C##HFB', --用户名
principal_type => xs_acl.ptype_db)
);
END;
commit;