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 ...
随机推荐
- 手把手带你通过API创建一个loT边缘应用
摘要:使用API Arts&API Explorer调用IoT边缘服务接口创建应用,了解边缘计算在物联网行业的应用. 本文分享自华为云社区<使用API Arts&API Expl ...
- DevOps敏捷60问,一定有你想了解的问题
摘要:问题覆盖了规划设计.开发集成.测试.部署发布.运维监控等DevOps落地实践中的关键疑点与难点. "DevOps的价值是又快又好地交付软件" --<凤凰项目>的作 ...
- 一段java代码是如何执行的?
摘要:当你学会了java语言之后,你写了一些代码,然后你想要执行你的代码,来达成某些功能.那么,你都知道这段java代码都是如何执行的吗? 本文分享自华为云社区<一段java代码是如何执行的&g ...
- 解析Stream foreach源码
摘要:串行流比较简单,对于parallelStream,站在它背后的是ForkJoin框架. 本文分享自华为云社区<深入理解Stream之foreach源码解析>,作者:李哥技术 . 前言 ...
- 详解MRS CDL整体架构设计
摘要:MRS CDL是FusionInsight MRS推出的一种数据实时同步服务,旨在将传统OLTP数据库中的事件信息捕捉并实时推送到大数据产品中去,本文档会详细为大家介绍CDL的整体架构以及关键技 ...
- JavaScript继承的实现方式:原型语言对象继承对象原理剖析
面向对象编程:继承.封装.多态. 对象的继承:A 对象通过继承 B 对象,就能直接拥有 B 对象的所有属性和方法.这对于代码的复用是非常有用的. 在经典的面向对象语言中,您可能倾向于定义类对象,然后您 ...
- appuploader 入门使用
回想一下我们发布 iOS 应用,不仅步骤繁琐,非常耗时.一旦其中一步失误了,又得重新来.作为一名优秀的工程师不应该让这些重复的工作在浪费我们的人生.在软件工程里面,我们一直都推崇把重复.流程化的工作交 ...
- LAS Spark+云原生:数据分析全新解决方案
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 随着数据规模的迅速增长和数据处理需求的不断演进,云原生架构和湖仓分析成为了现代数据处理的重要趋势.在这个数字化时代 ...
- 阿里云CentOS数据盘挂载(磁盘扩容)
1. df -h Disk label type 值为dos表示MBR分区,值为gpt表示GPT分区. [root@iZuf66gcq71y5hlfv02w6aZ ~]# yum install -y ...
- zsh踩坑记录
1. zsh: no matches found: uvicorn[standard] 方法一 # 在~/.zshrc中添加下面这句话 setopt no_nomatch # 然后source ~/. ...