当前位置:网站首页>Oracle数据库备份dmp文件太大,有什么办法可以在备份的时候拆分成多个dmp吗?

Oracle数据库备份dmp文件太大,有什么办法可以在备份的时候拆分成多个dmp吗?

2022-08-10 14:46:00 布衣&凡尘

Oracle数据库备份dmp文件太大,有什么办法可以在备份的时候拆分成多个dmp吗?




采纳答案1:

建导出的时候,按时间或其它条件进行拆分导出。
然后写一个shell 脚本循环导出:
示例:

  
  
  
vim par.pardirectory=DP_DIRdumpfile=t1.dmptables=t1query=t1:" WHERE CREATED_TS >= TO_DATE('20170501 000000', 'YYYY/MM/DD HH24:MI:SS') AND CREATED_TS < TO_DATE('20170601 000000', 'YYYY/MM/DD HH24:MI:SS')"logfile=expdp_test.logcontent=data_only -- 只 导出数据expdp 用户名/'密码' parfile=par.par

示例2:
image.png
图片截取:
https://www.xifenfei.com/2021/06/expdp-single-table-parallel.html

再有一个方法就是用并行,生产环境使用并行有点危险,我没有用过,但也是一个思路,供你参考:
image.png
图片截取:
https://www.it610.com/article/1290850473259114496.htm
希望对你有所帮助。如有帮助,请点击采纳



其他答案1:

建导出的时候,按时间或其它条件进行拆分导出。
然后写一个shell 脚本循环导出:
示例:

  
vim par.pardirectory=DP_DIRdumpfile=t1.dmptables=t1query=t1:" WHERE CREATED_TS >= TO_DATE('20170501 000000', 'YYYY/MM/DD HH24:MI:SS') AND CREATED_TS < TO_DATE('20170601 000000', 'YYYY/MM/DD HH24:MI:SS')"logfile=expdp_test.logcontent=data_only -- 只 导出数据expdp 用户名/'密码' parfile=par.par

示例2:
image.png
图片截取:
https://www.xifenfei.com/2021/06/expdp-single-table-parallel.html

再有一个方法就是用并行,生产环境使用并行有点危险,我没有用过,但也是一个思路,供你参考:
image.png
图片截取:
https://www.it610.com/article/1290850473259114496.htm
希望对你有所帮助。如有帮助,请点击采纳


其他答案2:

DUMPFILE可以通过指定%U替换变量,可创建多个转储文件,替换变量将从01到99,例如exp%U.dmp可以转储成exp01.dmp, exp02.dmp, exp03.dmp等文件名。

用%U指定的多个转储文件,由参数PARALLEL决定。
在用逗号分隔的列表中提供多个文件

https://docs.oracle.com/database/121/SUTIL/GUID-A6300021-419F-4C1D-AFF1-38FE1123326B.htm#SUTIL841
https://blog.csdn.net/linsuhangoracle/article/details/118960073


其他答案3:

其他答案4:

在进行expdp导出的时候,有这么几个参数可以指定:

1、filesize----》指定单个dump文件的大小

2、%U替换变量,可创建多个转储文件

3、parallel-----》指定导出时启动的并行进程。

如果想导出多个文件,可以通过以上参数配合实现,请注意一般如果只有一个表,启动多个并行,性能提升并不明显。

expdp mobile/mobile directory=DATA_PUMP_DIR dumpfile=UserBoss_20160619_25%U.dmp parallel=4 filesize=500M

原网站

版权声明
本文为[布衣&凡尘]所创,转载请带上原文链接,感谢
https://www.modb.pro/issue/15998