Oracle表数量对数据泵备份恢复速度的影响情况


背景

随着公司产品交付后的时间越来越久.
数据库的备份恢复速度会越来越慢. 最开始一直认为是因为数据量导致的.
但是最近发现, 如果只是将数据库表的量扩展, 导出速度并不会特别大的影响.
所以感觉比较奇怪:
为何运行一段时间后, 数据库备份恢复的速度会下降如此的多.

一个现象

最近有一个项目反馈:
清理了部分没太有用的表之后, 机器的CPU占用率有了很大的降低.
想到之前同事反馈的背景里的问题. 思考既然运行时的CPU能够降低
是否也会减少备份恢复过程站时间和资源的使用.
基于此, 准备进行一次专门的验证, 顺便总结一下并行与压缩相关的内容
需要说明的是 去年总结的并行命令存在错误. Oracle的EXPDP 和IMPDP 的并行度必须以文件数为核心驱动.
文件数量是并行度的基础. 如果只有一个文件, 并行度设置的在高其实也没意义.

进行验证-思路

思路:
在清理表之前进行两次备份:
1次为 不压缩不并行的导出速度.
1次为 压缩然后并行导出的速度. 清理表之后再次执行两次备份, 验证时间.

进行验证-命令

1. 最基础的命令:
最基本的导出:
expdp 'myapp2103ora/TestBirthdayOfSon'@127.0.0.1/ora19cauto
directory=dir schemas=myapp2103ora dumpfile=myapp2103ora_with_alltemp.dump
logfile=2022092301.log EXCLUDE=STATISTICS
2. 加强版的命令:
压缩加并行:
expdp 'myapp2103ora/TestBirthdayOfSon'@127.0.0.1/ora19cauto
directory=dir schemas=myapp2103ora
dumpfile=myapp2103ora_with_alltemp_parallel_compression_%U.dump
parallel=10 COMPRESSION=DATA_ONLY
logfile=2022092302.log EXCLUDE=STATISTICS
# 注意可以在导出文件增加 "_%U.dump" 的后缀. 就可以根据parallel的参数进行形成多个文件.
# 注意 COMPRESSION 建议选择 DATA_ONLY 不建议使用ALL, 元数据可能会有损坏.

执行验证-清理部分开头的表信息

begin
for t in (select table_name tn from user_tables where table_name like 'SOMETHING%' AND LENGTH(TABLE_NAME) > 15) loop
begin
execute immediate 'drop table '||t.tn;
end;
end loop;
end;

执行验证-验证清理后的性能.

结论:
清理垃圾表后并行压缩备份的速度是不清理并且不压缩不并行时间的: 1/8
清理垃圾表能够极大的提高备份的效率. 降低时间
并行和压缩也有很大的提升.
建议不要有太多的可以清理的垃圾表. 务必要定期清理.
推断:
如果会影响备份速度, 就可能影响系统运行速度.尤其是查询系统资源视图时. 总表数 3万5
T开头垃圾表 1万
B开头垃圾表 1.5万
其他表(业务) 1万
数据文件大小: 88G 清理垃圾表之前 不压缩 不并行备份: 40分钟 清理之后 12分钟
备份文件大小 53G 13G
清理垃圾表之前 压缩 并行备份: 9分钟 清理之后 5分钟
备份文件大小 49G 12G

Oracle表数量对数据泵备份恢复速度的影响情况的更多相关文章

  1. oracle数据泵备份(Expdp命令)[转]

      Oracle备份方式主要分为数据泵导出备份.热备份与冷备份三种,今天首先来实践一下数据泵备份与还原.数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份.oracle10g开始推出了数据泵( ...

  2. oracle数据泵备份(Expdp命令)

    Oracle备份方式主要分为数据泵导出备份.热备份与冷备份三种,今天首先来实践一下数据泵备份与还原.数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份.oracle10g开始推出了数据泵(ex ...

  3. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  4. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

  5. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  6. Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)

    <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...

  7. 利用闪回查看Oracle表历史时刻数据

    利用闪回查看Oracle表历史时刻数据 1.查看表历史时刻数据 select * from tab_test AS OF TIMESTAMP to_timestamp('20140917 10:00: ...

  8. oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决

    转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...

  9. 【基础】Oracle 表空间和数据文件

    多个表空间的优势:1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失3 ...

  10. Oracle 12c pdb的数据泵导入导出

    12c推出了可插拔数据库,在一个容器cdb中以多租户的形式同时存在多个数据库pdb.在为pdb做数据泵导入导出时和传统的数据库有少许不同.           1,需要为pdb添加tansnames ...

随机推荐

  1. 转角遇上Volcano,看HPC如何应用在气象行业

    摘要:高性能计算(HPC)在各个领域都有广泛的应用.本文通过典型的HPC应用WRF,介绍了HPC应用在Kubernetes+Volcano上运行方式. Kubernetes已经成为云原生应用编排.管理 ...

  2. 开抢| 华为开发者大会2021(Cloud)早鸟票来了!

    他们,是技术的引领者 他们,是科学的追随者 他们用代码守护蓝色星球的生态 破解宇宙深处的密码 化解城市生活的不畅 捉摸自然气候的脾性 ...... 这些改变世界的成果背后 每一个开发者都了不起 --那 ...

  3. 2022 IDC中国未来企业大奖优秀奖颁布,华为云数据库助力德邦快递获奖

    摘要:华为云数据库助力德邦快递打造的"基于数智融合的一站式物流供应链平台"项目从500多个项目中脱颖而出,荣获2022 IDC中国未来企业大奖优秀奖"未来智能领军者&qu ...

  4. vue2升级vue3:webpack vue-loader 打包配置

    如果没有啥特别的需求还是推荐vue-cli! vite  vue3 TSX项目 虽然vite 很香,但是vite  rollup 动态加载,多页面 等问题比较难搞 vite的缺点 wepback  _ ...

  5. 【Django drf】序列化器总结

    目录 序列化器字段 外键字段自定义序列化 在模型类中写方法 在序列化类中写方法 反序列化 外键字段反序列化保存 ModelSerializer使用总结 序列化器字段 序列化中的字段可以根据用途分为三种 ...

  6. Step by step guide to becoming a C++ developer in 2023

    https://roadmap.sh/cpp https://roadmap.sh/backend

  7. 4.0 《数据库系统概论》数据库安全性详解---(存取控制、DAC&MAC、视图机制、审计Audit....)

    前言 本篇文章学习书籍:<数据库系统概论>第5版 王珊 萨师煊编著 视频资源来自:数据库系统概论完整版(基础篇+高级篇+新技术篇) 由于 BitHachi 学长已经系统的整理过本书了,我在 ...

  8. webgl创建一个点

  9. shell脚本(13)-shell函数

    一.函数介绍 将相同功能的代码模块化,使得代码逻辑上比较简单,代码量少,排错容易 函数的优点: 1.代码模块化,调用方便,节省内存 2.代码模块化,代码量少,排错简单 3.代码模块化,可以改变代码的执 ...

  10. 一文看完String的前世今生,内容有点多,请耐心看完!

    写在开头 String字符串作为一种引用类型,在Java中的地位举足轻重,也是代码中出现频率最高的一种数据结构,因此,我们需要像分析Object一样,将String作为一个topic,单独拿出来总结, ...