oracle积累增量和差异增量

积累增量和差异增量:
对于 RMAN 来说,积累增量备份和差异增量备份都是增量备份的一种形式,它们之间的区别在于备份的范围和备份集的方式。

  1. 积累增量备份:在进行积累增量备份时,RMAN 会备份自最后一次完全备份或增量备份以来所做的所有更改数据,并将这些更改应用到备份集中。这样可以保证备份集中包含完整的数据集变化历史,并且能够恢复到任意时间点。
    积累增量备份命令示例:
BACKUP INCREMENTAL LEVEL 1 CUMULATIVE DATABASE;
  1. 差异增量备份:在进行差异增量备份时,RMAN 会备份自最后一次完全备份以来所做的所有更改数据,但不会将这些更改应用到备份集中。相反,RMAN 会创建一个只包含最新增量备份数据的备份集。因此,差异增量备份的备份集更小,还原数据需要使用完全备份和最近的差异增量备份。
    差异增量备份命令示例:
BACKUP INCREENTAL LEVEL 1 DATABASE;

备份策略:
在这里插入图片描述

shell脚本编写oracle rman增量备份,如果是星期天执行0级增量,如果是星期三执行积累增量,星期六执行全量备份其余均执行差异增量备份

#!/bin/bash
export DBNAME=orclcdb
export ORACLE_SID=orclcdb 
export ORACLE_BASE=/u01/app/oracle 
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$HOME/bin:$PATH 
export BACPATH=/u01/app/oracle/oradata/backup
export BACTIME=`date "+%Y-%m-%d"`
export LGNAME=rman_backup_`date "+%Y-%m-%d"`.log
mkdir ${BACPATH}/$BACTIME

current_day=$(date +%A) # 获取当前星期几

if [ "$current_day" = "Sunday" ]; then
  # 执行0级增量备份
  rman target /  > ${BACPATH}/${BACTIME}/${LGNAME} << EOF 
	run{
	CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
	CONFIGURE CONTROLFILE AUTOBACKUP ON; 
	CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '${BACPATH}/${BACTIME}/${DBNAME}_ful_%U';  
	ALLOCATE CHANNEL c1 DEVICE TYPE DISK; 
	BACKUP INCREMENTAL LEVEL 0  DATABASE format '${BACPATH}/${BACTIME}/${DBNAME}_ful0_data_file_%d_%T_%s_%p_%u';
	sql 'alter system archive log current';
	backup archivelog all format '${BACPATH}/${BACTIME}/${DBNAME}_arc_%U';
	backup current controlfile format '${BACPATH}/${BACTIME}/${DBNAME}_ctl_%U';
	backup spfile format '${BACPATH}/${BACTIME}/${DBNAME}_spf_%U';
	release channel c1;
	}
  quit
  EOF

elif [ "$current_day" = "Wednesday" ]; then
  # 执行积累增量备份
  rman target /  > ${BACPATH}/${BACTIME}/${LGNAME} << EOF 
	run{
	CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
	CONFIGURE CONTROLFILE AUTOBACKUP ON; 
	CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '${BACPATH}/${BACTIME}/${DBNAME}_ful_%U_%I';  
	ALLOCATE CHANNEL c1 DEVICE TYPE DISK; 
	BACKUP INCREMENTAL   LEVEL 1 CUMULATIVE DATABASE format '${BACPATH}/${BACTIME}/${DBNAME}_fulCUM_data_file_%d_%T_%s_%p_%u_%I';
	sql 'alter system archive log current';
	backup archivelog all format '${BACPATH}/${BACTIME}/${DBNAME}_arc_%U_%I';
	backup current controlfile format '${BACPATH}/${BACTIME}/${DBNAME}_ctl_%U_%I';
	backup spfile format '${BACPATH}/${BACTIME}/${DBNAME}_spf_%U_%I';
	release channel c1;
	}
  quit
  EOF

elif [ "$current_day" = "Saturday" ]; then
  # 执行全量备份
  rman target /  > ${BACPATH}/${BACTIME}/${LGNAME} << EOF 
	run{
	CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
	CONFIGURE CONTROLFILE AUTOBACKUP ON; 
	CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '${BACPATH}/${BACTIME}/${DBNAME}_ful_%U_%I';  
	ALLOCATE CHANNEL c1 DEVICE TYPE DISK; 
	BACKUP  DATABASE format '${BACPATH}/${BACTIME}/${DBNAME}_ful_data_file_%d_%T_%s_%p_%u_%I';
	sql 'alter system archive log current';
	backup archivelog all format '${BACPATH}/${BACTIME}/${DBNAME}_arc_%U_%I';
	backup current controlfile format '${BACPATH}/${BACTIME}/${DBNAME}_ctl_%U_%I';
	backup spfile format '${BACPATH}/${BACTIME}/${DBNAME}_spf_%U_%I';
	release channel c1;
	}
  quit
  EOF

else
  # 执行差异增量备份
  rman target /  > ${BACPATH}/${BACTIME}/${LGNAME} << EOF 
	run{
	CONFIGURE RETENTION POLICY TO REDUNDANCY 7;
	CONFIGURE CONTROLFILE AUTOBACKUP ON; 
	CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '${BACPATH}/${BACTIME}/${DBNAME}_ful_%U_%I';  
	ALLOCATE CHANNEL c1 DEVICE TYPE DISK; 
	BACKUP INCREMENTAL LEVEL 1 DATABASE format '${BACPATH}/${BACTIME}/${DBNAME}_fulINC_data_file_%d_%T_%s_%p_%u_%I';
	sql 'alter system archive log current';
	backup archivelog all format '${BACPATH}/${BACTIME}/${DBNAME}_arc_%U_%I';
	backup current controlfile format '${BACPATH}/${BACTIME}/${DBNAME}_ctl_%U_%I';
	backup spfile format '${BACPATH}/${BACTIME}/${DBNAME}_spf_%U_%I';
	release channel c1;
	}
  quit
  EOF

fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/67308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

FPGA外部触发信号毛刺产生及滤波

1、背景 最近在某个项目中&#xff0c;遇到输入给FPGA管脚的外部触发信号因为有毛刺产生&#xff0c;导致FPGA接收到的外部触发信号数量多于实际值。比如&#xff1a;用某个信号源产生1000个外部触发信号&#xff08;上升沿触发方式&#xff09;给到FPGA输入IO&#xff0c;实际…

PCI 简易通讯控制器有黄色感叹号

一、问题描述 设备管理器中&#xff0c;其他设备中显示 “PCI 简易通讯控制器”驱动未安装&#xff0c;显示黄色感叹号&#xff1a; 二、原因分析 右键该驱动&#xff0c;查看属性ID&#xff0c;显示为&#xff1a; PCI \ VEN_8086&#xff06;DEV_1C3A&#xff06;SUBSYS…

14.3.4 【Linux】使用 LVM thin Volume 让 LVM 动态自动调整磁盘使用率

想像一个情况&#xff0c;你有个目录未来会使用到大约 5T 的容量&#xff0c;但是目前你的磁盘仅有 3T&#xff0c;问题是&#xff0c;接下来的两个月你的系统都还不会超过 3T 的容量&#xff0c; 不过你想要让用户知道&#xff0c;就是他最多有 5T 可以使用就是了&#xff01;…

ECharts 折线图使用相关

一、折线图堆叠设置为不堆叠的方法 官网是这样的&#xff0c;但是不需要这种堆叠形式的如下图&#xff1a; 即&#xff1a;第2条数据值 第1条数据值 第2条数据值 第3条数据值 第2条数据值 第3条数据值 需要改成实际值展示&#xff0c;如下图&#xff1a; 只需要修改stack的…

微信小程序 地图map(电子围栏圆形和多边形)

正常情况下是没有手机上画电子围栏的&#xff0c;公共平台上我也没找到&#xff0c;所以走了一个歪点子&#xff0c;就是给地图添加点击事件&#xff0c;记录点的位置&#xff0c;在画到电子围栏上就是添加电子围栏了&#xff0c;如果只是显示电子围栏就简单了 一、多边形电子…

mybatis-flex探索

mybatis古今未来 最近无意之中发现了一个非常棒的持久层框架mybatis-flex&#xff0c;迫不及待研究了一下 发现简直就是我的梦中情框&#xff0c;之前写ibatis&#xff0c;后来写mybatis&#xff0c;接着写mybatis-plus&#xff0c;接着研究mybatis-flex ibatis ibatis是apa…

Markdown和LaTex的学习

下载Typora Typora(免费版) 轻量级Markdown编辑器 - 哔哩哔哩 (bilibili.com) 部分编辑器需要进入设置 中开启特定的 Markdown 语法&#xff0c;例如 Typora 就需要手动开启 高亮 功能 Typora的使用&#xff1a; Typora中各种使用 - lyluoye - 博客园 (cnblogs.com) 标题 #…

MyBatisPlus快速入门

MyBatisPlus概述和快速入门 概述 基础框架 MyBatisSpringSpringMVC 为什么需要学习&#xff1f; MyBatisPlus可以节省我们大量的工作时间&#xff0c;所有的CRUD都可以自动化完成。还有其他框架JPA、tk-mapper。 简介 是什么&#xff1f; Mybatis本来就是简化JDBC操作的…

redis原理 3:未雨绸缪 —— 持久化

redis原理 3&#xff1a;未雨绸缪 —— 持久化 Redis 的数据全部在内存里&#xff0c;如果突然宕机&#xff0c;数据就会全部丢失&#xff0c;因此必须有一种机制来保证 Redis 的数据不会因为故障而丢失&#xff0c;这种机制就是 Redis 的持久化机制。 Redis 的持久化机制有两种…

(三)Node.js - 模块化

1. Node.js中的模块化 Node.js中根据模块来源不同&#xff0c;将模块分为了3大类&#xff0c;分别是&#xff1a; 内置模块&#xff1a;内置模块由Node.js官方提供的&#xff0c;例如fs、path、http等自定义模块&#xff1a;用户创建的每个.js文件&#xff0c;都是自定义模块…

企升编辑器word编写插件

面向用户群体招投标人员&#xff0c;用统一的模板来编写标书&#xff0c;并最终合并标书。项目经理&#xff0c;编写项目开发计划书&#xff0c;项目验收文档等。开发人员&#xff0c;编写项目需求规格说明书、设计说明书、技术总结等文档。其他文档编写工作量较多的岗位人员。…

flowable-ui部署(6.80)

前置条件&#xff1a;Apache Tomcat/9.0.78版本及以下 https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.78/bin/apache-tomcat-9.0.78-windows-x64.zip 一、下载资源 https://github.com/flowable/flowable-engine/releases/download/flowable-6.8.0/flowable-6.8.0.zip 二…

Apoll 多项式规划求解

一、纵向规划 void QuarticPolynomialCurve1d::ComputeCoefficients(const float x0, const float dx0, const float ddx0, const float dx1,const float ddx1, const float p) {if (p < 0.0) {std::cout << "p should be greater than 0 at line 140." &…

伦敦金费用有哪几方面?

通常在网上开设伦敦金投资账户是没有成本的&#xff0c;而它交易的费用&#xff0c;主要是由点差和过夜利息&#xff08;仓息&#xff09;构成。如果伦敦金投资者只是做短线的日内交易&#xff0c;做一手完整的100盎司的标准合约&#xff0c;需要支付大约50美元点差费用&#x…

分支和循环语句(1)(C语言)

目录 什么是语句&#xff1f; 分支语句&#xff08;选择结构&#xff09; if语句 悬空else if书写形式的对比 switch语句 在switch语句中的 break default子句 循环语句 while循环 while语句中的break和continue for循环 语法 break和continue在for循环中 for语句和…

fastadmin、vue、react图标库适用于多种框架

在二开fastadmin中&#xff0c;在写vue以及react时&#xff0c;侧边导航栏以及按钮中常常需要很多图标&#xff0c;那么这些图标应该去哪里得到呢&#xff0c;在这里给大家一个链接&#xff0c;这里有丰富的图标库&#xff0c;可以找到自己想要的进行使用。 点击下方链接&…

AI lightning学习

真的是没有mmlab的框架好理解&#xff0c;hook调用没问题&#xff0c;就是代码写的不整洁&#xff0c;hook放的到处都是&#xff0c;而且hook的名字和run的名字也不好对应。 又是捧mmengine的一天 &#x1f603;

Leetcode-每日一题【剑指 Offer 14- I. 剪绳子】

题目 给你一根长度为 n 的绳子&#xff0c;请把绳子剪成整数长度的 m 段&#xff08;m、n都是整数&#xff0c;n>1并且m>1&#xff09;&#xff0c;每段绳子的长度记为 k[0],k[1]...k[m-1] 。请问 k[0]*k[1]*...*k[m-1] 可能的最大乘积是多少&#xff1f;例如&#xff0…

Electron 开发,报handshake failed; returned -1, SSL error code 1,错误

代码说明 在preload.js代码中&#xff0c;暴露参数给渲染线程renderer.js访问&#xff0c; renderer.js 报&#xff1a;ERROR:ssl_client_socket_impl.cc(978)] failed; returned -1, SSL error code 1,错误 问题原因 如题所说&#xff0c;跨进程传递消息&#xff0c;这意味…

实验笔记之——Android项目的适配

android有一个很烦人的点就是版本之间差距较大&#xff0c;且不兼容&#xff0c;导致不同版本之间代码兼容很容易出问题&#xff0c;一个常见的例子就是几年前自己开发的app&#xff0c;几年后再用竟然配置不了。。。为此&#xff0c;写下本博客记录一下配置旧项目的过程。 …
最新文章