成为MySQL DBA后,再看ORACLE数据库(十三、物理备份)

news/2024/11/17 3:05:52/文章来源:https://www.cnblogs.com/coygfly/p/18288370

前面总结了ORACLE的逻辑备份,本文来总结以下ORACLE的物理备份。数据库的备份一般分为冷备份和热备份,其中冷备份是指将数据库彻底关闭后进行的一致性备份,由于需要关停数据库所以在实际应用中很少用到冷备份。而热备份是指在数据库运行的同时对数据库进行备份,本文主要总结的是ORACLE的热备份。ORACLE的热备份分为用户管理的热备份(user-managed backup and recovery)和ORACLE管理的热备份(Recovery Manager-RMAN)。

用户管理的热备份是指先将表空间置于热备份模式下,然后通过操作系统工具对文件进行复制备份,备份完成后再结束表空间的备份模式。Oracle管理的热备份是指通过RMAN对数据库进行联机热备份,RMAN备份不需要将表空间置于热备模式,减少了对数据库的影响,RMAN备份功能强大但是相对复杂,也是生产中用得最多的备份方式,本文讲的ORACLE物理备份主要针对的是RMAN备份。

一、NOCATALOG方式进行数据库备份

使用RMAN备份,需要将备份信息存起来,这些信息将用来恢复,默认情况下RMAN会将备份信息存储在控制文件中;ORACLE也支持把RMAN的备份信息存储在目录数据库中,叫做calalog database。首先,来看下不使用catalog方式进行数据库备份,这也是最基础的rman备份方式。使用nocatalog方式进行数据库备份,一般需要打开控制文件自动备份功能,打开该功能后ORACLE会在数据库发生重大变化之后(如增减表空间)自动进行控制文件和spfile文件的备份。进入rman管理器后执行configure controlfile autobackup on命令即可设置控制文件自动备份。

RMAN备份文件有两种存储方式:镜像拷贝和备份集。备份集只备份使用过的数据块而镜像拷贝是拷贝整个数据文件,一般默认的都是使用备份集。最简单的全库备份通过backup database命令即可完成。执行全库备份,加上tag即对备份打一个标签,可以看到rman备份完成,数据库的备份集默认存在了数据库的闪回区即快速恢复区内。因为数据库在完成备份后会写控制文件,所以在备份完成后触发了控制文件和参数文件的自动备份。

二、归档日志的备份

除了备份数据文件,为了保证数据库能恢复到指定的任意时间点,归档日志的备份在生产中也是必不可少的。我们可以直接执行backup archivelog或者在备份数据文件和控制文件的同时指定backup ... plus archivelog操作来一起备份归档日志。归档日志的备份支持备份全部也支持备份某个时间段的。

backup archivelog all;
backup archivelog from time 'sysdate-30' until time 'sysdate-7';

RMAN在备份归档前会先给数据库发出一个alter system archive log current命令归档所有的非当前redolog,然后再执行归档日志的备份。上面归档日志的备份针对的是全部归档日志,实际使用中,我们不可能每次都备份全部归档日志,这样将产生归档日志重复备份的情况。在RMAN的参数设置中,有一个备份优化选项,通过设置configure backup optimization on启用备份优化,这样可以避免归档日志的重复备份。此外,也可以在备份完归档日志后立即清理已备份的归档日志,这样也是更方便更节约空间的办法。在ORACLE中,删除归档日志的操作同样通过rman来完成,backup命令后面加上delete input即可以删除刚刚已备份的归档日志。还可以制定定时任务,删除指定时间的归档日志,noprompt参数表示不提示删除并且只会删除已备份的归档日志。

backup archivelog all delete input;
delete noprompt archivelog all before 'sysdate-6';

任何时刻,我都应通过rman去维护备份的相关操作,这样可以保证rman信息一致,否则会出现控制文件中的备份记录和实际备份不一致的现象。

三、RMAN的备份保留策略

使用rman对备份集进行管理一般需要设置备份的保留策略,备份保留策略可以基于冗余或恢复窗口。当备份不需要时会被标记为废弃(obsolete),但废弃的备份不会被删除,使用report obsolete命令可以查看已废弃的备份,通过delete obsolete命令可以删除废弃的备份。

configure retention policy to redundancy 3;
configure retention policy to recovery window of 7 days;
report obsolete;
delete noprompt obsolete;

四、RMAN恢复

在RMAN恢复中,主要依靠两个命令完成restore和recovery,restore一般称为转储指从备份集中恢复对应的文件,recovery称为恢复指利用归档日志和redo进行完全或基于时间点的恢复。当ORACLE的数据文件损坏或丢失后,如果数据库的参数文件和控制文件完好,那么就可以通过rman的备份集恢复数据文件,并应用归档日志,实现数据库的完全或不完全恢复。恢复数据库时需要把数据库启动到mount状态。

startup mount;
list backup summary;
restore database;
recovery database;
alter database open;

在进行数据库的不完全恢复时,一般可以指定到恢复的时间点,并在完成恢复后需要使用resetlog选项启动数据库重置redolog。在restore转储时加上tag可以指定备份集这样就可以指定恢复哪一天的备份。

recovery database until time '2024-07-10 16:00:00';
alter database open resetlogs;
restore database from tag='';#指定备份集恢复

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

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

相关文章

开源流程表单设计器都有哪些值得一提的优势?

通过本文,可以随时来了解开源流程表单设计器的优势。如果需要提质、增效、降本,不妨来了解下低代码技术平台、开源流程表单设计器的功能和优势特点。想要实现流程化办公,低代码技术平台是助力增效的理想工具。功能灵活、操作方便、好维修、可视化操作等优势都是其深受行业喜…

玩机社区系统源码 | 2024年最美社区源码 全开源 带后端

简介:玩机社区系统源码 | 2024年最美社区源码 全开源 带后端 图片: 点击下载

业务开发时,接口不能对外暴露怎么办?

在业务开发的时候,经常会遇到某一个接口不能对外暴露,只能内网服务间调用的实际需求。面对这样的情况,我们该如何实现呢?今天,我们就来理一理这个问题,从几个可行的方案中,挑选一个来实现。 1. 内外网接口微服务隔离 将对外暴露的接口和对内暴露的接口分别放到两个微服务…

博客园XSS漏洞测试

<img src=1 onerror=alert(document.cookie)> `

06-Web API

Web API种的概念以及提供的相关方法的使用01 DOM的概念02 BOM概念除了DOM对象以外都是BOM,例如上图浏览器上的一些东西 03 DOM的继承关系图04 节点之间的导航 获取一个节点之后,可以根据这个节点去获取其它节点,称之为节点之间的导航获取节点代码示例 <!DOCTYPE html> …

实战篇——SSRF漏洞Redis反弹shell实战

实战篇——SSRF漏洞Redis反弹shell实战 SSRF之Redis实战 上一章中利用file伪协议实现了内网的主机探测,发现存在192.168.118.151,对其进行端口探测:可见开放了6379端口,结合响应判断为Redis服务。 而Redis存在未授权访问漏洞,可以利用该漏洞实现信息泄露、数据删除以及反弹…

今日笔记

学习背景 学习目的,在搭建lamp架构的业务背景下,先用了yum搭建的形式,部署了disuz产品 从过程中理解yum如何安装软件,生成的配置文件路径,如何启动每一个进程,你应该整理清楚操作文档,下次拿着这个文档,可以很快的再部署出多套一样的环境。 有同学感慨,说这个搭建环境…

点云分割网络---Point Transformer V3

PDF:《Point Transformer V3: Simpler, Faster, Stronger》 CODE: https://github.com/Pointcept/PointTransformerV3 一、大体内容 Point Transformer V3(PTv3)没有像V2那样在注意力机制方面寻求创新,而是专注于保持点云背景下准确性和效率之间的平衡,如下所示与上一代Poin…

面经梳理-分布式

梳理分布式相关面经题目 请简述一下CAP理论,我们常见的中间件分别侧重点是什么?简述一下BASE理论?什么是强一致性,弱一致性,最终一致性 CAP理论 CAP原则又称CAP定理,指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分…

易优CMS模板标签artpagelist瀑布流

[基础用法]标签:artpagelist 描述:实现无刷新瀑布流分页,适用于首页,列表分页,内容页等模板。小注:需配合artlist标签。 注意:要实现瀑布流分页,必须要在模板目录pc/system里创建一个模板样本,命名格式为:arclist_+tagid属性名称,比如:arclist_index001.htm,里面内…

使用vscode远端连接虚拟机

主要是需要使用虚拟机ubuntu上的cmake环境,但是为了GUI又不想搞WSL,在虚拟机上再装一个vscode又有点卡,所以用了这招。 基本上网上的方法照着来就行了。几个简单的小步骤稍微记录一下。给虚拟机安装一下openssh并修改配置开放22端口(就很简单的跟着[1]来就行了)虚拟机ifco…

Python 数据挖掘

数据挖掘基础数据挖掘:这种从数据中“淘金”,从大量数据(包括文本)中挖掘出隐含的、未知的、对决策有潜在价值的关系、模式和趋势,并用这些知识和规则建立用于决策支持的模型,提供预测性决策支持的方法、工具和过程,就是数据挖掘;它是利用各种分析工具在大量数据中寻找其规…