20170720-Oracle 监听

在这里插入图片描述

说明:

本文整理自我的ITPUB博客,链接如下:

https://blog.itpub.net/29785807/viewspace-2142372/
 一:没有listener.ora监听文件
二:监听静态注册
三:监听动态注册
四:监听静态+动态注册 

一:没有listener.ora监听文件

监听文件listener.ora文件丢失;
没有listener.ora文件情况时, 以默认方式运行监听器, 此时,监听器将在解析为计算机主机名(端口1521)的任何地址上进行监听;
建议始终配置listener.ora文件,使Oracle Net环境可以自我记录;

[oracle@chen admin]$ pwd
/u01/app/oracle/product/11.2.0.4/network/admin

[oracle@chen admin]$ ls
samples  shrept.lst  tnsnames.ora

没有配置listener.ora时,自动使用动态注册

[oracle@chen admin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 20-JUL-2017 15:05:25
Copyright (c) 1991, 2013, Oracle.  All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                20-JUL-2017 15:03:54
Uptime                    0 days 0 hr. 1 min. 30 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u01/app/oracle/diag/tnslsnr/chen/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=chen)(PORT=1521)))
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

二:监听静态注册

[oracle@chen admin]$ pwd
/u01/app/oracle/product/11.2.0.4/network/admin

[oracle@chen admin]$ cat listener.ora 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4)
      (SID_NAME = orcl)
    )
  )

静态注册时:
可以远程启动数据库(需要有口令文件);

C:\Users\Administrator> sqlplus sys/oracle@10.1.233.100:1521/orcl as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期四 7月 20 13:33:09 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
已连接到空闲例程。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  839282688 bytes
Fixed Size                  2257880 bytes
Variable Size             545262632 bytes
Database Buffers          289406976 bytes
Redo Buffers                2355200 bytes
数据库装载完毕。
数据库已经打开。  

[oracle@chen admin]$ lsnrctl status
.....
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=chen)(PORT=1521)))
Services Summary...
Service "orcl" has 2 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

配置DG,EM等建议使用静态注册

三:监听动态注册

[oracle@chen admin]$ cat listener.ora 
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = chen)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )
  
SQL> alter system register;
System altered.

[oracle@chen admin]$ lsnrctl status
Services Summary...
Service "orcl" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

实例未启动时,注册不了服务

Services Summary...
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=chen)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
The listener supports no services
The command completed successfully

动态注册时无法远程启动数据库

C:\Users\Administrator> sqlplus sys/oracle@10.1.233.100:1521/orcl as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on 星期四 7月 20 14:26:57 2017
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
ERROR:
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务

请输入用户名:

四:监听动态注册+静态注册

[oracle@chen admin]$ cat listener.ora 
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0.4)
      (SID_NAME = orcl)
    )
  )
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = chen)(PORT = 1521))
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
  )

[oracle@chen admin]$ lsnrctl status
......  
Services Summary...
Service "orcl" has 2 instance(s).
  Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
  Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
  Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully

可以远程启动数据库

C:\Users\Administrator> sqlplus sys/oracle@10.1.233.100:1521/orcl as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on 星期四 7月 20 14:22:59 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  839282688 bytes
Fixed Size                  2257880 bytes
Variable Size             545262632 bytes
Database Buffers          289406976 bytes
Redo Buffers                2355200 bytes
数据库装载完毕。
数据库已经打开。

官方文档位置如下:

Oracle Database Net Services Reference
http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#NETRF008
Oracle Net Listener Parameters (listener.ora)
http://docs.oracle.com/cd/E11882_01/network.112/e10835/listener.htm#NETRF008

欢迎关注我的微信公众号"IT小Chen"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值