Ubuntu下Oracle SQL Developer连接失败:IO Error网络适配器无法建立连接
Ubuntu下Oracle SQL Developer 22.2.1连接失败(IO Error)排查方案
1. 先验证基础网络连通性
- 测试服务器IP可达性:
ping <数据库服务器IP>,确保能收到响应 - 测试端口开放情况:用
nc -zv <数据库服务器IP> <端口>(如果没装nc,先执行sudo apt install netcat-openbsd),如果返回succeeded说明端口能通,否则是网络/防火墙问题
2. 核对Oracle连接配置细节
- 区分SID和服务名:SQL Developer连接时,若选「基本」类型,要确认输入的是服务器实际的SID还是服务名(可在服务器端用
select name from v$database;查SID,select service_name from v$session where sid=(select sid from v$mystat where rownum=1);查服务名) - 检查
tnsnames.ora配置(若用TNS连接):文件路径一般在~/.sqldeveloper/system22.2.1.234.1810/o.jdeveloper.db.connection.12.2.1.4.0/(版本号对应你的22.2.1),确保连接串格式正确:ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <服务器IP>)(PORT = <端口>)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <你的服务名>) ) )
3. 确认SQL Developer的JDK适配
22.2.1官方推荐JDK11,需确保软件实际使用的是对应版本:
- 打开SQL Developer,点击右上角
Help -> About查看当前JDK版本 - 若版本不符,修改配置文件:编辑
/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf(默认安装路径),添加一行SetJavaHome /usr/lib/jvm/java-11-openjdk-amd64(替换为你的JDK11实际路径)
4. 排查防火墙与安全组
- 本地Ubuntu防火墙:执行
sudo ufw status查看状态,若开启可临时关闭sudo ufw disable测试是否能连接 - 服务器端:确认数据库端口(默认1521)的防火墙/安全组已开放给你的Ubuntu机器IP
5. 验证Oracle服务器状态
在数据库服务器上执行以下命令:
- 检查监听服务:
lsnrctl status,确认监听在指定端口正常运行 - 检查实例状态:
sqlplus / as sysdba后执行select status from v$instance;,确保返回OPEN
6. 用JDBC直连测试
在SQL Developer中选择「JDBC」连接类型,直接输入连接串测试:
- SID格式:
jdbc:oracle:thin:@<服务器IP>:<端口>:<SID> - 服务名格式:
jdbc:oracle:thin:@//<服务器IP>:<端口>/<服务名>
内容的提问来源于stack exchange,提问作者au799
相关产品推荐
相关产品推荐

