各位,
错误:最近工作时发现我们测试服务器出现“ORA_12514:TNS:listener does not currently know of service requested in connect descriptor”错误。处理办法:右键点击我的电脑-》管理——》服务和应用程序(左侧列表)——》双击右侧服务——》重启“OracleJobScheduler[oracle_sid]”
这样就可以登陆数据库访问了。我想请问一下这个问题是什么原因造成的。
错误:最近工作时发现我们测试服务器出现“ORA_12514:TNS:listener does not currently know of service requested in connect descriptor”错误。处理办法:右键点击我的电脑-》管理——》服务和应用程序(左侧列表)——》双击右侧服务——》重启“OracleJobScheduler[oracle_sid]”
这样就可以登陆数据库访问了。我想请问一下这个问题是什么原因造成的。
简单的说就是这两个参数不够大,open_cursors,processes
你改大点试试
你早cmd命令行模式下 lsnrctl start; 启动下lsnr吧,估计是这个没有启动。
show parameter process
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
db_writer_processes integer 1
gcs_server_processes integer 0
job_queue_processes integer 10
log_archive_max_processes integer 2
processes integer 150
SQL> show parameter open_cursors
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
open_cursors integer 300参数设置也都不小,各位辛苦
Cause: The listener received a request to establish a connection to a database or other service. The connect descriptor received by the listener specified a service name for a service (usually a database service) that either has not yet dynamically registered with the listener or has not been statically configured for the listener. This may be a temporary condition such as after the listener has started, but before the database instance has registered with the listener.
Action:
- Wait a moment and try to connect a second time.
- Check which services are currently known by the listener by executing: lsnrctl services <listener name>
- Check that the SERVICE_NAME parameter in the connect descriptor of the net service name used specifies a service known by the listener.
- If an easy connect naming connect identifier was used, check that the service name specified is a service known by the listener.
- Check for an event in the listener.log file.
从这段解释来看,还是监听的问题。 不知道楼主的监听是怎么配置的。 Oracle Listener 动态注册 与 静态注册
http://blog.csdn.net/tianlesoftware/archive/2010/04/30/5543166.aspx
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
DBA1 群:62697716(满); DBA2 群:62697977
今天遭遇ORA-12560: TNS: 协议适配器错误的问题,经过一番努力问题已经解决,与大家共享。
造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个:
1.监听服务没有起起来。windows平台个一如下操作:开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务。
2.database instance没有起起来。windows平台如下操作:开始---程序---管理工具---服务,打开服务面板,启动oracleserviceXXXX,XXXX就是你的database SID.
3.注册表问题。regedit,然后进入HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXX,XXXX就是你的database SID.或者右几我的电脑,属性--高级--环境变量---系统变量--新建,变量名=oracle_sid,变量值=XXXX,XXXX就是你的database SID.或者进入sqlplus前,在command line下输set oracle_sid=XXXX,XXXX就是你的database SID.
经过以上步骤,就可以解决问题。