我在windows下安装了oracle 10g,装的是服务器端,现在我经过测试发现,如果使用D:\oracle\product\10.2.0\db_1\BIN\sqlplus.exe进行登陆的时候,需要输入用户名、密码和主机连接串,在本地我配置的tnsnames.ora内容为:localtest =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = viptest1)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = viptest)
    )
  )在本地我将监听程序启动:
C:\>net start  OracleOraDb10g_home1TNSListener
OracleOraDb10g_home1TNSListener 服务正在启动 .
OracleOraDb10g_home1TNSListener 服务已经启动成功。当启动后,使用plsql developer或者sqlplus都可以了。但是我很好奇的是:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora文件并不存在,我不知道启动了监听程序,但是没有监听的配置文件,这个监听过程是如何进行的?

解决方案 »

  1.   

    D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora文件并不存在
    =========================================================================
    用命令 lsnrctl status 看一下侦听是不是真的起来了,只有 windows 服务启动了,还不行。
    服务器本地 sysdba 登陆,不启侦听也可以。 
      

  2.   

    用lsnrctl status命令看看监听器的状态。如果你在另外一台机器上访问数据库服务器,如果服务器上的listener没有起来的话,将是肯定访问不了的:)
      

  3.   


    你说的意思我都能明白,我想问一下侦听程序listener和配置文件listener.ora两者的关系是怎么样的?
    在我的机器上,启动了侦听程序和windows服务,但是没有配置文件listener.ora,也是能连接上的?
      

  4.   

    没有配置文件listener.ora,也是能连接上的?
    ==========================================
    一、没有配置文件侦听起不来,
    二、在服务器本地,没有监听也能连上。
      

  5.   


    D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>dir
     驱动器 D 中的卷没有标签。
     卷的序列号是 B045-2DA4 D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN 的目录2009-05-29  09:32    <DIR>          .
    2009-05-29  09:32    <DIR>          ..
    2009-04-21  10:12    <DIR>          SAMPLE
    2009-05-28  14:15               265 sqlnet.ora
    2009-05-29  08:42             4,754 tnsnames.ora
    2009-05-29  08:35             4,753 tnsnames.ora.bak
                   3 个文件          9,772 字节
                   3 个目录 19,365,498,880 可用字节D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>lsnrctl statusLSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 29-5月 -2009 15:1
    9:54Copyright (c) 1991, 2005, Oracle.  All rights reserved.正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    LISTENER 的 STATUS
    ------------------------
    别名                      LISTENER
    版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 - Produ
    ction
    启动日期                  29-5月 -2009 15:16:41
    正常运行时间              0 天 0 小时 3 分 13 秒
    跟踪级别                  off
    安全性                    ON: Local OS Authentication
    SNMP                      OFF
    监听程序日志文件          D:\oracle\product\10.2.0\db_1\network\log\listener.log监听端点概要...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=zhengzw.asiainfo.com)(PORT=1521)))
    服务摘要..
    服务 "asiainfo_zhengzw" 包含 1 个例程。
      例程 "asiainfozhengzw", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "asiainfo_zhengzw_XPT" 包含 1 个例程。
      例程 "asiainfozhengzw", 状态 READY, 包含此服务的 1 个处理程序...
    服务 "asiainfozhengzwXDB" 包含 1 个例程。
      例程 "asiainfozhengzw", 状态 READY, 包含此服务的 1 个处理程序...
    命令执行成功D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN>请看看上面我取下来的信息,在$ORACLE_HOME/network/admin/下面没有listener.ora配置文件,而lsnrctl侦听过程确实是已经启动了啊,能给解释一下吗?