plsql 监听程序当前无法识别连接描述符中请求的服务 解决方法

在连接oracle时,弹出了一个错误信息,显示“监听程序当前无法识别连接描述符中请求的服务”。
这里写图片描述
在网上查了一些资料,大多出现这种情况和我们的监听配置文件有关系,一般只需做相应修改即可。

在oracle安装目录下打开listener.ora文件,此文件在安装目录下的product\11.2.0\dbhome_1\NETWORK\ADMIN文件夹下面:

这里写图片描述

复制下面的代码到listener.ora文件中:

(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = D:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
)
)

这里写图片描述

然后进入服务列表,重启oracleserviceorcl服务即可,问题解决

这里写图片描述

有时候发现这样配置以后还是不行,那可能是你数据库配置文件出错,一般为数据库名称,或者host地址写错,具体如何修改数据库连接的配置文件,可以参考:

plsql 通过修改配置文件的方式实现数据库的连接

### 解决 PL/SQL Developer 登录时监听程序无法识别连接描述符请求服务 当遇到 ORA-12514 错误提示 "TNS: 监听程序当前无法识别连接描述符请求服务" 时,通常意味着客户端尝试连接Oracle 数据库实例时,监听器未能匹配相应的服务名称。以下是详细的解决方案: #### 修改 `listener.ora` 文件配置 确保在 Oracle 安装目录下的 NETWORK\ADMIN 子目录中找到并编辑 listener.ora 文件[^3]。 ```plaintext # Example of a listener.ora file configuration LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = your_host_name_or_ip)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = C:\oracle\nicp\product\11.2.0\dbhome_1) (SID_NAME = orcl) ) ) ``` 上述示例展示了如何设置监听器来接受来自特定主机和端口的连接请求,并指定了要关联的一个或多个数据库实例(通过 GLOBAL_DBNAME 和 SID_NAME 参数)。请根据实际情况调整这些参数以反映本地环境中的具体细节[^4]。 #### 验证 tnsnames.ora 中的服务名定义 除了修改 `listener.ora` 外,还需要确认 `tnsnames.ora` 文件内包含了正确的服务命名条目。此文件同样位于 NETWORK\ADMIN 下面。它应该包含类似于下面的内容: ```plaintext ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ``` 这里的关键是要保证 SERVICE_NAME 的值与目标数据库实例相匹配,并且 HOST 及 PORT 设置正确无误[^1]。 #### 启动或重启监听服务 完成以上更改之后,记得启动或者重新启动 Oracle 监听服务以便使新的配置生效。这可以通过命令行工具来进行操作,在 Windows 上可以使用如下指令: ```shell lsnrctl start # 或者如果已经运行则先停止再启动 lsnrctl stop lsnrctl start ``` 对于 Linux 用户,则可能需要采用不同的方式管理服务状态,取决于操作系统版本以及安装选项[^2]。 #### 测试连接 最后一步是在做出所有必要的改动后测试能否成功建立至所需数据库实例的新连接。可以在 PL/SQL Developer 内部创建一个新的连接对象,输入对应的用户名、密码和服务名等必要信息进行验证。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YuanlongWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值