Oracle BEQ方式连接配置

服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接可以理解为进程间直接通信,不需要走网络监听,性能更高。

可以参考MOS:How To Connect Using the Bequeath Protocol (BEQ) in 8I (文档 ID 181317.1)

例如,我们在10.2.0.5 RAC的实例1上配置BEQ连接测试

1. 在tnsnames.ora 配置文件添加如下内容:

RACBEQ =
(DESCRIPTION =
(ADDRESS =
(PROTOCOL = BEQ)
(PROGRAM = /u01/app/oracle/product/10.2.0.5/dbhome_1/bin/oracle)
(ARGV0 = oraclejyrac1)
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
(ENVS = 'ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1,ORACLE_SID=jyrac1')
)
(CONNECT_DATA =
(SERVICE_NAME = jyrac)
(INSTANCE_NAME = jyrac1)
)
)

2. tnsping 测试通:

[oracle@oradb27 admin]$ tnsping racbeq

TNS Ping Utility for Linux: Version 10.2.0.5.0 - Production on 24-JAN-2017 18:05:48

Copyright (c) 1997,  2010, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = BEQ) (PROGRAM = /u01/app/oracle/product/10.2.0.5/dbhome_1/bin/oracle) (ARGV0 = oraclejyrac1) (ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))') (ENVS = 'ORACLE_HOME=/u01/app/oracle/product/10.2.0.5/dbhome_1,ORACLE_SID=jyrac1')) (CONNECT_DATA = (SERVICE_NAME = jyrac) (INSTANCE_NAME = jyrac1)))
OK (30 msec)

3. 本地通过BEQ协议连接到数据库:

[oracle@oradb27 admin]$ sqlplus system/oracle@racbeq

SQL*Plus: Release 10.2.0.5.0 - Production on Tue Jan 24 17:37:08 2017

Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP, Data Mining
and Real Application Testing options SQL> !ps -ef|grep BEQ
oracle 8102 1 0 17:37 ? 00:00:00 oraclejyrac1 (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))
oracle 8133 8100 0 17:37 pts/3 00:00:00 /bin/bash -c ps -ef|grep BEQ SQL>

上面查看进程也可以确定进程确实是通过BEQ协议连接的。

04-26 18:30