Oracle BEQ方式連接配置


Oracle BEQ方式連接配置

服務端和客戶端在同一台機器上,可以使用BEQ連接,BEQ連接可以理解為進程間直接通信,不需要走網絡監聽,性能更高。

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

Beq connection can be used between client and server on the same machine.
Connection is not using listener, so no listener configuration is required.
In tnsnames.ora add tns alias:
<NET_ALIAS> =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = BEQ)
(PROGRAM = )
(ARGV0 = oracle )
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
(ENVS = 'ORACLE_HOME= ,ORACLE_SID=
')
)
)
(CONNECT_DATA = (SID = ))
)

Under Microsoft Windows operating systems PROGRAM should contain only "
oracle":
(PROGRAM = oracle)
without any path or suffix.
For example, connecting to T816 through BEQ protocol with ORACLE_HOME=
/u08/oracle/product/8.1.6/bin/oracle
can be done using folowing tns alias:
T816-BEQ.WORLD =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = BEQ)
(PROGRAM = /u08/oracle/product/8.1.6/bin/oracle)
(ARGV0 = oracleT816)
(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')
(ENVS = 'ORACLE_HOME=/u08/oracle/product/8.1.6,ORACLE_SID=T816')
)
)
(CONNECT_DATA = (SID = T816))
)
To connect to T816 using Bequeth protocol now use:
sqlplus system/manager@T816-BEQ

例如,我們在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協議連接的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM