Mac M1上Oracle SQL Developer无法连接Docker中的Oracle 23c-Free数据库
Oracle 23c-Free Docker容器SQL Developer连接失败排查方案
确认Docker端口映射有效性
执行docker ps查看容器端口映射,确保1521端口显示为0.0.0.0:1521->1521/tcp或:::1521->1521/tcp。如果是127.0.0.1:1521->1521/tcp,需重启容器并指定端口映射参数:docker run -p 0.0.0.0:1521:1521 <镜像名>。检查Oracle监听器状态
- 进入容器:
docker exec -it <容器ID/名称> bash - 切换至oracle用户:
su - oracle - 执行
lsnrctl status,确认监听器监听1521端口且状态为READY。若未启动,执行lsnrctl start启动监听器。
- 进入容器:
核对服务名配置
Oracle 23c-Free默认CDB服务名为FREE,PDB服务名为FREEPDB1。在SQL Developer连接配置中,服务名需填写正确值,而非SID。可在sqlplus中执行show parameter service_name确认当前服务名。排查本地防火墙/安全软件拦截
临时关闭本地防火墙或添加1521端口的入站允许规则,同时禁用杀毒软件的网络拦截功能,测试是否能正常连接。验证SQL Developer Java版本兼容性
Oracle 23c-Free要求Java 11及以上版本支持。通过SQL Developer的Help -> About查看自带Java版本,若版本过低,下载并使用SQL Developer 22.2及以上版本。用工具测试网络连通性
- 若本地装有Oracle客户端,执行
tnsping localhost:1521/FREE,返回成功则网络链路正常; - 无客户端时,执行
telnet localhost 1521,能建立连接说明端口未被拦截。
- 若本地装有Oracle客户端,执行
内容的提问来源于stack exchange,提问作者Bisma
相关产品推荐
相关产品推荐

