由于本人是初学者,在学校用的是人家已经装好的,所以我就在自己机子上也装了一个9i版本的,可装后总是提示没有监听器,确定服务已启动,重新配置了也没用,在网上查了做过很多工作都无济于事,最后无奈卸载重装,结果一样。希望高手指点一二,最好能说的系统一些,要不我也看不懂,呵呵,谢谢了!
对了,我对这个网络配置也比较呆,我们学校校园网IP是自动获取的,所以主机名就用的本机名,也不晓得又什么影响...

解决方案 »

  1.   

    问题:Oracle中,如果不配置好合适的listener.ora文件,启动监听器时就会报错:The listener supports no services。该怎么配置呢?  回答:Oracle给了个监听器配置文件的例子,内容如下:  # LISTENER =  # (ADDRESS_LIST=  # (ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521))  # (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY)))  # SID_LIST_LISTENER=  # (SID_LIST=  # (SID_DESC=  # #BEQUEATH CONFIG  # (GLOBAL_DBNAME=salesdb.mycompany)  # (SID_NAME=sid1)  # (ORACLE_HOME=/private/app/oracle/product/8.0.3)  # #PRESPAWN CONFIG  # (PRESPAWN_MAX=20)  # (PRESPAWN_LIST=  # (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))  # )  # )  # )  经试验,只要将其中的某些参数(比如PORT,GLOBAL_DBNAME,SID_NAME,ORACLE_HOME等)改为真实数据即可。当然,这些内容要置于listener.ora中,listener.ora放在/etc/下或者$ORACLE_HOME/network/admin/目录下。
      

  2.   

    1、在计算机 开始--->管理-->服务中没有看到 OracleOraHome92TNSListener 服务,但服务已经启动2、C:\>lsnrctl start 执行完后报open service error。然后在计算机 开始--->管理-->服务中看到  了 OracleOraHome92TNSListener 服务 
    3、运行regedit.exe启动注册表编辑器,在HKEY_LOCAL_MACHINE/SYSTEM/ControlSet002/下的Services和CurrentControlSet/Services下找到OracleOraHome92TNSListener项,在右边窗口按右键,新建/字符串,取名ImagePath。
    双击新见的建,在“数值数据”项输入D:\oracle\ora92\bin\TNSLSNR.EXE(根据你自己的实际情况进行修改),确定完成。 
    再次在服务中双击打开OracleOraHome92TNSListener的服务看到其“可执行文件的路径”一栏已经显示了其正确的值。这时你可以启动监听了。4、C:>tnsping 数据库SID。看看tns服务没有起来。如果没有起来,用下面的命令
    c:\>lsnrctl
    lsnrctl>start把这个服务起动起来。
      

  3.   

    由于选择的是主机名,修改:
    C:\oracle\ora90\network\admin\TNSNAMES.ORA
    内容如下:
    hostname =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1523))
          
        )
        (CONNECT_DATA =
          (SID = db)
        )
      )hostname 与 IP要对应
      

  4.   

    可以把那个文件删除,在dos下运行netca重新建立监听试一下。。
      

  5.   

    netca删除监听,然后在重新添加一个!