码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • GBASE 8A v953报错集锦38--orato8a 指定 parallel 参数全表导出时前几分钟无数 据写入


    问题现象

    使用 orato8a 工具进行抽取时发现,当使用 parallel 参数全表并行导出时,orato8a 工

    具输出的导出时间要比实际运行时间小很多。

    具体来看,orato8a 运行后前几分钟是没有数据写入的,通过 pstack 查看发现一直在

    执行 do_prepare_data_info 这个函数。

    # time ./orato8a --user='hx_user/cx123@150.12.201.28/gdltcxff' --

    table_name='FP_YJJCYQK_MX' --owner='HX_FP'

    --file=/opt/export/idf/data/all/FFK/HXZG/GDDS/FP_YJJCYQK_MX_TEST13.txt

    --field='_#c#_' --format=3 --line_separator='_#r#_' --parallel=8

    export columns: 23

    export rows: 29126180

    export time: 6 min 6 sec

    process ok!

    real 12m16.100s

    user 6m50.656s

    sys 0m25.602s

    通过每隔一分钟的 pstack 信息可以看到,前几分钟 orato8a 进程一直在进行

    do_prepare_data_info,而后才开始 run_do_save 抽取数据并计时,所以 orato8a 抽取

    结束后显示的 export time 要比实际时间小。

    原因分析

    orato8a 运行后前几分钟执行 do_prepare_data_info 的时候,是在连接 oracle 获取系

    统表数据。由于 oracle 返回慢,导致程序卡住了 6 分钟无响应。

    现场将查询 oracle 系统表的 sql 在客户 oracle 库上执行,耗时 6 分钟以上。咨询了

    oracle 运维人员,了解到库中数据量超过 10T,我们所查询的系统表数据量很大,

    这个查询速度是正常的。

    查询系统表 sql 如下:

    select dbms_rowid.rowid_create(1,

    o.DATA_OBJECT_ID,

    relative_fno,

    e.BLOCK_ID,

    0),

    dbms_rowid.rowid_create(1,

    o.data_object_id,

    e.relative_fno,

    e.BLOCK_ID + e.BLOCKS - 1,

    10000)

    from dba_extents e, dba_objects o

    where e.owner = upper('ora001')

    and e.owner = o.OWNER

    and e.segment_name = upper('tt1')

    and o.object_name = upper('tt1');

    select dbms_rowid.rowid_create(1,

    o.DATA_OBJECT_ID,

    relative_fno,

    e.BLOCK_ID,

    0),

    dbms_rowid.rowid_create(1,

    o.data_object_id,

    e.relative_fno,

    e.BLOCK_ID + e.BLOCKS - 1,

    10000)

    from dba_extents e, dba_objects o

    where e.owner = upper('ora001')

    and e.owner = o.OWNER

    and e.segment_name = upper('tt1')

    and e.partition_name = upper('')

    and o.object_name = upper('tt1')

    and o.SUBOBJECT_NAME = upper('');

  • 相关阅读:
    力扣138 - 复制带随机指针的链表【复杂链表的终极试炼】
    Jmeter 逻辑控制之IF条件控制器
    【leetcode】记忆化搜索
    2022 极术通讯-安谋科技设计车载芯片故障检查方案,保障汽车电子电气安全
    【mindspore】【训练】训练过程内存占用大
    Linux系统安装Nodejs(详细教程)
    厉害了!GitHub 大神的 K8S+SpringCloud 笔记,从基础到进阶都很细致
    ElasticSearch - 在 微服务项目 中基于 RabbitMQ 实现 ES 和 MySQL 数据异步同步(考点)
    【使用 Python 实现算法】01 语言特性
    MySQL逻辑架构整理
  • 原文地址:https://blog.csdn.net/ls_hong/article/details/126570517
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号