连接 jdbc Oracle10g 错误 ,JDBC代码无问题,服务也启动,连接字符串也是对的,但是在eclipse 下报错,错误信息如下:<o:p></o:p>
java.sql.SQLException: Listener refused the connection with the following error:<o:p></o:p>
ORA-12505, TNS:listener does not currently know of SID given in connect descriptor<o:p></o:p>
The Connection descriptor used by the client was:<o:p></o:p>
localhost:1521:orcl<o:p></o:p>
<o:p></o:p>
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:124)<o:p></o:p>
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:279)<o:p></o:p>
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:318)<o:p></o:p>
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:343)<o:p></o:p>
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:147)<o:p></o:p>
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:31)<o:p></o:p>
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:545)<o:p></o:p>
at java.sql.DriverManager.getConnection(Unknown Source)<o:p></o:p>
at java.sql.DriverManager.getConnection(Unknown Source)<o:p></o:p>
at cn.com.db.DBAccess.getConnection(DBAccess.java:33)<o:p></o:p>
at cn.com.db.DBAccess.main(DBAccess.java:95)<o:p></o:p>
Null<o:p></o:p>
在CMD下snrctl status ,tnsping orcl 显示都正常。 <o:p></o:p>
在pl/SQL下用<o:p></o:p>
select open_mode from v$database;<o:p></o:p>
show parameter instance;<o:p></o:p>
select INSTANCE_NAME from v$instance;<o:p></o:p>
sqlplus sys/oracle@orcl<o:p></o:p>
查询都显示正常,就是用pl/sql 登录时 填“数据库名” orcl 就无法登陆,报ora -12514 <o:p></o:p>
l最后有效的解决方法:<o:p></o:p>
修改listener.ora文件 <o:p></o:p>
原listener.ora文件:<o:p></o:p>
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora<o:p></o:p>
# Generated by Oracle configuration tools.<o:p></o:p>
<o:p></o:p>
SID_LIST_LISTENER =<o:p></o:p>
(SID_LIST =<o:p></o:p>
(SID_DESC =<o:p></o:p>
(SID_NAME = PLSExtProc)<o:p></o:p>
(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4)<o:p></o:p>
(PROGRAM = extproc)<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
<o:p></o:p>
LISTENER =<o:p></o:p>
(DESCRIPTION_LIST =<o:p></o:p>
(DESCRIPTION =<o:p></o:p>
(ADDRESS_LIST =<o:p></o:p>
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<o:p></o:p>
)<o:p></o:p>
(ADDRESS_LIST =<o:p></o:p>
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
修改后的文件:<o:p></o:p>
---------------------------------------------------------------------------------------<o:p></o:p>
# listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_4\network\admin\listener.ora<o:p></o:p>
# Generated by Oracle configuration tools.<o:p></o:p>
<o:p></o:p>
SID_LIST_LISTENER =<o:p></o:p>
(SID_LIST =<o:p></o:p>
(SID_DESC =<o:p></o:p>
(SID_NAME = PLSExtProc)<o:p></o:p>
(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4)<o:p></o:p>
(PROGRAM = extproc)<o:p></o:p>
<o:p></o:p>
)<o:p></o:p>
<o:p></o:p>
(SID_DESC =<o:p></o:p>
(GLOBAL_DBNAME = orcl)<o:p></o:p>
(ORACLE_HOME = D:\oracle\product\10.1.0\Db_4) <o:p></o:p>
(SID_NAME = orcl)<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
<o:p></o:p>
LISTENER =<o:p></o:p>
(DESCRIPTION_LIST =<o:p></o:p>
(DESCRIPTION =<o:p></o:p>
(ADDRESS_LIST =<o:p></o:p>
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))<o:p></o:p>
)<o:p></o:p>
(ADDRESS_LIST =<o:p></o:p>
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
)<o:p></o:p>
-----------------------------------------------------------------<o:p></o:p>
如果错误还存在,也可以那试一下:
set oracle_sid=<sid_name>
sqlplus /nolog
connect sys/pwd as sysdba
start<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
<o:p></o:p>
分享到:
相关推荐
这篇文章主要讲述了在Oracle 11g R2客户端尝试连接Oracle 19c服务端时,遇到了两个特定的错误:ORA-28040和ORA-01017,以及如何解决这些问题。 ORA-28040错误是因为客户端和数据库服务器在版本兼容性上存在不匹配。...
### Oracle 10g启动后报ORA-16038错误的解决方法 #### 错误概述 在启动Oracle 10g数据库时遇到ORA-16038错误,该错误通常与归档日志操作有关。具体错误信息为: ``` ORA-16038: log 1 sequence #230 cannot be ...
本文旨在详细介绍ORA-12518错误的成因、常见表现形式以及具体的故障排查方法,以帮助读者在实际工作中能够更高效地解决这一问题。 #### 目的 本文旨在探讨如何接近并解决ORA-12518/TNS-12518错误,并提供详细的...
这个错误通常在尝试重启Oracle数据库服务时出现,意味着数据库实例在启动过程中遇到了问题。本文将详细介绍如何在Windows和Linux操作系统下解决ORA-00702错误。 **ORA-00702错误解析** ORA-00702错误信息表明数据库...
### 远程登录并启动Oracle数据库及解决ORA-01031问题 #### 引言 在Oracle数据库管理过程中,远程登录与启动数据库是非常重要的操作之一。这不仅能够提高数据库管理员的工作效率,还能帮助他们更好地监控和维护...
您可能感兴趣的文章:常用的Oracle doc命令(收藏)Oracle 多行记录合并/连接/聚合字符串的几种方法Oracle中字符串连接的实现方法php连接oracle数据库及查询数据的方法plsql连接oracle数据库报ora 12154错
总结上述解决方法,面对从Oracle 10g到Oracle 11g的数据库链接认证问题,解决方案集中在密码认证的细节上。在Oracle 11g中默认开启的密码大小写敏感性需要特别注意,因为当从一个不区分密码大小写的旧版本数据库连接...
### ERwin连接Oracle报ORA-01041内部错误,hostdef扩展名不存在...通过上述详细的步骤和建议,可以有效地解决ERwin连接Oracle时报ORA-01041内部错误的问题。在实际操作中,还需要根据具体的环境和情况进行适当的调整。
本文将针对这些错误的排查方法进行详细介绍,帮助用户理解问题的原因及解决策略。 ### 错误概述 #### ORA-39002: invalid operation 此错误表示执行的操作无效,可能是由于某些配置或环境设置不正确导致的。例如,...
### ORA-01033 错误解决方法 #### 概述 在数据库管理过程中,遇到诸如ORA-01033等错误代码是非常常见的。这些错误往往与数据库实例的状态、文件系统问题或是配置不当有关。ORA-01033 错误通常表示在启动或关闭...
`Ora 10G SQL Reference.chm`是Oracle 10g的SQL参考手册,其中包含了详细的SQL语法、函数、操作符和数据库管理命令。当遇到权限问题时,可以查阅此手册获取关于`GRANT`、`REVOKE`、`ALTER USER`和`SET ROLE`等命令...
### Oracle 断电导致控制文件不一致报错 ORA-00214 处理方法 #### 问题概述 在Oracle数据库管理过程中,遇到控制文件版本不一致的问题时,通常会收到ORA-00214错误提示。此错误表示数据库中的一个或多个控制文件与...
ORA-01654处理表空间不足问题 Oracle 数据库中,表空间不足是非常常见的...解决ORA-01654处理表空间不足问题需要通过查看表空间使用情况、查看表空间自动扩展功能、扩大原表空间大小或增加新的数据文件等方法来实现。
### 如何解决Oracle 11G中的ORA-24247网络访问被访问控制列表 (ACL) 拒绝错误 #### 背景 在处理Oracle 11G数据库时,可能会遇到ORA-24247错误,该错误通常出现在尝试通过网络访问数据库资源时。这一错误是由于访问...
Oracle 11g中,ora-28056错误是由于写入审核记录到Windows事件日志失败所致。该错误通常会导致数据库不可用,无法连接到数据库。 解决方法: 1. 打开事件查看器(Event Viewer):在 Windows 中,点击“开始”菜单...
ORA-01461 错误的解决办法是匹配 Oracle 数据库的版本和 jar 包版本,并将 Oracle 数据库对应的 jar 包拷贝在正确的文件夹中。同时,我们也需要了解 LONG 数据类型和 LOB 数据类型的区别,以便更好地解决 ORA-01461 ...
Oracle数据库自10g版本开始引入了回收站功能(Recycle Bin),这一特性为数据库管理员提供了一种简单而强大的方式来恢复误删的数据对象。通过回收站功能,用户可以在不使用备份的情况下恢复已删除的表、索引等数据库...
如果问题仍未解决,可以查阅Oracle官方文档或社区论坛,搜索相关的错误代码和解决方案,看看其他用户是如何处理类似问题的。 8. 联系Oracle支持。作为最后的手段,如果自己无法解决问题,可以联系Oracle官方技术支持...