• 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 etworkadmin");

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

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

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

  • 相关阅读:
    【luogu】P1772物流运输(最短路+DP)
    【Bzoj】1001狼抓兔子(平面图最小割转对偶图最短路)
    后记
    【Luogu】P2680运输计划(树上差分+二分)
    【Luogu】P2059卡牌游戏(概率DP)
    【Luogu】P2051中国象棋(DP)
    概率与期望学习笔记
    【Luogu】P2894酒店Hotel(线段树)
    21.Mysql Server优化
    20.Mysql锁机制
  • 原文地址:https://www.cnblogs.com/zhjh256/p/9777842.html
Copyright © 2020-2023  润新知