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. 使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体

    使用DevExpress.XtraTabbedMdi.XtraTabbedMdiManager控件来加载MDI窗体     [csharp] view plaincopyprint? <SPAN ...

  2. 对SDE中空要素类插入要素,完成后显示的图层特别小

    原因是缺少图层Extent或者Extent发生变化,插入完成后需要对图层的Extent进行更新. 调用IFeatureClassManage. UpdateExtent更新范围 参考链接: https ...

  3. 理解 Memory barrier(内存屏障)无锁环形队列

    原文:https://www.cnblogs.com/my_life/articles/5220172.html Memory barrier 简介 程序在运行时内存实际的访问顺序和程序代码编写的访问 ...

  4. PDM:Training Models of Shape from Sets of Examples

    这篇论文介绍了一种创建柔性形状模型(Flexible Shape Models)的方法--点分布模型(Point Distribution Model).该方法使用一系列标记点来表示形状,重要的是根据 ...

  5. 初入 vue

    基于 vue.js 的前端开发环境,用于前后端分离后的单页应用开发. 搭建 vue 项目 按官方指引,使用 vue-cli 搭建 vue 的项目. # 安装依赖库,建议指定 vue 和 element ...

  6. python写算法中的栈

    ########### 栈的使用 ############### class StackFullError(Exception): pass class StackEmptyError(Excepti ...

  7. C# 使用MongoDB遇到的问题

    错误:缺少 System.Runtime.InteropServices.RuntimeInformation.dll version = 4.0.0 解决方法: 下载了System.Runtime. ...

  8. rpc轻量级框架实例

  9. webapi发布到windows 2012的iis8里 出错

    HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容. 选一个.net版本一致的应用程序池 即可

  10. Solaris环境下使用snoop命令抓包

    (1)报文抓取 Solaris中自带有snoop抓包工具,通过执行相应的命令抓取. 抓取目的地址为10.8.3.250的数据包,并存放到/opt/cap250的文件里 snoop -o /opt/ca ...