我在XP上装完数据库,当时可以用SQL PLUS登陆
但是重新启动机器后,就不能用SQL PLUS登陆了,提示
ORA-12154: TNS:无法解析指定的连接标志符
数据库应该是启动的,在任务里面能看到. 今天启动用SYSTEM用户用SQL PLUS登陆时,又报 ERROR - ORA-12541: TNS:no listener
tnsnames.ora文件内容如下 # tnsnames.ora Network Configuration File: D:\oracleDB\network\admin\tnsnames.ora
# Generated by Oracle configuration tools. ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = liz)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = ORCL)
(PRESENTATION = RO)
)
)
listener.ora文件的内容如下
# listener.ora Network Configuration File: D:\oracleDB\network\admin\listener.ora
# Generated by Oracle configuration tools. SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\oracleDB)
(PROGRAM = extproc)
)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = liz)(PORT = 1521))
)
)
)
sqlnet.ora文件内容如下
# sqlnet.ora Network Configuration File: D:\oracleDB\network\admin\sqlnet.ora
# Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
我用lsnrctl start 显示下面的信息
C:\Documents and Settings\user>lsnrctl startLSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 18-6月 -2009 12:0
1:28Copyright (c) 1991, 2004, Oracle. All rights reserved.Starting tnslsnr: please wait...Service OracleOraDb10g_home1TNSListener already running.
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
32-bit Windows Error: 1056: Unknown error请高手帮忙看看是什么地方出错了,详细指点一下具体怎么修改。
但是重新启动机器后,就不能用SQL PLUS登陆了,提示
ORA-12154: TNS:无法解析指定的连接标志符
数据库应该是启动的,在任务里面能看到. 今天启动用SYSTEM用户用SQL PLUS登陆时,又报 ERROR - ORA-12541: TNS:no listener
tnsnames.ora文件内容如下 # tnsnames.ora Network Configuration File: D:\oracleDB\network\admin\tnsnames.ora
# Generated by Oracle configuration tools. ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = liz)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
) EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = ORCL)
(PRESENTATION = RO)
)
)
listener.ora文件的内容如下
# listener.ora Network Configuration File: D:\oracleDB\network\admin\listener.ora
# Generated by Oracle configuration tools. SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\oracleDB)
(PROGRAM = extproc)
)
) LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = liz)(PORT = 1521))
)
)
)
sqlnet.ora文件内容如下
# sqlnet.ora Network Configuration File: D:\oracleDB\network\admin\sqlnet.ora
# Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
我用lsnrctl start 显示下面的信息
C:\Documents and Settings\user>lsnrctl startLSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 18-6月 -2009 12:0
1:28Copyright (c) 1991, 2004, Oracle. All rights reserved.Starting tnslsnr: please wait...Service OracleOraDb10g_home1TNSListener already running.
TNS-12560: TNS:protocol adapter error
TNS-00530: Protocol adapter error
32-bit Windows Error: 1056: Unknown error请高手帮忙看看是什么地方出错了,详细指点一下具体怎么修改。
解决方案 »
- Oracle写批处理文件
- oracle 表空间文件丢失不能启动oracle
- ORACLE 监听 TNSLSNR 自动关闭问题
- oracle用sql语句导出csv
- 如何自学ORACLE
- oracle listener.ora tnsnames.ora sqlnet.ora 问题
- postgrsql group by count() 没有则返回0 的问题
- oracle9i 中怎样创建用户名和密码?又怎样导入文件?
- 如何对数据库中的表进行截断?请高手指点,非常急,在线等!!!!
- Oracle 8.1.6与Oracle 8.1.5的问题:
- oracle 10g 连接mysql数据库
- ORACLE查询取第一条数据
你看看这个
2 通过sqlplus / as sysdba看能否登录成功,如果成功说明应该是tnsnames.ora文件配置有问题
3 检查tnsnames.ora中的HOST,PORT,SERVICE_NAME检查核实一下
4 启动监听程序,然后使用sqlplus user/password@localservicename登录尝试
如何在 客户端上新建tnsname ?
我是本机装的数据库,本机访问,重新启动后,报的错误如我上面的描述.把liz修改成127.0.0.1也不行但是我发现用SQLPLUS登陆的时候,用户名/密码都输入,把主机字符串输入成orcl就报上面的错误,但是
如果我只输入用户名/密码,主机字符串不输入, 这个时候就可以,请问这种情况正常吗?还有没有高手能指点一下?谢谢
如果我只输入用户名/密码,主机字符串不输入, 这个时候就可以,请问这种情况正常吗? 正常的啊,主机字符串是用来远程登录的。如果是登陆本地的库,完全可以不用主机字符串,直接用sqlplus username/passwd就可以了
listener已经启动了你可以用lsnrctl status查看一下。
根据你这里的提示,listener此时已经启动了,你可以用lsnrctl status查查listener的状况和实例注册的状况先。
用lsnrctl status查看结果如下,但是我看了结果,也解决不了问题啊? 哪位高人能指一个解决问题的办法.Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.C:\Documents and Settings\user>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 19-6月 -2009 13:5
3:48Copyright (c) 1991, 2004, Oracle. All rights reserved.Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 32-bit Windows: Version 10.1.0.2.0 - Produ
ction
Start Date 19-6月 -2009 12:57:19
Uptime 0 days 0 hr. 56 min. 29 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File D:\oracleDB\network\admin\listener.ora
Listener Log File D:\oracleDB\network\log\listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROCipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lizhen)(PORT=8080))(Presentation=HTT
P)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=lizhen)(PORT=2100))(Presentation=FTP
)(Session=RAW))
Services Summary...
Service "orcl" has 2 instance(s).
Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfullyC:\Documents and Settings\user>
在net manager中重新建立ORCL的服务也不行吗?
listener是正常的,那就是tns这块的问题了,分别在服务器和客户端都tnsping tnsname一把,看有么有什么状况发生