oracle 11g ORA-12514问题

用sqlplus登陆数据库时,会出现12514的问题。
sqlplus sys@test as sysdba输入密码后出现ORA-12514: TNS:listener does not currently know of service requested in connect
descriptor,上网查询许多未果。希望有经验的朋友指教
查看listener.ora内容为:
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HUAANserv)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /opt/oracle

查看status信息为:
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=HUAANserv)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 11.2.0.1.0 - Production
Start Date 31-MAR-2010 10:58:28
Uptime 0 days 0 hr. 8 min. 22 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /opt/oracle/product/11.2/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/HUAANserv/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=HUAANserv)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully
用"/ as sysdba"进去会提示Connected to an idle instance
什么都做不了啊。

谢谢 linuxocp。不过我用的是solaris 10,不是windows

Connected to an idle instance

证明你实例未启动,先:
在cmd中输入net start|find "Ora"
一般有下面的两行:
OracleOraDb10g_home1TNSListener 监听器
OracleServiceORCL 数据库服务

如果没有的话,在运行里面输入
services.msc 找到相关实例服务,启动之

然后在sqlplus / as sysdba;
执行启动startup nomount;
alter database mount;
alter database open;
如果上面的三条语句顺利执行,数据库就能打开了,不行的话,查看alert_sid.ora文件中的错误信息。

然后The listener supports no services,这个信息显示,你的监听器还未配置服务,如果要添加服务可以在listener.ora这个文件中输入下面信息:

SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test) 服务名
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1) db_home
(SID_NAME = ORCL) ##这个是你要添加的服务
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\product\10.2.0\db_1) ##这个服务保证你可以使用外部过程,如C程序
)
)

然后再配置tnsnames.ora文件,加入下面的内容:

ZHANGYU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test) 与上面的服务名对应
)
)

在连接时你就可以这样测试下:
tnsping zhangyu;
最后几行出现下面类似的文本信息就表明服务配置成功:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test)))
OK (110 msec)

还有监听器的动态注册特征,感兴趣的可以参见一些资料,由于篇幅有限,就介绍这么多。

以上都是自己写的,绝无CTL+c,ctl+v.

监听器的配置跟所用平台无关,主要问题是这两个脚本文件;unix我没用过,不过linux我倒是用过的。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-04-01
你语句sqlplus sys@test as sysdba 中的@后面的test是什么意思??如果是实例名的话。。。你可以先set oracle_sid=test后再 sqlplus sys/密码 as sysdba登陆。

用"/ as sysdba"进去会提示Connected to an idle instance
什么都做不了啊。
如果像你说的这样。。那么你的数据库就没有完全启动。。你可以执行alter database open;来启动它
第2个回答  2010-04-01
BEN =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(sid = ben )
(SERVER = dedicated)
(SERVICE_NAME = bEn)
)
)
贴一个我本机的连接串,你发现你少了什么东西没
注:(SERVER = dedicated) 这个不是必要的,有默认

Connected to an idle instance
数据库没有被MOUNT
第3个回答  2010-03-31
配置tnsnames.ora,里面加入要监听的地址

oracle 11g ORA-12514问题
当遇到Oracle 11g中的ORA-12514问题时,通常意味着连接到的是一个未启动的实例。首先,检查命令行管理工具(如cm biod)中,确认Oracle OraDb10g_home1 TNSListener是否启动,以及OracleServiceORCL数据库服务是否运行。如果没有,通过"services.msc"找到相关实例服务并启动。接着,通过sqlplus以sysdba身份执...

ora-12514错误,怎么解决啊?
ORA-12514错误通常是由于客户端与Oracle数据库服务器之间的网络通信问题导致的。可能是由于网络延迟、连接中断或者数据库服务器的监听器问题造成的。此外,数据库的配置错误也可能导致此问题。解决此问题的关键是逐步检查并排除故障点,从网络连接、监听器状态、数据库配置等方面入手。如果问题依然无法解决,应...

Oracle12514错误发生的几种原因
1. 服务名配置错误:当客户端尝试连接数据库时,它需要知道要连接的服务名。如果服务名配置错误或不存在,就会出现Oracle 12514错误。解决这个问题的方法是检查tnsnames.ora文件中的服务名配置是否正确。确保服务名与数据库服务器上监听器配置的服务名一致。2. 监听器未启动或未正确配置:Oracle数据库使用监...

oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的...
oracle 11g ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务是设置错误造成的,解决方法为:1、找到ORACLE数据库安装目录,product\\11.2.0\\dbhome_1\\NETWORK\\ADMIN 下的listener.ora文件。2、右键点击该文件,选择【属性】选项,点击打开。3、进入属性界面,点击上方【安全】。4、进入安全...

登录Oracle数据库时提示“ORA-12514:TNS 监听程序当前无法识别连接描 ...
1、首先,按键盘的组合键“ Win+R”,在运行窗口中输入“ services.msc”,按Enter键确认,如下图所示。2、其次,完成上述步骤后,转到Orcale并启动与Oracle相关的所有服务,如下图所示。3、接着,完成上述步骤后,转到oracle11g安装目录并找到侦听文件“ listener.ora”,如下图所示。4、然后,完成...

Oracle-12514错误发生的几种原因
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....

oracle 11g ORA-12514问题
证明你实例未启动,先:在cmd中输入net start|find "Ora"一般有下面的两行:OracleOraDb10g_home1TNSListener 监听器 OracleServiceORCL 数据库服务 如果没有的话,在运行里面输入 services.msc 找到相关实例服务,启动之 然后在sqlplus \/ as sysdba;执行启动startup nomount;alter database mount;...

oracle11g 客户端 ora 12514 如何解决???
[oracle@vrh8 ~]$ oerr ora 12514 12514, 00000, "TNS:listener does not currently know of service requested in connect descriptor"\/\/ *Cause: The listener received a request to establish a connection to a \/\/ database or other service. The connect descriptor received by the ...

Oracle11G,用cmd登陆完全正常,但是用pl\/sql developer登陆的时候...
•1. 下载32位Oracle InstantClient,并展开到某目录,例如C:\\instantclient-basic-nt-11.2.0.2.0;•2. 将系统的tnsnames.ora拷贝到该目录下;•3. 在PLSQL Developer中设置Oracle_Home和OCI Library:ToolsPreferencesOracleConnection:Oracle_Home:C:...

oracle11g能正常使用在重启服务器后报ORA-12514: TNS: 监听程序当前无法...
检查listener.ora和tnsnames.ora,或者把服务器和客户端的这两个文件都贴上来

相似回答