Oracle 9i下SQL Developer调试存储过程失败问题求助
解决Oracle 9i + SQL Developer 3.2调试存储过程无连接提示的问题
针对你遇到的Oracle 9i环境下SQL Developer 3.2调试存储过程时,未出现调试器连接提示的问题,可按以下步骤排查解决:
检查Oracle数据库调试参数与防火墙
- 登录数据库执行
SHOW PARAMETER REMOTE_DEBUG,确认参数值为TRUE。若为FALSE,需联系DBA修改参数并重启数据库。 - 确认数据库服务器防火墙已开放调试端口(如你提到的56305),允许SQL Developer所在客户端机器的访问请求。
- 登录数据库执行
调整SQL Developer调试器设置
- 打开SQL Developer,依次进入
工具→首选项→调试器。 - 手动指定调试端口为56305,勾选
允许调试器接受连接选项。 - 取消勾选
使用OCI进行调试,Oracle 9i对OCI调试支持有限,切换为纯JDBC调试模式更稳定。
- 打开SQL Developer,依次进入
验证调试权限有效性
执行以下SQL确认权限是否正确授予:-- 检查系统级调试权限 SELECT privilege FROM user_sys_privs WHERE privilege LIKE '%DEBUG%'; -- 检查目标存储过程的调试权限 SELECT grantor, privilege FROM user_tab_privs WHERE table_name = '你的存储过程名称' AND privilege LIKE '%DEBUG%';确保拥有
DEBUG CONNECT SESSION权限,以及目标存储过程的DEBUG权限(或DEBUG ANY PROCEDURE系统权限)。重新编译存储过程为DEBUG模式
确保存储过程以调试模式编译,执行:ALTER PROCEDURE 你的存储过程名称 COMPILE DEBUG;编译后执行
SELECT status FROM user_objects WHERE object_name = '你的存储过程名称' AND object_type = 'PROCEDURE';,确认状态为VALID。手动确认调试端口监听状态
启动调试后,用系统命令检查端口是否被正确监听:- Windows系统:
netstat -ano | findstr 56305 - Linux/Unix系统:
netstat -tulpn | grep 56305
若端口未被监听,重新检查SQL Developer的调试配置,或更换一个未被占用的端口重试。
- Windows系统:
内容的提问来源于stack exchange,提问作者Jit Sarkar
相关产品推荐
相关产品推荐

