oracle11g监听

今天安装的11g运行

lsnrctl start
提示:
The listener supports no services
The command completed successfully
将配置listener.ora
# listener.ora Network Configuration File: /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.



LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rycdb)(PORT = 1521))
    )
  )

ADR_BASE_LISTENER = /u01/app/oracle

tnsnames.ora
JRTDB2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = rycdb)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = jrtdb2)
    )
  )


看了网上的方法
--登录数据库
$sqlplus / as sysdba
--显示服务名
SQL>show parameter service_names
--强制注册服务
SQL>alter system register;
--查看监听状态
$lsnrctl status 


这种方法不行,解决方法:在listener.ora后面加入
SID_LIST_LISTENER =
(SID_LIST =
  (SID_DESC =
  (GLOBAL_DBNAME = jrtdb2)
   (SID_NAME = jrtdb2)
   )
)

lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-APR-2012 14:36:58

Copyright (c) 1991, 2009, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=rycdb)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.1.0 - Production
Start Date                25-APR-2012 14:29:19
Uptime                    0 days 0 hr. 7 min. 39 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/11.1.0/db_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/rycdb/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=rycdb)(PORT=1521)))
Services Summary...
Service "jrtdb2" has 2 instance(s).
  Instance "jrtdb2", status UNKNOWN, has 1 handler(s) for this service...
  Instance "jrtdb2", status READY, has 1 handler(s) for this service...
Service "jrtdb2XDB" has 1 instance(s).
  Instance "jrtdb2", status READY, has 1 handler(s) for this service...
The command completed successfully

问题解决,其中UNKNOWN表示静态注册
oracle监听   动态注册与静态注册
动态注册:在instance启动的时候PMON进程根据init.ora中的instance_name,service_names两个参数将实例和服务动态注册到listener中。
可以在sqlplus下通过
show parameter service_names 和show parameter instance_name 来查看
动态注册默认只注册到默认的监听器上(名称是LISTENER、端口是1521、协议是TCP)
静态注册:实例启动时读取listener.ora文件的配置,将实例和服务注册到监听程序。无论何时启动一个数据库,默认地都有两条信息注册到监听器中:数据库服务器对应的实例和服务。
lsnrctl status
 实例状态为UNKNOWN值时表明此服务是静态注册的设置

猜你喜欢

转载自stevenfeng.iteye.com/blog/1498031