ORACLE 监听器

 

一台服务器对应一个listener

一个listener可以有多个监听端口

监听器基于的协议:

TCP; TCPS; IPC(内部通信协议)

建立客户端与数据库连接:

IP;端口;SID;协议

图形化配置:netmgr

查看监听器:

lsnrctl 参数:status / stop / start / load

配置多个端口,形成负载均衡(图形):

netmgr

1. 配置listener,添加端口1521,1522....

ORACLE 监听器 - thomas_shen - 系统工程师
  

2. 配置Service Naming,针对数据库添加端口1521,1522....

ORACLE 监听器 - thomas_shen - 系统工程师

3. 设置方式:

ORACLE 监听器 - thomas_shen - 系统工程师
 
ORACLE 监听器 - thomas_shen - 系统工程师
4. 查看具体配置文件
/$ORACLE_HOME/network/admin/tnsnames.ora
修改为如下内容:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = rhel_2)(PORT = 1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = rhel_2)(PORT = 1522))
      (LOAD_BALANCE = yes)
      (FAILOVER = true) 说明:failover --&gt connect-time failover
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )
5. 重启监听器 
6. 客户端可以配置如下信息在tnsname.ora中,均可连接数据库。
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 11.11.0.104)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )
或者
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 11.11.0.104)(PORT = 1522))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

启动监听器后报错

lsnrctl start

Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...

TNS-12537: TNS:connection closed
 TNS-12560: TNS:protocol adapter error
  TNS-00507: Connection closed
   Linux Error: 29: Illegal seek
可能原因是没有配回环地址

vi /etc/hosts

添加内容:127.0.0.1 localhost

客户端无法连接到ORACLE

1. 检查服务器端是否可以用输入用户密码的方式连接

例如:

sqlplus sys/password@orcl as sysdba

2. 如果也不可以,说明可以监听器中没有注册数据库服务

3. 在服务器端使用简单登录sqlplus / as sysdba

4. 输入:alter system register;

5. 检查lsnrctl信息:lsnrctl status

6. 确认服务器端可以登录,客户端可以登录

客户端tnsping通,但是无法登录数据库

1. 确定tnsname.ora配置正确;

2. 确定数据库是否在listener中注册完成。

如果没有注册:alter system register;

ORACLE11g,数据库始终无法注册监听器

手工修改文件listener.ora

修改后:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = d:\app\TOM.SHEN\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:d:\app\TOM.SHEN\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
    (SID_DESC =
      (GLOBAL_NAME=ORCL)
      (ORACLE_HOME = d:\app\TOM.SHEN\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
    )
  )

使用lsnrctl status查看就可以看到数据库

监听器密码设置,目的是防止被用户非正常关闭。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24751738/viewspace-707254/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/24751738/viewspace-707254/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值