ORA-12557的出现有时候与ORACLE_HOME未设置或设置错误有关

ORA-12557的解决过程


 
ORA-12557:TNS:protocol adapter not loadable
Cause:On some platforms (such as OS/2) protocol adapters are loadedat run-time. If the shared library (or DLL) for the protocoladapter is missing or one of its supporting libraries is missingthen this error is returned.
Action:For further details, turn on tracing and reexecute theoperation. The trace file will include the name of the sharedlibrary (or DLL) that could not be loaded.

1. Make sure the %ORACLE_HOME%/bin directory(即目录) is in your (环境变量)PATH.//即ORA-12557的出现有时候与ORACLE_HOME未设置或设置错误有关
2. Make sure the protocol is typed/specified correctly in your
tnsnames.ora file or whatever source you're using to resolve service
names.
3. TCP is the default protocol and is installed by default.If
you're using something different (like SPX) make sure you installedthe
protocol adapter.
4. Make sure TOAD is using the correct oracle_home if youhave
multiple homes installed

-------------------------环境是装了两个实例,一个9i,一个10G

SQL> conn sys/admin@c11 assysdba;
ERROR:
ORA-12557: TNS:protocol adapter not loadable

------lsnrctl>status 报错

Message 1053 not found; No message file for product=NETWORK,facility=TNSTNS-12538: Message

12538 not found; No message file for product=NETWORK,facility=TNS
TNS-12560: Message 12560 not found; No message file forproduct=NETWORK, facility=TNS
TNS-00508: Message 508 not found; No message file forproduct=NETWORK, facility=TNS

---------------

1、重新配置监听

2、echo %oracle_home% 查看所打开的实例是不是在这个目录下

如不是设set oracle_home=d:oracleora92

以上摘自:http://steve352.itpub.net/post/33251/306560


恰巧今天有个朋友同样装了9I跟10也出现了ORA-12557,修改oracle_sid错误仍然,修改oracle_home为当前数据库的oracle_home以后,问题解决.


说明:

1、ORACLE_HOME是Oracle所安装软件的根目录。Oracle根据这个根目录,可以相对定位其他相关的程序在哪

ORACLE_HOME如果不对的话,那么比如启动数据库或者登陆的时候找不到相关的程序会出错

2、SID是建立一个数据库时,这个数据库的标识符

3、如果一个版本里有2个或多个instance那怎么设置oracle_sid

   其实在环境变量里设置oracle_sid只是在conn 不带@时默认连接的数据库,所以只有一个,其实可以不设置。但是如果一个版本里有2个或多个instance时,conn就必须带 @sid_name了sid_name即是一个网络服务名,注意这个时候是必须要开启监听了lsnrct start)


=========================================

环境背景:本机有多个oracle实例(11,9i),连接的服务器的oracle是9i

前因:我刚进公司,于是电脑域账号还在审批中没下来,用的以前那人的账号登录系统,一切正常。
后果:我的账号下来了,于是我换成我自己的账号登录电脑,所有配置重置,这时候一切的环境变量重新设置,当所有的环境变量设置和之前一样,以为大功告成了。

打开plsql,连接oralce,报了这个错:ORA-12557,网上找了一大堆,都不是我的出现问题的原因,搞了一下午,实在搞不定了,找公司大神一看,大神直奔主题,点开plsql中的,帮助->支持信息,看到Preferences中的OCI Library用的11g的oci.dll,一目了然。

于是打开Preference Files中的2个Default.ini文件查看,把OCIFile改掉成9i的路径(OCIFile=D:\Oracle9i\ora90\BIN\oci.dll),搞定。


汗啊~~~~~~~~~~搞了我一下午,大神就搞了1分钟不到

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值