大概刷了些帖子,csdn的朋友常会遇见Oracle客户端连接服务器端的一些监听器配置问题,当然不能囊括所有的连接异常。解决问题的关键在于方法与思路,而不是每种问题都有固定的答案。
现在搞这个活动,欢迎您贴出您的问题及其解决过程
论功行赏........
200分啊,分不够可以另外开贴赠送哦
期待您的加入
赠人玫瑰,手留余香
我先来吧,算是抛砖哈
① ORA-12560 错误总结
以win平台为例(linux一样的)
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,
启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务
面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SI
D设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建
,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下
输set oracle_sid=XXXX,XXXX就是你的database SID
② ORA-12514错误总结
1)、 ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的SERVICE_NAME
打开Net Manager,选中服务名称,检查服务标识栏里的服务名输入是否正确。该服务名必须与服务器端监听器配置的全局数据库名一致。同时检查sqlnet.ora,例如如果想要采用简便连接方式连接就需要在NAMES.DIRECTORY_PATH参数中添加EZCONNECT。
2)、 Ora-12514:TNS:监听程序当前无法识别链接描述符中请求的服务
该问题是由于缺少监听器的SID_LIST描述项引起的,采用netca进行配置的时候经常会遇到该问题,listener.ora示例如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = SAMPLE.COM)
(ORACLE_HOME = /opt/oracle/product/9.2.0.4)
(SID_NAME = SAMPLE)
))
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = tcy.com)(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)))
③ ORA-12518错误总结
TNS:监听程序无法分发客户机连接
出现该报错有两个原因:在共享模式下是由于调度进程(dispatchers)太少,在独占模式下是由于进程数(proces ses)超过了数据库默认的最大进程数。解决步骤:
1、show parameter process查看数据库允许最大进程数
2、select count(*) from v$session;查看当前系统进程数
如果进程数不够,可通过扩大PGA来增大进程数:
alter system set workarea_size_policy=auto scope=both;
alter system set pga_aggregate_target=512m scope=both;
3、show parameter dispatchers查看调度进程数量
如果调度进程太少,则可执行:
alter system set dispatchers = '(protocol=tcp)(dispatchers=3)(service=oracle10xdb)';
④ ORA-12535: TNS: 操作超时
出现这个问题的原因很多,但主要跟网络有关。解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接
⑤ ORA-12154:
TNS: 无法处理服务名
检查输入的服务名与配置的服务名是否一致。另外注意生成的本地服务名文件(Windows下如D:oracleora92networkadmin tnsnames.ora,Linux/Unix下/network/admin/tnsnames.ora)里每项服务的首 行服务名称前不能有空格。
⑥ ORA-12500:
TNS: 监听程序无法启动专用服务器进程
对于Windows而言,没有启动Oracle实例服务
------解决方案--------------------
斌仔好文章
------解决方案--------------------
今天突然发现用pl-sql客户端连接数据库速度好慢,得半分钟之久,以前都好着。。但是用command line连接是正常的,很快,是怎么回事啊?
------解决方案--------------------
楼主好贴。写到博客里面吧
------解决方案--------------------
这个版主第一次见到啊,
------解决方案--------------------
有配置一些,但是我用pl/sql连接其他的数据库都没有问题啊,就是连那一台是这样,那台机器本地连也很慢,但是command line又是正常的
------解决方案--------------------
这个置顶
------解决方案--------------------
给版主增加一个
ORA-12170: TNS: 连接超时的情况
如果用户密码中包含@这个字符,用sqlplus登录的时候会提示ORA-12170