客户端连接oracle11出现提示ORA-12514:错误解决方法

近来安装oracle11g,使用后发现plsql和sqldeveloper等客户端工具不能用,提示以下错误:
1.ORA-12514: TNS: 程序无法监听
原因:OracleOraDb11g_home1TNSListener没有启动或不能启动
解决办法:若服务不能启动,请修改oracle安装目录下的D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN中的listener.ora和tnsnames.ora中修改(ADDRESS = (PROTOCOL = TCP[color=red][quote][quote])(HOST = 127.0.0.1)([/quote][/quote][/color]PORT = 1521))黑体部分,把ip改为需要访问的ip地址,启动服务即可
2.ora-12514:TNS:监听服务当前无法识别描述中的请求服务
原因:没有注册监听器
解决办法:
D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN中的listener.ora修改如下所示:
# listener.ora Network Configuration File: d:\app\Administrator\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = d:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = extproc)

)
)
[color=red][b](SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = d:\app\Administrator\product\11.2.0\dbhome_1)
(SID_NAME = ORCL)
) [/b][/color]LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
)

ADR_BASE_LISTENER = d:\app\Administrator
加黑体部分,如果有(ENVS = "EXTPROC_DLLS=ONLY:d:\app\Administrator\product\11.2.0\dbhome_1\bin\oraclr11.dll")这句,请去掉,重启OracleOraDb11g_home1TNSListener服务,就可以了
### 解决方案概述 当遇到 `ORA-12514` 错误时,通常意味着客户端尝试连接到的数据库实例未被监听器识别。这可能是由于配置文件中的设置不正确或监听器未能注册相应的服务所致。 ### 配置 Listener 文件 为了使监听器能够正常工作并识别所需的服务,需确保 `listener.ora` 和 `tnsnames.ora` 的配置无误。以下是具体的调整建议: #### 修改 `listener.ora` 在 `listener.ora` 中添加必要的记录来指定监听地址和服务名称。例如,在默认路径下找到该文件,并编辑如下所示[^3]: ```plaintext LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) ) ) SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = orcl) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1) (SID_NAME = orcl) ) ) ``` #### 更新 `tnsnames.ora` 同样地,在同一目录下的 `tnsnames.ora` 文件也需要更新以匹配上述更改。确保其中包含了目标数据库的有效条目,如下面的例子所展示: ```plaintext ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ``` ### 启动和重启监听器 完成以上修改之后,应当重新启动监听器以便应用新的配置。可以使用以下命令来进行操作[^2]: 对于 Linux 或 Unix 系统: ```bash lsnrctl stop lsnrctl start ``` 对于 Windows 系统,则可以通过图形界面管理工具或者命令提示符执行相应指令: ```cmd net stop oracleOraDb11g_home1TNSListener net start oracleOraDb11g_home1TNSListener ``` ### 检查状态 最后一步是验证监听器的状态以及它是否已成功注册了预期的服务。运行下列命令可获取这些信息[^1]: ```bash lsnrctl status ``` 如果一切顺利的话,输出应该会显示至少有一个正在运行的服务与之前定义的名字相吻合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值