使用 Oracle SQL Developer 调试时出现错误“ORA-24247:访问控制列表 (ACL) 拒绝网络访问”

问题描述 投票:0回答:1

我正在尝试在装有 Windows 11 的 PC 上使用“Oracle SQL Developer”版本 23.1.0.097 调试过程。 我已使用 SSH 隧道与 Linux 上的远程 Oracle Database 18c XE 版本 18.0.0.0.0 建立了连接。 我可以成功执行该过程,无需调试。

但是当我尝试调试它时,它失败并显示一些消息:

Connecting to the database #####.
Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '127.0.0.1', '11183' )
ORA-24247: network access denied by access control list (ACL)
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
Process exited.
Disconnecting from the database ####.

我在网上搜索了可能的解决方案,但无法修复它。我向我的用户授予了以下权限:

BEGIN
  DBMS_NETWORK_ACL_ADMIN.append_host_ace(
    host        => '*',
    lower_port  => 5001,
    upper_port  => 65535,
    ace         => xs$ace_type(privilege_list => xs$name_list('JDWP'), 
                               principal_name => 'MY-USER', /* replace with my real user*/
                               principal_type => xs_acl.ptype_db));
END;

但是现在调试器失败并显示另一条消息:

Executing PL/SQL: CALL DBMS_DEBUG_JDWP.CONNECT_TCP( '127.0.0.1', '14573' )
ORA-30683: failure establishing connection to debugger
ORA-12541: TNS:no listener
ORA-06512: at "SYS.DBMS_DEBUG_JDWP", line 68
ORA-06512: at line 1
Process exited.

但这没有意义,因为我已连接到数据库并使用 SSH 隧道...

oracle debugging oracle-sqldeveloper acl remote-debugging
1个回答
0
投票

现在终于可以远程调试了。我发布我的答案,以防对其他人有用。

经过一些研究和测试,我无法解决 DBMS_DEBUG_JDWP 的问题。

但是: 我成功地通过使用旧的、已弃用但值得信赖的 DBMS_DEBUG 来实现远程调试。

在“工具”>“首选项”>“调试”中:选择单选按钮“使用 DBMS_DEBUG”而不是默认的“DBMS_DEBUG_JDWP”。

© www.soinside.com 2019 - 2024. All rights reserved.