作者:GDY1039
   
    这是又长又臭的一章,让我们一起征服它吧。
   
本章是围绕SQLNET.ORA、TNSNAMES.ORA和LISTENER.ora三个配置文件展开的,管理这三个文件有三个方法:
- 启动Oracle net Manager工具
- 使用OEM,点击主目录->一般信息->监听程序->进入后在下面“相关连接”中找到“网络服务管理”
- 
     使用文本编辑,位置是%oracle_home%/network/admin。警告:不要在这里删除监听器,最好只是修改。
 
    创建监听器
   
   其实我觉得只要明白原理,抓图介绍真的很无聊。所以不抓图了,反正当初我不明白的时候,看了网上很多带图了(甚至包括ORACLE官方的”两天DBA“的教程)也还是不明白。总的来说,不明白原理,带图也带是不会明白的。现在我们用Oracle Net Manager创建一个”listener1″监听器吧。创建时有两点注意的:
   
- 监听器的端口必需唯一
- 记得保存
- 在lsnrctl中使用start listener1命令启动它
   创建完后listener.ora的样子如下
   
# listener.ora Network Configuration File: D:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora
# Generated by Oracle configuration tools.
   
    LISTENER1 =
   
   
   
    (DESCRIPTION =
   
   
   
    (ADDRESS = (PROTOCOL = TCP)(HOST = netplus)(PORT = 1523))
   
   
   
    )
   
   SID_LIST_LISTENER =
   
   (SID_LIST =
   
   (SID_DESC =
   
   (SID_NAME = PLSExtProc)
   
   (ORACLE_HOME = D:/oracle/product/10.2.0/db_1)
   
   (PROGRAM = extproc)
   
   )
   
   )
   
    SID_LIST_LISTENER1 =
   
   
   
    (SID_LIST =
   
   
   
    (SID_DESC =
   
   
   
    (GLOBAL_DBNAME = ORCL)
   
   
   
    (SID_NAME = ORCL)
   
   
   
    )
   
   
   
    )
   
   LISTENER =
   
   (DESCRIPTION_LIST =
   
   (DESCRIPTION =
   
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
   
   )
   
   (DESCRIPTION =
   
   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
   
   )
   
   )
创建完后,我们可以看一下启动它,并看一下它的状态。这里我们会用到”lsnrctl”,它是监听器的命令行工具。
D:/Documents and Settings/gdy>lsnrctl
   LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 – Production on 22-6月 -2007 20:4
   
   6:29
Copyright (c) 1991, 2005, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入”help”以获得信息。
   LSNRCTL>
   
    status listener1
   
   
   正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=netplus)(PORT=1523)))
   
   TNS-12541: TNS: 无监听程序
   
   TNS-12560: TNS: 协议适配器错误
   
   TNS-00511: 无监听程序
   
   32-bit Windows Error: 61: Unknown error
   
   LSNRCTL>
   
    start listener1
   
   
   启动tnslsnr: 请稍候…
   TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Production
   
   系统参数文件为D:/oracle/product/10.2.0/db_1/network/admin/listener.ora
   
   写入D:/oracle/product/10.2.0/db_1/network/log/listener1.log的日志信息
   
   监听: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=netplus)(PORT=1523)))
   正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=netplus)(PORT=1523)))
   
   LISTENER 的 STATUS
   
   ————————
   
   别名                      listener1
   
   版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Produ
   
   ction
   
   启动日期                  22-6月 -2007 20:46:43
   
   正常运行时间              0 天 0 小时 0 分 3 秒
   
   跟踪级别                  off
   
   安全性                    ON: Local OS Authentication
   
   SNMP                      OFF
   
   监听程序参数文件          D:/oracle/product/10.2.0/db_1/network/admin/listener.o
   
   ra
   
   监听程序日志文件          D:/oracle/product/10.2.0/db_1/network/log/listener1.lo
   
   g
   
   监听端点概要…
   
   (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=netplus)(PORT=1523)))
   
   服务摘要..
   
   服务 “ORCL” 包含 1 个例程。
   
   例程 “ORCL”, 状态 UNKNOWN, 包含此服务的 1 个处理程序…
   
   命令执行成功
   
   LSNRCTL>
   
    status listener1
   
   
   正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=netplus)(PORT=1523)))
   
   LISTENER 的 STATUS
   
   ————————
   
   别名                      listener1
   
   版本                      TNSLSNR for 32-bit Windows: Version 10.2.0.1.0 – Produ
   
   ction
   
   启动日期                  22-6月 -2007 20:46:43
  
 
