TNS:no listener 如何解决

emmabohe 2008-10-09 02:26:44
oracle版本是 oracle10g 在装oracle的时候并没有联网,我的是宽带上网,联网的话会提示错误。
在装好之后用plsql登陆,正常。
重启,这当中一直是联网的。
重启之后再用plsql登陆,出现错误,在装好oracle之后除了监听服务其他均设置为手动启动,启动dbconsoleorcl的时候出现错误,“Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,并参考特定服务错误代码 2。”
询问同学之后他说,要在未联网的情况下启动oracle,当联网之后再次启动会出错。
请问各位高手有没有办法可以解决一下,我不想每次都是在未联网的情况下启动,而后再联网,这样很麻烦。
谢谢各位了。
...全文
1974 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
akuuu 2008-10-19
  • 打赏
  • 举报
回复
ip 设置为127.0.0.1

我是直接宽带上网的,每次拨号ip都会不一样,listener.ora,tnsnames.ora等都用的是机器名,刚才no listener 了,结果我把改为HOST =127.0.0.1 居然可以了,真是让人郁闷的oracle
real_name 2008-10-12
  • 打赏
  • 举报
回复
帮顶。。。
liyongjie 2008-10-12
  • 打赏
  • 举报
回复
我遇到過這樣的問題,解決方法:
dbconsole 無法啟動問題:
1 分析原因:在安裝時網線是斷開的,首次能進入http://localhost:1158/em
2 連上網線,接入internet後無法進入em
3 解決方法:先斷禁用網卡,啟動dbconsole服務,再進入http://localhost:1158/em,如果想上網,再啟動網卡,OK!

如定果在局域網設定IP時裝上的Oracle 1og,那麼拔掉網線後將無法登錄:http://localhost:1158/em
解決辦法是安裝一個 網卡適配器,方法是:
1,在控制面板中,點擊 新增硬件
2,選擇 microsoft lookback adapter
jfbm788 2008-10-11
  • 打赏
  • 举报
回复
检查IP
fjmingyang 2008-10-11
  • 打赏
  • 举报
回复
ip 设置为127.0.0.1
BlueskyWide 2008-10-10
  • 打赏
  • 举报
回复
试着原理解析:

1.Oracle对安装时的IP地址有着较强的依赖,很多时候安装完Oracle后再改IP地址后Oracle便不能正常运行;
2.所以宽带接入后自动分配的IP地址,相当于你修改了IP;
3.如8楼所说修改为你本机机器名。给个9i的这两个文件的地址:如D:\oracle\ora92\network\admin

[Quote=引用楼主 emmabohe 的帖子:]
oracle版本是 oracle10g 在装oracle的时候并没有联网,我的是宽带上网,联网的话会提示错误。
在装好之后用plsql登陆,正常。
重启,这当中一直是联网的。
重启之后再用plsql登陆,出现错误,在装好oracle之后除了监听服务其他均设置为手动启动,启动dbconsoleorcl的时候出现错误,“Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,…
[/Quote]

[Quote=引用 8 楼 sleepzzzzz 的回复:]
宽带上网一般是每次自动获取IP的方式.
检查一下listener.ora,tnsnames.ora等文件,如果有ip形式的值,全部改为你的机器名,然后再试试.
[/Quote]
iihero 2008-10-10
  • 打赏
  • 举报
回复
8楼的说的正确。
范佩西_11 2008-10-10
  • 打赏
  • 举报
回复
IP地址的问题。
sleepzzzzz 2008-10-10
  • 打赏
  • 举报
回复
宽带上网一般是每次自动获取IP的方式.
检查一下listener.ora,tnsnames.ora等文件,如果有ip形式的值,全部改为你的机器名,然后再试试.
oracledbalgtu 2008-10-10
  • 打赏
  • 举报
回复
联网的情况下在dos执行:
emca -config dbcontrol db -repos recreate

就可以解决了.


[Quote=引用楼主 emmabohe 的帖子:]
oracle版本是 oracle10g 在装oracle的时候并没有联网,我的是宽带上网,联网的话会提示错误。
在装好之后用plsql登陆,正常。
重启,这当中一直是联网的。
重启之后再用plsql登陆,出现错误,在装好oracle之后除了监听服务其他均设置为手动启动,启动dbconsoleorcl的时候出现错误,“Windows 不能在 本地计算机 启动 OracleDBConsoleorcl。有关更多信息,查阅系统事件日志。如果这是非 Microsoft 服务,请与服务厂商联系,…
[/Quote]
ruihuahan 2008-10-10
  • 打赏
  • 举报
回复
是自动获取的ip吧?
emmabohe 2008-10-09
  • 打赏
  • 举报
回复
我尝试了使用你的方法,但是到
C:Documents and SettingsAdministrator>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://nb-rocket:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl10
g 服務正在啟動 .................................................................
................................................
OracleDBConsoleorcl10g 服務已經啟動成功。
的时候不好用了 ,我联网之后的ip是192.168.12.123 doc提示说在OC4J Configuration issue.E:oracle\product\10.1.0\DB_1/oc4j/j2ee/OC4J_DBConsole_192.168.12.123_ORCL10G not found.
不好意思 本人比较笨 还请指点一下
emmabohe 2008-10-09
  • 打赏
  • 举报
回复
这个问题确实有点奇怪,只要不联网就是好用的,联网之后启动oracle就是不好用
cosio 2008-10-09
  • 打赏
  • 举报
回复
配置一下就自动生成了!
emmabohe 2008-10-09
  • 打赏
  • 举报
回复
楼上的写得很多,但是并不是我想要的答案,我说的是如何在联网的情况下启动oracle,刚刚在未联网的时候我试了一下,果然是好用了,两个错误都没有了,但是一旦在联网的情况下启动就会报错。
另外在listener.ora文件中的hostid是自动生成的还是在配置监听的时候生成的?
cosio 2008-10-09
  • 打赏
  • 举报
回复
實例在10g中用這兩個命令 isqlplusctl stop|start, emctl start|stop dbconsole

要用web的方式訪問OEM必需啟動emctl dbconsole 然后通過 http://servername:5500/em 來訪問



C:Documents and SettingsAdministrator>isqlplusctl stop
iSQL*Plus 10.1.0.2.0
Copyright (c) 2004 Oracle. All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.

C:Documents and SettingsAdministrator>isqlplusctl start
iSQL*Plus 10.1.0.2.0
Copyright (c) 2004 Oracle. All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.

C:Documents and SettingsAdministrator>isqlplusctl stop
iSQL*Plus 10.1.0.2.0
Copyright (c) 2004 Oracle. All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.

C:Documents and SettingsAdministrator>emctl start dbconsole
Environment variable ORACLE_SID not defined. Please define it.

C:Documents and SettingsAdministrator>set ORACLE_SID=ORCL10G

C:Documents and SettingsAdministrator>ECHO %ORACLE_SID%
ORCL10G

C:Documents and SettingsAdministrator>emctl start dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://nb-rocket:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ...OracleDBConsoleorcl10
g 服務正在啟動 .................................................................
................................................
OracleDBConsoleorcl10g 服務已經啟動成功。


C:Documents and SettingsAdministrator>emctl stop dbconsole
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://nb-rocket:5500/em/console/aboutApplication
OracleDBConsoleorcl10g 服務正在停止.........................................
.........
OracleDBConsoleorcl10g 服務已經成功停止。


C:Documents and SettingsAdministrator>


TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 文章转自:http://www.luocs.com/archives/464.html 此文版权归作者 – yaogang所有,转载请注明yaogang©www.luocs.com。 Luocs说:这是我一个朋友的一个监听器问题解决案例,这是昨天发生的事情,我一直跟朋友一起Troubleshooting,折腾了半天最后是BUG所致。再次汗颜,Windows平台惹不起啊!好,那么下面开始分享我朋友的案例! 环境描述: OS : Windows Server 2008 64Bit (做了HA) DB : 11.1.0.7.0 排错过程: 前天应用不能访问数据库了 (后台应用能访问数据库),故障发生。 马上登录到服务器里查看监听状态,发现有TNS-12541 ,TNS-12560等错误 Luocs补充:我跟朋友要了错误代码,但他没有保存,就直接贴图。 从计算器的管理 –> 服务选项 –> 检查oracle 监听服务程序,发现该服务已经停止。 手动把监听服务启动,这时候服务状态上显示为已启动,但在CMD窗口执行lsnrctl status的时候依然返回错误信息: C:\>lsnrctl status LSNRCTL for 64-bit Windows: Version 11.1.0.7.0 - Production on 12-11月-2012 18:1 8:32 Copyright (c) 1991, 2008, Oracle. All rights reserved. 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=10.10.203.218)(PORT=1521))) TNS-12541: TNS: 无监听程序 TNS-12560: TNS: 协议适配器错误 TNS-00511: 无监听程序 64-bit Windows Error: 61: Unknown error 正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 过段时间回显非常慢。 然后我检查了下告警日志,大量的ora错误 Fatal NI connect error 12170. VERSION INFORMATION: TNS for 64-bit Windows: Version 11.1.0.7.0 - Production Oracle Bequeath NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Windows NT TCP/IP NT Protocol Adapter for 64-bit Windows: Version 11.1.0.7.0 - Production Time: 12-11月-2012 15:23:33 Tracing not turned on. Tns error struct: ns main err code: 12535 TNS-12535: TNS: 操作超时 ns secondary err code: 12560 nt main err code: 0 nt secondary err code: 0 nt OS err code: 0 Client address: ORA-609 : opiodr aborting process unknown ospid (4116_6104) 这时候朋友怀疑是不是监听器配置问题,就把原先的监听器删除重建了下,问题依然。 网上有个解决TNS-12535错误的案例,平台和版本都很类似,如下: 1、在 sqlnet.ora文件中 增加如下行: DIAG_ADR_ENABLED = OFF 2、在listener.ora文件中增加如下行: DIAG_ADR_ENABLED_ = OFF 如何监听是listener时,则前面的名称为:DIAG_ADR_ENABLED_LISTENER = OFF 3、重新启动windows服务管理中的监听程序.先停止,然后再重新启动. 4、检查结果.发现可以了,返回的值在10毫秒.有时为0毫秒.成功!! 但这并不是问题发生原因,在继续排查过程中偶然发现监听日志大小居然为4G。然后把这现象告诉了Luocs。 过了一会儿,Luocs回应是Oracle一个BUG,BUG号为9879101 : THE CONNECT THROUGH LISTENER WAS SLOW WHEN LISTNER LOG GROWED 4GB。 Luocs还提供了MOS上一篇文章,ID 1319797.1 : WINDOWS: Listener Hangs & Lsnrctl Commands Are Slow or Hang,里面给出了解决方法: You can solve this problem by deleting the large listener in $ORACLE_BASE\diag\tnslsnr\\listener\trace\.log 1) Stop the listener process using the command line or Control Panel Service. 2) Delete the log file(s) that are at or approaching the 4G size limit at this location: $ORACLE_BASE\diag\tnslsnr\\listener\trace\.log 3) Issue any lsnrctl command and you will see a new listener.log in its place under: $ORACLE_BASE\diag\tnslsnr\\listener\trace\ Since ADR Diagnostics are enabled for this listener these steps cannot be done dynamically using the lsnrctl utility. e.g. LSNRCTL>set log_file mylog Will yield: TNS-01251: Cannot set trace/log directory under ADR. However, it is possible to disable the flat file listener logging using the following commands: LSNRCTL>set current_listener LSNRCTL>set log_status OFF LSNRCTL>save_config 我就按照以上说明如下进行: 1)LSNRCTL进入交互模式 2)执行set current_listener LISTENER 3)set log_status off 4)stop 停止监听器 5)手工删除ADR指定的监听日志路径下的listener.log文件 6)start重启监听器 7)status查看状态 到此问题解决

17,378

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧