连接oracle报错

第一个方法解决方案:

 

listener.ora是服务器端的配置oracle的文件。

后来将listener.ora的这一行注释掉,就行了,, (PROGRAM = extproc)
修改为:
SID_LIST_LISTENER =
  (SID_LIST =
  (SID_DESC =
  (SID_NAME = prod)
  (ORACLE_HOME = /u01/app/oracle/product/10.2.0/db_1)
# (PROGRAM = extproc)
  )
  )

LISTENER =
  (DESCRIPTION_LIST =
  (DESCRIPTION =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.8)(PORT = 1522))
  (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
  )
  )

 

第二种解决方案如下:

参考路径:https://forums.oracle.com/forums/message.jspa?messageID=693607

整理如下:

客户端的配置文件sqlnet.ora中配置如下:

将#SQLNET.AUTHENTICATION_SERVICES= (NTS)注释掉,改成如下即可!

如下:
SQLNET.AUTHENTICATION_SERVICES= (NONE)

同时修改监听器配置文件,具体做法是: 在oracle安装目录下搜索listener.ora文件,一般在$/NETWORK/ADMIN目录下,把主机名用ip地址代替,例如(ADDRESS = (PROTOCOL = TCP)(HOST = HBONLINE1)(PORT = 1523))改为(ADDRESS = (PROTOCOL = TCP)(HOST = 168.168.168.42)(PORT = 1523))。

第三种解决方案:

 

如果你以上使用的是plsql developer工具或者是toad工具,应该以上的操作就绝对可以解决你的问题,

但是如果你使用的是navicat工具,以上怕是还不能解决你的问题。具体的如果在navicat工具上使用就是如下的问题:

Oracle基本是默认安装,安装过程没出现过任何异常
Oracle开启了两个服务:OracleServiceORCL和OracleOraDb11g_home1TNSListener
Navicat一直都连接不上本地的Oracle
网上搜了一大堆资料,大都是改那3个配置文件的
最终还是没能解决这个问题
最终的问题是:
Navicat主机那里如果填本机IP地址(192.168.18.8),错误代码是:ORA-12541:TNS:no listener
如果填localhost,错误代码是:ORA-28547:connection to server failed,probable Oracle Net admin error
tnsping localhost 是通的,tnsping 192.168.18.8 则出错 TNS-12541: TNS: 无监听程序

解决的方案是:

oci.dll的版本不对
  从 http://www.oracle.com/technology/software/tech/oci/instantclient/index.html 下载client
  里面很多,根据你的版本来下,我下载的是instantclient_11_1。
  在navicat的 工具-选项-其他-OCI ,选择刚下的client中的 oci.dll
  设置环境变量:
  1)在环境变量PATH中开头增加C:\Instantclient10_2;
  2)增加用户环境变量SQLPATH,值为C:\Instantclient10_2
  3)增加用户环境变量NLS_LANG,值为AMERICAN_AMERICA.UTF8
  选择 Basic 连接,就大概能连接上了

以上的操作可以通过如下进行排查:

进行查找:
1、首先确认你的数据库已经启动了,可以用net start OracleServiceORCL
2、其次确认你的侦听启动了否,用lsnrctl status查看,如果没有启动,用lsnrctl start启动。
3、以上启动后,直接打开sqlplus,输入用户名密码,无需输入服务名,直接登录即可。


转载于:https://my.oschina.net/gxs2012/blog/272412

### 回答1: navicat连接oracle报错12514通常是因为连接信息有误或Oracle服务未启动导致的。 解决方法如下: 1. 确保Oracle服务已启动,可以在命令行输入“services.msc”查看。 2. 检查连接信息是否正确,包括主机名、端口号、服务名等,建议使用tnsping命令测试连接。 3. 检查防火墙是否阻止了连接,可以暂时关闭防火墙进行测试。 4. 确保使用的Oracle客户端版本与Navicat兼容。 如果以上方法都没有解决问题,可以在Navicat的官方论坛上寻求帮助,或者联系Navicat的技术支持团队。 ### 回答2: navicat连接oracle报错12514是因为Oracle数据库实例监听器没有在指定的端口上运行或者无法正常连接。 解决这个问题的方法如下: 1. 确保Oracle监听器正在运行:可以通过在命令行中输入“lsnrctl status”命令来检查监听器的状态。如果监听器未运行,请输入“lsnrctl start”命令来启动监听器。 2. 检查连接配置:确保在navicat中输入的主机名、端口号、服务名等连接信息是正确的。可以通过查询tnsnames.ora或者使用Oracle Net Manager来获得正确的连接配置。 3. 确保防火墙未阻止连接:如果你使用了防火墙,请检查防火墙设置,确保不会阻止navicat与Oracle数据库之间的通信。 4. 检查数据库服务是否正在运行:进入Windows服务管理器,检查Oracle相关的服务是否正在运行,如果没有运行,请尝试启动相应的服务。 5. 检查数据库实例状态:通过在命令行中输入“sqlplus / as sysdba”命令来连接数据库实例,然后输入“select instance_name, status from v$instance”命令来检查数据库实例的状态。如果状态不是“OPEN”,则可能需要启动或者恢复数据库实例。 如果以上方法无法解决问题,建议向Oracle数据库管理员寻求帮助,他们可能需要进一步检查数据库配置和网络设置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值