(转)Oracle连接相关错误解决方法

Oracle连接相关错误解决方法(一步步检查下去,实践证明,任何连接相关错误都可解决) 
1、  Ping 
a)         网络 
b)        防火墙 
2、  Tnsping 
a)         Tnsping正确只是告诉你至少监听是正常的。 
b)        Tnsnames.ora配置问题 
c)         Oracle环境变量(客户端) 
d)        Sqlnet.ora 
3、  Sqlplus “/as sysdba” 
a)         报无权限,检查ORACLE_HOME,ORACLE_SID的设置,sqlnet.ora中的设置,用户是否在ora_dba组中。
4、  sqlplus username/password@orcl 
a)         服务器是否启动 
b)        监听是否启用 
c)         Oracle服务器端连接 
d)        查看服务器端的listener.log,sqlnet.log,确定客户端是否已经到达监听,如果没有就是完全错的,否则可能的oracle服务配置有问题。 
5、  Sqlplus easy connect 
a)         如果能连接就是oracle客户端环境有问题,否则按照上述方式处理 
6、  ORA-12518 TNS:监听程序无法分发客户机连接 
遇到过的一个情况就是客户端tnsnames.ora中的service_name在服务器端不存在,但是呢在listener.ora中呢又配置了到这个实例的侦听引起的。如下所示,服务器上不存在名为cjn的实例。 


在一台服务器上安装了多个数据库实例的时候,发生这种情况的概率大很多。 
数据库实例没有启动也是可能的。 
7、  TNS-12519 
ORA-12519: no appropriate service handler found 
alter system set processes = 300 scope = spfile; 
startup force 
8、  ORA-12500 
ORA-12500: TNS:listener failed to start a dedicated server process 
客户端tnsnames.ora中的service_name在服务器端不存在,但是呢在listener.ora中呢又配置了到这个实例的侦听引起的。 
9、  已使用 HOSTNAME 适配器来解析别名,TNS-12541: TNS: 无监听程序 
a)         检查oracle_home是不是有多个,比如同时安装了10g和11g 
10、              ORA-12152: TNS:unable to send break message 
用sql*plus连接即可。也有可能服务器那边进程已经被kill干掉了。 
11、              TNS-12541:TNS: 无监听程序 
客户端使用sqlplus usename/password@tns连接的时候报TNS-12541:TNS: 无监听程序,而服务器上监听是开着的,应该是客户端tns配置有问题(如应该使用ip而非localhost),可以先使用easy connect测试一下 
10、12560: 协议适配器错误 
    一般是服务器没有起来,尝试sqlplus “/as sysdba”还是抱ora-12560。尝试设置oracle_sid,oracle_home为正确的值,再尝试连接看看。在oracle 9i&8i中遇到这个错误还有一种可能就是sga设置的问题,看报错的原因是sga太大,但实际上一定要调整到自动初始化的大小才能启动oracle。当使用sysdba连接的时候会报”共享内存已存在”,但是无法正常shutdown(包括abort),这是因为设置了Oracle通过服务自动启动,但是环境变量中的oracle_sid又没有被windows服务识别,导致sid有一块sga一直被windows认为已经在了,但是它的sid却又不知道。因此会出现该问题。解决方法为:将oracle改为手工启动,重启windows服务器,然后通过sqlplus “/as sysdba”,startup pfile=’init.ora’来启动,启动后手工调整sga,pga等参数的大小。 

ORA-12638: 身份证明检索失败 的解决办法 
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\ sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES = (NTS)改为NONE即可。 

ORA-01031: 权限不足 
C:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\ sqlnet.ora中的SQLNET.AUTHENTICATION_SERVICES = (NONE)改为NTS即可。 

 

 

REFS:http://song-ps.iteye.com/blog/1119275

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值