Oracle SQLPLUS错误: ORA-12504: TNS:listener在CONNECT_DATA中未给出SERVICE_NAME
解决方案
解决ORA-12504错误需要操作以下步骤:
1. 检查监听器配置
首先,我们需要验证监听器的配置是否正确。可以通过以下命令查看监听器的状态:
如果监听器未处于正在运行的状态,则需要启动监听器:
如果监听器运行正常,而ORA-12504错误仍然存在,请继续以下步骤。
2. 使用SERVICE_NAME参数连接到数据库
ORA-12504错误表明我们在CONNECT_DATA中未提供SERVICE_NAME参数。为了解决这个问题,我们需要修改连接命令,使用SERVICE_NAME参数连接到数据库。
以SQLPLUS为例,修改连接命令如下:
其中,username和password是正确的数据库凭据,hostname是数据库所在的主机名或IP地址,port是数据库监听器的端口号,service_name是要连接的数据库实例的SERVICE_NAME。
以下是一个示例连接到ORCL数据库实例的命令:
3. 使用tnsnames.ora文件连接到数据库
还可以使用tnsnames.ora文件来配置数据库连接信息。tnsnames.ora文件通常位于$ORACLE_HOME/network/admin目录下。
打开tnsnames.ora文件,并添加一个新的连接别名,指定正确的连接信息。以下是一个示例的tnsnames.ora配置:
然后,我们可以使用以下命令连接到ORCL数据库实例:
4. 检查数据库服务名
最后,我们还应该验证数据库服务名是否正确。可以通过以下命令查看Oracle实例的服务名:
确保在连接命令中使用的SERVICE_NAME与数据库实例的服务名一致。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)