Oracle数据库连接报Network Adapter无法建立错误求解决方案
Oracle数据库IO Error: The Network Adapter could not establish error 故障解决建议
- 主机名解析排查
你的tnsnames.ora和listener.ora中都使用主机名LAPTOP-2HN15HQU作为监听地址,优先尝试将两处配置的HOST值修改为127.0.0.1,避免主机名解析失败导致连接异常。修改完成后执行lsnrctl stop、lsnrctl start重启监听生效。 - 监听服务与端口校验
- 执行
lsnrctl status确认监听是否正常运行在1521端口,同时查看输出中是否已注册XEPDB1服务 - 执行
netstat -ano | findstr 1521确认1521端口未被其他程序占用 - 关闭系统防火墙或者给1521端口添加入站放行规则,避免防火墙拦截连接请求
- 执行
- 可插拔数据库状态校验
你使用的是Oracle 18c XE版本,XEPDB1是默认的可插拔数据库,需要确认其运行状态:- 使用
sqlplus / as sysdba登录本地数据库 - 执行
show pdbs查看XEPDB1状态,如果为MOUNTED,执行alter pluggable database XEPDB1 open;开启服务 - 执行
alter system register;手动将数据库服务注册到监听,避免动态注册失效 - 如需开机自动启动PDB,执行
alter pluggable database XEPDB1 save state;
- 使用
- 静态注册兜底方案
如果动态注册一直失效,可以在listener.ora的SID_LIST_LISTENER节点下添加XEPDB1的静态注册配置:
(SID_DESC = (SID_NAME = XEPDB1) (ORACLE_HOME = C:\app\Vinay\product\18.0.0\dbhomeXE) (GLOBAL_DBNAME = XEPDB1) )
修改完成后重启监听即可。
- 连接配置校验
客户端连接时选择服务名而非SID,填写服务名XEPDB1、主机地址127.0.0.1、端口1521再次尝试连接,也可以用EZCONNECT串直接验证连接有效性:sqlplus 用户名/密码@//127.0.0.1:1521/XEPDB1
内容的提问来源于stack exchange,提问作者Vicky
相关产品推荐
相关产品推荐

