请问没有监听器是怎么回事啊 重新配置监听服务,看服务里面TNS。。启动了没有 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果是windows,在服务里有一个服务OracleOraHome92TNSListener,启动他就可以了。一般在这个服务下面还有一个数据库服务,也要启动。也可以使用DOS命令lsnrctl start启动 启动监听服务控制面板->管理工具->服务 我也曾碰到过类似的情况,我把我找到的方法跟你分享一下吧。我装在D盘根目录下,具体路径按照你自己的更改。首先有一种情况就是你更改了计算机名,那你就要把D:\oracle\ora92\network\admin下的listener.ora 文件中的host参数全部改为新的计算机名,用记事本打开就行,然后重新启动OracleOra920TNSListener服务即可。服务在“控制面板->管理工具->服务”。如果不是上面的情况,你到“服务”看有没有OracleOra920TNSListener这一项,如果没有,你就打开“开始->程序->Oracle-OraHome92->Configuration and Migration Tools->net configuration assistant”,然后按照向导自己动手配置Listener。具体参数如下:(这些可以在listener.ora文件中找得到,如果你有的话)LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0)) ) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 你自己的计算机名)(PORT = 1521)) ) ) )还有一个监听器我不太清楚是不是一定要配置,我机子上是有的,给你参考一下吧:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = PLSExtProc) (ORACLE_HOME = D:\oracle\ora92) (PROGRAM = extproc) ) (SID_DESC = (GLOBAL_DBNAME = 你设置的全局数据库名) (ORACLE_HOME = D:\oracle\ora92) (SID_NAME = 你设置的SID) ) )配置完再去“服务”看OracleOra920TNSListener有没有启动,如果没有,试着右击让他启动,如果能正常运行,证明没什么问题(要设置为自动的)。如果不能启动,看系统弹出的信息框说了什么,如果是找不到一个.exe文件(看是不是这个TNSLSNR.EXE),那可能就是注册表里出了问题。在“运行”里面输入regedit,就会打开注册表,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下面寻找ora开头的服务,找到OracleOra920TNSListener,看看有没有ImagePath这个串值,如果没有,手动添加一个,类型是REG_EXPAND_SZ,然后双击添加数据值为D:\oracle\ora920\BIN\TNSLSNR.EXE (当然,具体路径看你自己的)。具体可以参照前面ora开头的服务。配置完之后再去前面说的“服务”去看看,启动OracleOra920TNSListener。也可以在运行里输入 tnsping (本机名/ip地址)看看能否ping通,如果最后一行显示ok,证明你已经启动监听器了。下面还有一些命令行里可以用的命令,有中文显示的,你也可以得到一些信息。 lsnrctl start:启动listener lsnrctl status:查看listener的状态 lsnrctl stop: 停止listener lsnrctl help: 查看全部参数好了,没了,我知道的就这么多了。^_^ 出现这个问题,不一定就是网络或者是监听器的问题,很有可能是你的数据库服务oracle<sid>service没有启动. 如果用了优化大师优化过了服务中的 tns服务项的 imagepath项为你的 LSNRCTL.exe文件所在的位置 也不能这么说的!我刚开始的时候也是在用优化大师的也是把TNS中的启动参数给优化掉了啊!!那就是通过pitiy所说的改一下注册表就可以了!!在net configuration assistant 中配置一下就ok了!!但我第二次的时候也优化大师的时候却没有出错啊!!!也是奇怪!!TNS正常!!所以说有是用优化大师会出错,有时就不会!!^_^ 如何取用户有权限访问的所有表名? Oracle表添加主键,棘手的问题 如何看oracel上的一个存储过程执行了多长时间了(或进度情况)? 救命啊,toad无法操作数据库中的某个表 sqlload能控制读取文件的开始行数吗? !求高人帮助MSSQL过程转换成ORALCE过程 问个简单的sql语句,请高手指点!!! 找不到第三张安装盘....怎么回事? 如何将oracle中的用户表还原成sql语句 如何让系统自动的更新一个表? *******无法进入企业管理器************ 新手初学,问一下这个SQL语句是什么意思!
一般在这个服务下面还有一个数据库服务,也要启动。
也可以使用DOS命令
lsnrctl start
启动
控制面板->管理工具->服务
如果不是上面的情况,你到“服务”看有没有OracleOra920TNSListener这一项,如果没有,你就打开“开始->程序->Oracle-OraHome92->Configuration and Migration Tools->net configuration assistant”,然后按照向导自己动手配置Listener。具体参数如下:(这些可以在listener.ora文件中找得到,如果你有的话)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 你自己的计算机名)(PORT = 1521))
)
)
)还有一个监听器我不太清楚是不是一定要配置,我机子上是有的,给你参考一下吧:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = 你设置的全局数据库名)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = 你设置的SID)
)
)
配置完再去“服务”看OracleOra920TNSListener有没有启动,如果没有,试着右击让他启动,如果能正常运行,证明没什么问题(要设置为自动的)。如果不能启动,看系统弹出的信息框说了什么,如果是找不到一个.exe文件(看是不是这个TNSLSNR.EXE),那可能就是注册表里出了问题。在“运行”里面输入regedit,就会打开注册表,在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下面寻找ora开头的服务,找到OracleOra920TNSListener,看看有没有ImagePath这个串值,如果没有,手动添加一个,类型是REG_EXPAND_SZ,然后双击添加数据值为D:\oracle\ora920\BIN\TNSLSNR.EXE (当然,具体路径看你自己的)。具体可以参照前面ora开头的服务。配置完之后再去前面说的“服务”去看看,启动OracleOra920TNSListener。也可以在运行里输入 tnsping (本机名/ip地址)看看能否ping通,如果最后一行显示ok,证明你已经启动监听器了。下面还有一些命令行里可以用的命令,有中文显示的,你也可以得到一些信息。
lsnrctl start:启动listener
lsnrctl status:查看listener的状态
lsnrctl stop: 停止listener
lsnrctl help: 查看全部参数好了,没了,我知道的就这么多了。^_^
服务中的 tns服务项的 imagepath项为
你的 LSNRCTL.exe文件所在的位置
参数给优化掉了啊!!那就是通过pitiy所说的改一下注册表就可以了!!
在net configuration assistant 中配置一下就ok了!!
但我第二次的时候也优化大师的时候却没有出错啊!!!也是奇怪!!
TNS正常!!
所以说有是用优化大师会出错,有时就不会!!^_^