Oracle增量更新备份(更快的备份策略)

2024-03-12 13:44

本文主要是介绍Oracle增量更新备份(更快的备份策略),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

正常的备份策略包括:全库备份,full备份,创建镜像备份,累积增量备份以及差异增量备份:

 

全库备份:如名,对oracle整个数据库进行备份,包括archivedlog,数据文件,控制文件,参数文件。

示例:

e2bd9c0834f049cb8c1f99595211272f.png

 

full备份:backup databse命令默认是一个full 备份,(注意:full备份不备份归档日志)

39ee9994c77a4dcaa6d96523533e92c6.png

 

创建镜像备份:也可以使用rman创建你需要备份的文件的完全镜像,并指定一个目录来存放它,镜像文件可以认为是 所需备份文件的完全复制,文件大小是相同的。

例如:BACKUP AS COPY DATAFILE '/ORADATA/users_01_db01.dbf';

累积增量备份和差异增量备份有何区别?

下面两张图可以很好的诠释  累积增量备份和差异增量备份的区别:

差异增量备份:

c11f5bd6d97c4f4080f59bcb859232f1.png

累积增量备份:

393c961580b0408bb868bb63dfed1e61.png

如果我们在周日这一天做了0级全备(注意0级全备 与 full 备份是有差异的,0级备份可以做为1级备份的参照,full备份不可以,但在备份内容上,0级备份与full备份备份的内容相同)。

周一做了2级备份。

在周二这天,如果我们做了2级备份,如果我们是差异增量备份,本次2级备份会找n级或n-1级备份。在图中周二这一天可以参照周一同级的2级备份,所需要备份的内容为周一到周二这一天的内修改的内容。

如果我们是累积增量备份,则只会找n-1级备份,没有n-1级备份再找n-2级备份。图中周二的2级备份只会找1级备份,1级找不着就会找0级备份。

能不能更快?

增量更新备份:

我们可以这样做,先做一个0级备份,之后每一天都做一次一级备份,再把这个一级备份所修改的内容,每天都应用于这个0级备份,这样这个0级备份每天都是全新的。

示例:

1、第一次执行命令,会创建一个完整的备份(这个1级备份因为是第一次执行,前面没有0级备份,所以本次1级备份就是一次0级备份)。

backup incremental level 1 for recover of copy with tag 'daily_inc' database;

040f495cb3e446e88bb58aee4eecc792.png

 

 

2、此时如果做recovery,是没有动作,因为没有增量备份

recover copy of database with tag 'daily_inc';

d84a3d887bab491d9e2a132723dc0b8d.png

3、再次执行,产生增量备份,文件存放在指定的format路径下

backup incremental level 1 for recover of copy  with tag 'daily_inc' database;

906d453b7b7041a99be5f1dd836f5d3e.png

4、此时会应用增量备份进行recovery

recover copy of database with tag 'daily_inc';

0053e49fd561477a87fdb28afabeeea6.png

5、list copy和list backup都会出现相应的内容。

8afdd4e2adf443e7a9f14118fcb60f07.png

 

能不能更快?

 

打开块移动跟踪(Monitoring Block Change Tracking):

67515399fe3c44498dd7d671012ec5dd.png

速度超级快。

fd7959390bc14ee48c10c5e7d9909334.png

使用快移动跟踪后瞬间完成,因为它仅需要查找被修改的块,避免了全表扫描。

 

 

 

这篇关于Oracle增量更新备份(更快的备份策略)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/801450

相关文章

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

使用Python实现网络设备配置备份与恢复

《使用Python实现网络设备配置备份与恢复》网络设备配置备份与恢复在网络安全管理中起着至关重要的作用,本文为大家介绍了如何通过Python实现网络设备配置备份与恢复,需要的可以参考下... 目录一、网络设备配置备份与恢复的概念与重要性二、网络设备配置备份与恢复的分类三、python网络设备配置备份与恢复实

Oracle存储过程里操作BLOB的字节数据的办法

《Oracle存储过程里操作BLOB的字节数据的办法》该篇文章介绍了如何在Oracle存储过程中操作BLOB的字节数据,作者研究了如何获取BLOB的字节长度、如何使用DBMS_LOB包进行BLOB操作... 目录一、缘由二、办法2.1 基本操作2.2 DBMS_LOB包2.3 字节级操作与RAW数据类型2.

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

查看Oracle数据库中UNDO表空间的使用情况(最新推荐)

《查看Oracle数据库中UNDO表空间的使用情况(最新推荐)》Oracle数据库中查看UNDO表空间使用情况的4种方法:DBA_TABLESPACES和DBA_DATA_FILES提供基本信息,V$... 目录1. 通过 DBjavascriptA_TABLESPACES 和 DBA_DATA_FILES

Redis 内存淘汰策略深度解析(最新推荐)

《Redis内存淘汰策略深度解析(最新推荐)》本文详细探讨了Redis的内存淘汰策略、实现原理、适用场景及最佳实践,介绍了八种内存淘汰策略,包括noeviction、LRU、LFU、TTL、Rand... 目录一、 内存淘汰策略概述二、内存淘汰策略详解2.1 ​noeviction(不淘汰)​2.2 ​LR

Oracle登录时忘记用户名或密码该如何解决

《Oracle登录时忘记用户名或密码该如何解决》:本文主要介绍如何在Oracle12c中忘记用户名和密码时找回或重置用户账户信息,文中通过代码介绍的非常详细,对同样遇到这个问题的同学具有一定的参... 目录一、忘记账户:二、忘记密码:三、详细情况情况 1:1.1. 登录到数据库1.2. 查看当前用户信息1.

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行