Rowid分片的方式加速导出LOB对象
LOB对象导出时,无法使用并行,导出的时间有可能会非常久。我们可以尝试使用Rowid分片的方式,手动分配并发的导出进程,这种方式有助于加快导出速度。
示例,导出test.t这张表,导出脚本如下所示。
#!/bin/bash chunk=10 TABLE_NAME=test.t for ((i=0; i<${chunk}; i++)) do nohup expdp userid=\'/ as sysdba\' TABLES=${TABLE_NAME} QUERY=${TABLE_NAME}:\"where mod\(dbms_rowid.rowid_block_number\(rowid\)\, ${chunk}\) = ${i}\" directory=dpdir dumpfile=${TABLE_NAME}_${i}.dmp logfile= ${TABLE_NAME}_${i}.log JOB_NAME=expdp_${TABLE_NAME}_${i} & sleep 10 done |
思路是指定分片数量,例如本示例中设置了分片数为10,然后每个分片就有相应的expdp导出进程。
示例,导入脚本如下所示。
#!/bin/bash chunk=10 TABLE_NAME=test.t for ((i=0; i<${chunk}; i++)) do nohup impdp userid=\'/ as sysdba\' directory=dpdir dumpfile=${TABLE_NAME}_${i}.dmp logfile=impdp_${TABLE_NAME}_${i}.log DATA_OPTIONS=DISABLE_APPEND_HINT table_exists_action=append & sleep 10 done |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署