详解sqldeveloper连接常见错误

时间:2022-04-21 15:42:52

常见错误:

1.Got minus one from a read call异常

2.The Network Adapter could not establish the connection

3.端口被占用

4.用户密码错误

5.主机名错误

 

 

下面详解各种错误原因以及解决方法:

1.Got minus one from a read call异常

原因:

1.数据库连接满了,扩大数据库连接池

2.所登录的机子IP不在sqlnet.ora内,加入后重启listerner即可

3:数据库负载均衡时,指定了(SERVER=DEDICATED),去除这个即可

4:网管在Oracle配置上限制了该台机子访问Oracle的权限,这个问题基本和2类似,也是修改Oracle配置即可

解决方法:

Win+r 打开运行,输入services.msc 查看其中开启的服务,关闭不必要的服务(特别是其他数据库的服务),测试是否能连接,若不能连接,将没有必要启动的服务设置为手动启动方式,重启计算机

 

针对第二种和第四钟情况,你只需打开sqlnet.ora(在NETWORK\ADMIN路径下)文件查看是否有如下内容:
cp.validnode_checking=yes

#允许访问的ip

tcp.invited_nodes =(ip1,ip2,……)

#不允许访问的ip

tcp.excluded_nodes=(ip1,ip2,……)

如果有你的ip,去掉即可。

 

针对第三种情况:
打开trsname.ora(一般和sqlnet.ora在同一路径)文件,将里面的SERVER = DEDICATED配置去掉

如果你的数据库配置是MTS,不指定DEDICATED,就是SHARED模式

如果不是,将DEDICATED改为SHARED

 

 

2.The Network Adapter could not establish the connection

主要原因:

监听服务的问题(监听无法启动)

在实验室很多机子因为各种各样的原因,导致监听服务无法启动,这时候我们需要重建监听服务或者修改注册表

重建监听服务:
如上图所示

先将服务删除,然后再增加服务,跟着提示一步一步默认做,这里就不一一截图说明了。

 

修改注册表:
开始–>运行REGEDIT –>进入注册表找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleXXXTNSListener

 

发现ImagePath关键值没有了,新建一个名为ImagePath的可扩充字符串值,编辑字符串的数值数据为:Oracle安装路径\BIN\TNSLSNR

 

3.端口被占用

原因:数据监听服务的1521端口被其他程序占用

解决方法:这时候我们需要kill这个进程,通过端口号找到对应的进程,然后kill这个进程,这个不懂的朋友,请移步:

http://www.hangger.com/index.php/archives/254

 

4.用户密码错误

这里建议使用sys 或者system用户登陆,

如果不记得sys用户的密码,在本机操作,使用如下方法修改sys用户的密码:
sqlplus /nolog;

conn / as sysdba;

alter user sys identified by orcl;

 

5.主机名错误

这里如果服务器和客户端在同一台机器上面,这里建议所有的主机名全部写localhost