Oracle中rman的增量备份使用分享

        继上次使用RMAN的全量备份和异机还原以后,开始研究一下增量备份和还原的方法。相比于全量RMAN的备份还原,增量的备份还原就相对简单。本实践教程直接上操作,还是回归到一个问题,就是关于两个数据库创建时候,必须保持oracle的一致性的原则。数据库的DBID,数据文件、控制文件、归档文件、日志文件的路径都要保持一致性。如有路径不一致不适用本文章所指的增量数据库备份和恢复方法了。

一、实验目标

        将源库的数据在进行增量一次【这里使用impdb导入,操作省略了】,将整体的数据量提升后。因为之前RMAN进行全量备份和全量还原过一次,RMAN已经保留原始数据,使用impdb导入数据泵后,数据量肯定上升了。此刻将进行RMAN的增量备份恢复刚刚好。

二、部署环境参数

VMware部署分别是192.168.188.141(源数据库),192.168.188.152(目标数据库)

三、源数据库的增量数据备份和传输

先确定使用impdp导入数据后,数据的总量多少。之后异机RMAN增量恢复后再查看。

先将脚本rman指令更新为增量备份,然后执行。

更新到以下rman_bak.sh脚本。(如果套用,记得处理自己的数据库路径)

#!/bin/bash
#************************************************************************ 
#*** rman_bak_L0.sh *** 
#************************************************************************ 
#!/bin/bash
source /home/oracle/.bash_profile
rq=`date +%Y%m%d`
bakdir=/home/oracle/topsoft/rmanbak/${rq}
autobak=/home/oracle/topsoft/rmanbak/autobackup/
if [ ! -d ${bakdir} ];
then mkdir -p ${bakdir}
fi
if [ ! -d ${autobak} ];
then mkdir -p ${autobak}
fi
cd $ORACLE_HOME/bin 
./rman target / log=$bakdir/rmanfull_${rq}.log   <<EOF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '${autobak}/%F';
run { 
allocate channel c1 type disk; 
allocate channel c2 type disk;
allocate channel c3 type disk; 
allocate channel c4 type disk;
allocate channel c5 type disk; 
allocate channel c6 type disk;
sql 'alter system archive log current';
backup as compressed backupset incremental level 1 database tag 'dbfull' format '${autobak}/backlv0_%d_%T_%t_%s_%p.bak';
sql 'alter system archive log current';
backup as compressed backupset archivelog all tag 'arch' format '${autobak}/arch_%d_%T_%t_%s_%p.bak';
backup current controlfile format '${autobak}/ctl_%d_%T_%t_%s_%p.bak';
release channel c1; 
release channel c2;
release channel c3; 
release channel c4;
release channel c5; 
release channel c6;
} 
report obsolete; 
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
list backup summary; 
exit; 
EOF
echo "备份数据完成."

先关闭监控端口,再执行脚本rman_bak.sh,然后检查备份文件是否全部备份完毕。

RMAN的数据增量备份已经完成,使用xftp可以看到路径下面有备份文件

将源库下面的autobackup文件夹中的所有增量文件传送到目标库中

在目标库(x.x.188.152)中有源数据库的增量数据文件了

四、目标数据库的接收增量数据

开启数据库ORACLE的监控,查看监控的1521端口是否开放了

查看源数据库的备份文件是否存在目标库对应的文件路径中

启动rman工具窗口,将数据库关闭,使用归档模式启动数据库。


将增量的数据集增加到rman中

增加rocover恢复增量数据库

开启目标数据库的归档模式和开启日志追踪记录功能

$ sqlplus "/as sysdba"
SQL> shutdown immediate
SQL> startup mount;
SQL> alter database open resetlogs;
​
# 进行简单查询,确认业务数据状态;

四、验证环节

然后使用数据库工具PL/SQL进行源数据库和目标数据库的数据量进行对比

执行这个语句查看两个数据库的表空间使用量对比

SELECT UPPER(F.TABLESPACE_NAME)                                                                 "表空间名",D.TOT_GROOTTE_MB                                                                         "表空间大小(M)",D.TOT_GROOTTE_MB - F.TOTAL_BYTES                                                         "已使用空间(M)",TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100, 2), '990.99') "使用比",F.TOTAL_BYTES                                                                            "空闲空间(M)",F.MAX_BYTES                                                                              "最大块(M)"
FROM (SELECT TABLESPACE_NAME,ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTESFROM SYS.DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,(SELECT DD.TABLESPACE_NAME,ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MBFROM SYS.DBA_DATA_FILES DDGROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;

两个库之间的数据库业务表空间使用量一致,两个库之间的数据库业务使用量是一致的了。但是有点不一致是在于SYSAUX和UNDOTBS1的表空间使用量不同了(可能是我增量数据使用表空间的物理文件创建,而没有使用impdp或者imp导入数据导致

对比数据的总量差了4个G的数据量。(正好是我创建的2个表空间的物理文件每个都是2G,占了4个的内存

select   tablespace_name,   file_id,   file_name,   
round(bytes/(1024*1024*1024),0)   total_space   
from   dba_data_files   
order   by   tablespace_name; 

还有一点的不同就是SYSTEM的表空间的物理文件不同,源库有两个,目标库有一个。

总结:

     RMAN的增量数据恢复其实难度不大。主要几个细节把握住,第一是源库备份恢复时候记得关闭数据库监控,让应用写数据时候写不进去。这样数据不会丢失。第二最好先进行RMAN的全备一次在进行增量恢复,这样恢复效率快点。只需要恢复数据集即可,不需要恢复控制文件、更新参数文件。也不需要其他操作。第三就是目标库恢复时候记得开启归档模式,恢复后记得开启相关日志服务。

我再抛个问题:为什么RMAN的增量恢复没有完全恢复全部数据了,只有业务数据恢复,但是系统数据的物理文件没有恢复过去了。

顺便再请教一下各位大佬,我得操作有没有问题。如果有问题,麻烦评论区指出来了。

参考文件:Oracle数据库离线增量备份与恢复-云社区-华为云

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

效率工作:一键为多种资产添加统一材质(小插件)

1.需求分析&#xff1a; 当导入一批资产&#xff0c;或者有同一批结构体需要添加相同材质时&#xff0c;单独为每个模型都添加材质费时费力&#xff0c;有没有什么办法&#xff0c;能同时为多个资产添加材质。 2.操作实现 1.在网上找到了一款插件&#xff0c;经过验证&#xf…

基于模糊PID控制器的汽车电磁悬架控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于模糊PID控制器的汽车电磁悬架控制系统simulink建模与仿真。 2.系统仿真结果 上面的仿真结果是无控制器和LQG的对比&#xff0c;以及有控制器和LQG的对比仿真。 3.核心程…

go 微服务框架kratos使用中间件的方法

一、中间件的概念 在go语言中&#xff0c;中间件是一种用于处理http请求的开发模式&#xff0c;允许开发人员在请求到达处理程序之前或之后执行特定的操作&#xff0c;如日志记录、身份验证、错误处理等。 中间件通常是一个函数&#xff0c;它接收一个 http.Handler 作为参数…

HBase安装

安装HBase 提示&#xff1a;需要安装好hadoop和zookeeper 安装zookeeper可参考 一、确定HBase版本 去网站确认 https://hbase.apache.org/book.html#hadoop二、下载HBase安装包 去清华大学镜像站下载 https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/三、安装HBase …

Apache、Nginx、IIS文件解析漏洞

目录 1、文件解析漏洞介绍 2、Apache相关的解析漏洞 &#xff08;1&#xff09;多后缀解析漏洞 &#xff08;2&#xff09;Apache配置问题 &#xff08;3&#xff09;换行符解析漏洞 &#xff08;4&#xff09;罕见后缀解析 3、Nginx相关的解析漏洞 &#xff08;1&…

SwiftUI初探

SwiftUI 虽然出现了好几年(1.0好像2019年出的&#xff0c;还有SPM也是同一年)&#xff0c;现在已经到从1.0到5.0&#xff0c;但受限于对系统的要求(最低iOS13.0,有的要求17.0及以上)&#xff0c;每个版本里面差异也很大&#xff0c;语法和Flutter 的Dart 比较像。空闲之余可以先…

视图【mysql数据库】

目录 一、视图的创建、查看、修改、删除 二、cascaded、local检查选项 cascaded和local的区别 三、视图的更新 四、视图的作用 一、视图的创建、查看、修改、删除 二、cascaded、local检查选项 上面的几句SQL中&#xff0c;我们虽然给视图插入了id 30的数据&#xff0c;但…

基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于双PI结构FOC闭环控制的永磁同步电机控制系统simulink建模与仿真。 2.系统仿真结果 3.核心程序与模型 版本&#xff1a;MATLAB2022a 64 4.系统原理简介 永磁同步电机&a…

超详细的前后端实战项目(Spring系列加上vue3)前端篇(二)(一步步实现+源码)

好了&#xff0c;兄弟们&#xff0c;继昨天的项目之后&#xff0c;开始继续敲前端代码&#xff0c;完成前端部分 昨天完成了全局页面的代码&#xff0c;和登录页面的代码&#xff0c;不过昨天的代码还有一些需要补充的&#xff0c;这里添加一下 内容补充&#xff1a;在调用登…

Vue进阶之Vue项目实战(四)

Vue项目实战 出码功能知识介绍渲染器性能调优使用 vue devtools 进行分析使用“渲染”进行分析判断打包构建的产物是否符合预期安装插件使用位置使用过程使用lighthouse分析页面加载情况使用performance分析页面加载情况应用自动化部署与发布CI/CD常见的CI/CD服务出码功能 出码…

HCIP-Datacom-ARST自选题库__BGP多选【22道题】

1.BGP认证可以防止非法路由器与BGP路由器建立邻居&#xff0c;BGP认证可以分为MD5认证和Keychain认证&#xff0c;请问以下哪些BGP报文会携带BCGP Keychain认证信息?(报头携带) open Update Notication Keepalive 2.传统的BGP-4只能管理IPv4单播路由信息&#xff0c;MP-B…

JVM学习-彻底搞懂Java自增++

从字节码角度分析i和i的区别 public void method6() {int i 10;i; //在局部变量表上直接加1}public void method7() {int i 10;i; //字节码同i}public void method8() {int i 10;int a i; //通过下图可以看出先将局部变量表中的值push到操作数栈&#xff0c;然…

基于 RNNs 对 IMDB 电影评论进行情感分类

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

kafka-消费者组-点对点测试

文章目录 1、点对点测试1.1、获取 kafka-consumer-groups.sh 的帮助信息1.2、列出所有的消费者组1.3、创建消费者1并指定组 my_group11.4、创建消费者2并指定组 my_group11.5、创建消费者3并指定组 my_group11.6、创建生产者发送消息到 my_topic1 主题1.6.1、发送第一条消息rom…

基于Pytorch框架的深度学习RegNet神经网络二十五种宝石识别分类系统源码

第一步&#xff1a;准备数据 25种宝石数据&#xff0c;总共800张&#xff1a; { "0": "Alexandrite","1": "Almandine","2": "Benitoite","3": "Beryl Golden","4": "Carne…

打造爆款活动:确定目标受众与吸引策略的实战指南

身为一名文案策划经理&#xff0c;我深知在活动策划的海洋中&#xff0c;确定目标受众并设计出能触动他们心弦的策略是何等重要。 通过以下步骤&#xff0c;你可以更准确地确定目标受众&#xff0c;并制定出有效的吸引策略&#xff0c;确保活动的成功&#xff1a; 明确活动目…

提示优化 | PhaseEvo:面向大型语言模型的统一上下文提示优化

【摘要】为大型语言模型 (LLM) 制作理想的提示是一项具有挑战性的任务&#xff0c;需要大量资源和专家的人力投入。现有的工作将提示教学和情境学习示例的优化视为不同的问题&#xff0c;导致提示性能不佳。本研究通过建立统一的上下文提示优化框架来解决这一限制&#xff0c;旨…

【机器学习300问】103、简单的经典卷积神经网络结构设计成什么样?以LeNet-5为例说明。

一个简单的经典CNN网络结构由&#xff1a;输入层、卷积层、池化层、全连接层和输出层&#xff0c;这五种神经网络层结构组成。它最最经典的实例是LeNet-5&#xff0c;它最早被设计用于手写数字识别任务&#xff0c;包含两个卷积层、两个池化层、几个全连接层&#xff0c;以及最…

【数据结构】AVL树——平衡二叉搜索树

个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 祝福语&#xff1a;愿你拥抱自由的风 目录 二叉搜索树 AVL树概述 平衡因子 旋转情况分类 左单旋 右单旋 左右双旋 右左双旋 AVL树节点设计 AVL树设计 详解单旋 左单旋 右单旋 详解双旋 左右双旋 平衡因子情况如…

宿舍管理系统代码详解(操作界面)

目录 一、前端代码 1.样式展示 2.代码详解 <1>主页面列表部分 &#xff08;1&#xff09;template部分 &#xff08;2&#xff09;script部分 <2>新增页面 &#xff08;1&#xff09;template部分 &#xff08;2&#xff09;script部分 <3>修改页面…