oracle网络服务之beq协议和SDU优化(性能提升可达30%)
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%)的更多相关文章
- Oracle网络服务管理与配置
一.Oracle网络服务概述 1.网络解决方案. (1)可连接性:在Oracle中,由Oracle net组件负责在客户端应用程序与数据服务器之间创建会话.维护会话连接和数据传输. (2)可管理性: ...
- 配置Oracle网络服务
Oracle网络服务是什么呢? Oracle网络服务是客户端访问数据库服务器端才需要配置的,也就是说,你的Oracle数据库没有装在你自己的电脑上,你需要去访问别人电脑上的Oracle数据库,那么你就 ...
- mybatis+oracle批量插入报不符合协议和sql未正确结束
在Java中循环save,需要加useGeneratedKeys="false",否则报错不符合协议 mybatis批量插入,也需要在insert里加入 useGeneratedK ...
- socket协议和http协议性能对比
最近做了一次队列服务的性能测试,是通过两种协议windows socket和http分别往内存中写入url.对比哪种协议的效果更高,下图是测试结果.此次使用的工具是loadrunner.在压socke ...
- [转] 携程App网络服务通道治理和性能优化@2016
App网络服务的高可靠和低延迟对于无线业务稳定发展至关重要,过去两年来我们一直在持续优化App网络服务的性能,到今年Q2结束时基本完成了App网络服务通道治理和性能优化的阶段性目标,特此撰文总结其中的 ...
- python语法基础-网络编程-TCP协议和UDP协议
############### 网络编程 ############## """ 网络编程 学习了Python基础之后,包括函数,面向对象等,你就可以开发了,你 ...
- 网络协议学习笔记(八)DNS协议和HttpDNS协议
概述 上一篇主要讲解了流媒体协议和p2p协议,现在我给大家讲解一下关于DNS和HttpDNS的相关知识. DNS协议:网络世界的地址簿 在网络世界,也是这样的.你肯定记得住网站的名称,但是很难记住网站 ...
- 网络协议学习笔记(七)流媒体协议和P2P协议
概述 上一篇讲解了http和https的协议的相关的知识,现在我们谈一下流媒体协议和P2P协议. 流媒体协议:如何在直播里看到美女帅哥 最近直播比较火,很多人都喜欢看直播,那一个直播系统里面都有哪些组 ...
- Oracle配置本地网络服务名
Oracle安装完成后,可以使用客户端自带的的网络配置向导(Net Configuration Assistant)进行配置 1.启动Net Configuration Assistant.选择&qu ...
随机推荐
- USB包格式解析(转)
本文对应usb2.0协议的第八章Protocol Layer. 数据是由二进制数字串构成的,首先数字串构成域(有七种),域再构成包,包再构成事务(IN.OUT.SETUP),事务最后构成传输(中断传输 ...
- day26:静态方法,类方法和反射
1,包内部不要去尝试应用使用相对导入,一定不会成功的,他不支持这个机制,包内导入时一定要用绝对导入 2,复习接口类,抽象类,Python中没有接口类,有抽象类,抽象类是通过abc模块中的metacla ...
- 输入URL地址到页面加载完成 过程
在浏览器的地址栏中输入URL地址"http://www.gacl.cn:8080/JavaWebDemo1/1.jsp"去访问服务器上的1.jsp这个web资源的过程 1.浏览器根 ...
- Json对象扩展
1.JSON.stringify(obj/arr) js对象(数组)转换为json对象(数组) 2.JSON.parse(json) json对象(数组)转换为js对象(数组)
- Android studio 远程服务调用
https://blog.csdn.net/bond_zhe/article/details/50971021
- HDU 3861 The King’s Problem 最小路径覆盖(强连通分量缩点+二分图最大匹配)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3861 最小路径覆盖的一篇博客:https://blog.csdn.net/qq_39627843/ar ...
- [js]展开运算符
function f(...args){ console.log(args); } f(1,2,3,4,5) [...args] = [1,2,3,4] function f(...args){ co ...
- 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 ...
- “QObject调用moveToThread()后 该如何释放”及QThread 的启动关闭
1 QThread *thread = new QThread( ); 2 Task *task = new Task(); 3 task->moveToThread(thread); 4 co ...
- .net如何引用该命名空间
一.在.Net中如何引用该命名空间 (1)System.Windows.Threading 该命名空间在程序集WindowsBase(WindowsBase.dll)下 (2)System.Windo ...