oracle网络服务之beq协议和SDU优化(性能提升可达30%)

12.3.1  BEQ协议

如果Oracle数据库服务端和客户端在同一台机器上,可以使用BEQ连接,BEQ连接采用进程间直接通信,不需要走网络监听,对于大数据量的导入导出来说性能更高。BEQ协议可以通过在tnsnames.ora 配置文件的TNS连接串中将协议声明为BEQ来指定,如下所示:

orclbeq =

(DESCRIPTION =

(ADDRESS =

(PROTOCOL = BEQ)

(PROGRAM = /u01/app/oracle/product/12.2/db_home1/bin/oracle)

(ARGV0 = orclpdb)

(ARGS = '(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=BEQ)))')

# (ENVS = 'ORACLE_HOME=/u01/app/oracle/product/12.2/db_home1,ORACLE_SID=ora12c')

)

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orclpdb)

)

)

下面我们来看一下采用BEQ和网络协议的性能差别。

使用TCP/IP协议:

[oracle@oel-12c oradata]$ expdp hr/hr@localhost:1521/orclpdb tables=\(big_table_tmp\) directory=dmp_dir dumpfile=expdat_nocond2.dmp exclude=statistics

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

启动 "HR"."SYS_EXPORT_TABLE_01":  hr/********@localhost:1521/orclpdb tables=(big_table_tmp) directory=dmp_dir dumpfile=expdat_nocond2.dmp exclude=statistics

处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA

处理对象类型 TABLE_EXPORT/TABLE/TABLE

处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX

. . 导出了 "HR"."BIG_TABLE_TMP"                        290.8 MB 1000000 行

已成功加载/卸载了主表 "HR"."SYS_EXPORT_TABLE_01"

******************************************************************************

HR.SYS_EXPORT_TABLE_01 的转储文件集为:

/oradata/ORA11G/dmpdir/expdat_nocond2.dmp

作业 "HR"."SYS_EXPORT_TABLE_01" 已于 星期日 3月 17 15:32:30 2019 elapsed 0 00:00:30 成功完成

使用BEQ协议:

[oracle@oel-12c oradata]$ expdp hr/hr@orclbeq tables=\(big_table_tmp\) directory=dmp_dir dumpfile=expdat_nocond1.dmp exclude=statistics

连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

启动 "HR"."SYS_EXPORT_TABLE_01":  hr/********@orclbeq tables=(big_table_tmp) directory=dmp_dir dumpfile=expdat_nocond1.dmp exclude=statistics

处理对象类型 TABLE_EXPORT/TABLE/TABLE_DATA

处理对象类型 TABLE_EXPORT/TABLE/TABLE

处理对象类型 TABLE_EXPORT/TABLE/INDEX/INDEX

. . 导出了 "HR"."BIG_TABLE_TMP"                        290.8 MB 1000000 行

已成功加载/卸载了主表 "HR"."SYS_EXPORT_TABLE_01"

******************************************************************************

HR.SYS_EXPORT_TABLE_01 的转储文件集为:

/oradata/ORA11G/dmpdir/expdat_nocond1.dmp

作业 "HR"."SYS_EXPORT_TABLE_01" 已于 星期日 3月 17 15:33:36 2019 elapsed 0 00:00:16 成功完成

从上可知,使用TCP/IP协议进行导出的时间比BEQ协议多了近1倍。

除了在Oracle自带的工具中可以使用BEQ协议外,JDBC OCI驱动也能够使用BEQ协议进行连接,如下所示:

System.setProperty("oracle.net.tns_admin","$ORACLE_HOME\network\admin");

String dbURL = "jdbc:oracle:oci:@orclbeq";

Connection connection = DriverManager.getConnection(dbURL, "hr", "hr");

相比TCP/IP协议,在JDBC中使用BEQ协议导出时速度也更快。

oracle网络服务之beq协议和SDU优化(性能提升可达30%)的更多相关文章

  1. Oracle网络服务管理与配置

    一.Oracle网络服务概述 1.网络解决方案. (1)可连接性:在Oracle中,由Oracle net组件负责在客户端应用程序与数据服务器之间创建会话.维护会话连接和数据传输. (2)可管理性: ...

  2. 配置Oracle网络服务

    Oracle网络服务是什么呢? Oracle网络服务是客户端访问数据库服务器端才需要配置的,也就是说,你的Oracle数据库没有装在你自己的电脑上,你需要去访问别人电脑上的Oracle数据库,那么你就 ...

  3. mybatis+oracle批量插入报不符合协议和sql未正确结束

    在Java中循环save,需要加useGeneratedKeys="false",否则报错不符合协议 mybatis批量插入,也需要在insert里加入 useGeneratedK ...

  4. socket协议和http协议性能对比

    最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url.对比哪种协议的效果更高,下图是测试结果.此次使用的工具是loadrunner.在压socke ...

  5. [转] 携程App网络服务通道治理和性能优化@2016

    App网络服务的高可靠和低延迟对于无线业务稳定发展至关重要,过去两年来我们一直在持续优化App网络服务的性能,到今年Q2结束时基本完成了App网络服务通道治理和性能优化的阶段性目标,特此撰文总结其中的 ...

  6. python语法基础-网络编程-TCP协议和UDP协议

    ###############    网络编程    ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你 ...

  7. 网络协议学习笔记(八)DNS协议和HttpDNS协议

    概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...

  8. 网络协议学习笔记(七)流媒体协议和P2P协议

    概述 上一篇讲解了http和https的协议的相关的知识,现在我们谈一下流媒体协议和P2P协议. 流媒体协议:如何在直播里看到美女帅哥 最近直播比较火,很多人都喜欢看直播,那一个直播系统里面都有哪些组 ...

  9. Oracle配置本地网络服务名

    Oracle安装完成后,可以使用客户端自带的的网络配置向导(Net Configuration Assistant)进行配置 1.启动Net Configuration Assistant.选择&qu ...

随机推荐

  1. USB包格式解析(转)

    本文对应usb2.0协议的第八章Protocol Layer. 数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN.OUT.SETUP),事务最后构成传输(中断传输 ...

  2. day26:静态方法,类方法和反射

    1,包内部不要去尝试应用使用相对导入,一定不会成功的,他不支持这个机制,包内导入时一定要用绝对导入 2,复习接口类,抽象类,Python中没有接口类,有抽象类,抽象类是通过abc模块中的metacla ...

  3. 输入URL地址到页面加载完成 过程

    在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这个web资源的过程 1.浏览器根 ...

  4. Json对象扩展

    1.JSON.stringify(obj/arr) js对象(数组)转换为json对象(数组) 2.JSON.parse(json) json对象(数组)转换为js对象(数组)

  5. Android studio 远程服务调用

    https://blog.csdn.net/bond_zhe/article/details/50971021

  6. HDU 3861 The King’s Problem 最小路径覆盖(强连通分量缩点+二分图最大匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3861 最小路径覆盖的一篇博客:https://blog.csdn.net/qq_39627843/ar ...

  7. [js]展开运算符

    function f(...args){ console.log(args); } f(1,2,3,4,5) [...args] = [1,2,3,4] function f(...args){ co ...

  8. Leetcode Articles: Insert into a Cyclic Sorted List

    Given a node from a cyclic linked list which has been sorted, write a function to insert a value int ...

  9. “QObject调用moveToThread()后 该如何释放”及QThread 的启动关闭

    1 QThread *thread = new QThread( ); 2 Task *task = new Task(); 3 task->moveToThread(thread); 4 co ...

  10. .net如何引用该命名空间

    一.在.Net中如何引用该命名空间 (1)System.Windows.Threading 该命名空间在程序集WindowsBase(WindowsBase.dll)下 (2)System.Windo ...