Oracle表数量对数据泵备份恢复速度的影响情况
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表数量对数据泵备份恢复速度的影响情况的更多相关文章
- oracle数据泵备份(Expdp命令)[转]
Oracle备份方式主要分为数据泵导出备份.热备份与冷备份三种,今天首先来实践一下数据泵备份与还原.数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份.oracle10g开始推出了数据泵( ...
- oracle数据泵备份(Expdp命令)
Oracle备份方式主要分为数据泵导出备份.热备份与冷备份三种,今天首先来实践一下数据泵备份与还原.数据泵导出/导入属于逻辑备份,热备份与冷备份都属于物理备份.oracle10g开始推出了数据泵(ex ...
- 【转】Oracle 表空间与数据文件
--============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...
- Oracle 表空间与数据文件
-============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)
<Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(上)> <Oracle简单常用的数据泵导出导入(expdp/impdp)命令举例(下)> 目的:指导项 ...
- 利用闪回查看Oracle表历史时刻数据
利用闪回查看Oracle表历史时刻数据 1.查看表历史时刻数据 select * from tab_test AS OF TIMESTAMP to_timestamp('20140917 10:00: ...
- oracle中使用impdp数据泵导入数据提示“ORA-31684:对象类型已经存在”错误的解决
转载请注明出处:http://blog.csdn.net/dongdong9223/article/details/47448751 本文出自[我是干勾鱼的博客] oracle中使用impdp数据泵导 ...
- 【基础】Oracle 表空间和数据文件
多个表空间的优势:1.能够将数据字典与用户数据分离出来,避免由于字典对象和用户对象保存在同一个数据文件中而产生的I/O冲突2.能够将回退数据与用户数据分离出来,避免由于硬盘损坏而导致永久性的数据丢失3 ...
- Oracle 12c pdb的数据泵导入导出
12c推出了可插拔数据库,在一个容器cdb中以多租户的形式同时存在多个数据库pdb.在为pdb做数据泵导入导出时和传统的数据库有少许不同. 1,需要为pdb添加tansnames ...
随机推荐
- 用了这个评估优化LiteOS镜像利器,我有点飘...
摘要:本文会给大家介绍下LiteOS Studio的镜像分析工具,这可是一个评估.优化镜像文件RAM.ROM占用大小的利器. 大家都知道嵌入式开发板由于受成本限制,芯片的RAM.Flash等硬件资源有 ...
- 谁说Redis不能存大key
摘要:推荐使用GaussDB(for Redis)搞定"大key"存储,从根本上解决社区版Redis使用风险. 本文分享自华为云社区<华为云GaussDB(for Redis ...
- DevSecOps“内置安全保护”,让软件研发“天生健康”
摘要:我们主要是围绕安全架构设计保证安全落地有法可依,进行威胁建模让安全落地有迹可循.做好隐私和敏感数据保护让安全落地在每一个细节和实处这几个方面进行阐述. 本文分享自华为云社区<DevSecO ...
- 智能电视APP鲜时光,如何应用AB测试打造极致的用户观看体验?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 数字技术的发展让智能电视普及率大幅提升,2023年智能电视的市场渗透率已超90%,与智能电视相匹配的各类应用 ...
- Solon Web 开发,三、打包与运行
Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...
- PPT 图片框架排版万能能公式
图片作用 提升设计感 辅助表达 传递情感 如何选择一张高大上的图片? 星空.地球.城市.海洋.线条.粒子.山脉.壁纸(系统.手机厂商千挑万选的) https://cn.bing.com/images ...
- DevOps 运维提醒 钉钉 机器人 群通知
应用系统在碰到运行异常等情况时,发送预警消息@群内相关人员,可以及时发出问题,观察对问题的响应情况 1. 创建一个群(可以是公司内部群) 2. 添加机器人 自定义机器人安全设置: https://op ...
- 用Python学线性代数:概率密度函数拟合
问题 如果有一组数据,如何确定他们来自哪个统计分布? 从数据分析的角度,我们并不想要通过严格的统计方法去找到这个分布,Python中有一个可以自动拟合数据分析的库 -- distfit .这是一个py ...
- 【库函数】Qt中Json的操作
参考博客: https://blog.csdn.net/hp_cpp/article/details/80338116 从文件中读取json https://www.cnblogs.com/ybqjy ...
- C++实现简单的日期正则表达式
简单的日期正则表达式 一个简单的日期解析程序,从yyyy-mm-dd格式的日期字符串中,分别获取年月日. 先设置一个简单的正则表达式,4位数字的"年",1-2位数字的"月 ...