百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

详解Oracle不同损坏级别的备份与恢复

citgpt 2024-07-02 16:56 9 浏览 0 评论

本文出自头条号老王谈运维,转载请说明出处。

对于数据库运维人员,数据的备份和恢复非常重要。数据的丢失往往会给企业带来巨大的损失,因此在保证数据不丢失的情况来提升系统的性能是对DBA最基础的要求。

详解Oracle不同损坏级别的备份与恢复

上一篇文章小编总结了Oracle不同损坏级别的恢复,介绍了不同程度的数据库损坏合适的数据恢复方式(地址:https://www.toutiao.com/i6701178106838778382/)。

今天主要讲述 Oracle 基于 rman 在各级别下的备份,包括全备、增量备份、表空间、数据文件、控制文件、归档日志文件等,方便大家在工作中可以根据实际场景实际需求,选择合适的备份方法及备份方式。

库完全备份

1.1 使用场景

在 Oracle 数据库的数据量不大的情况下。

1.2 采用备份集的方法

rman> run
{
allocate channel c1 device type disk;
backup database FORMAT ’ /flash_recovery_area/backup_U%.backupset’
plus archivelog delete input;
release channel c1;
}

1.3 采用数据镜像的备份方式

数据库镜像备份采用COPY命令,或BACKUP命令的AS COPY选项。例如在面面的备份示例中,进行了数据库的镜像完全备份:

rman>run
{
allocate channel c1 device type disk;
backup as copy database plus archivelog delete input;
release channel c1;
}

增量备份

2.1 使用场景

Oracle 数据库的数据量较大,如果每次都全备,会比较耗时,这时通常是采用增量备份,不过需要注意的是增量备份是以0级的全备为基础的。例如:你可以周日进行一次全备,1-6进行增量备份。

2.2 使用方法

1)数据库的0级备份

rman> run
{
allocate channel c1 device type disk;
backup incremental level=0 database plus archivelog delete input;
release channel c1;
}

说明:数据库的0级备份就是oracle的全备,但与普通的全备不同的是可以在0级备份基础上进行增量备份,而普通的全备此没有此功能。

2)数据库的1级备份

rman> run
{
allocate channel c1 device type disk;
backup incremental level=1 database plus archivelog delete input;
release channel c1;
}

3)增量累计备份 在增量备份中,若干次的同级、上级增量备份可以被合并,称为增量的“累计”备份。下面的示例描述了进行增量累计备份的过程。所有0级备份后的1级备份被本次备份合并,备份基于磁盘进行,申请了两个磁盘通道。同时备份归档日志,备份完成后即删除:

rman>run
{
allocate channel c1 device c1 type disk;
allocate channel c2 device c2 type disk;
backup incremental level=1 Cumulative database plus archivelog delete input;
release channel c1;
release channel c2;
}

备份数据文件

3.1使用场景

如果 Oracle 数据库中只有一个或若干表空间的数据文件数据变化频繁,则 Oracle 也支持仅对这些数据文件或对应的表空间进行备份。

3.2 使用方法

rman>run
{
allocate channel c1 device type disk;
allocate channel c2 device type disk; 
backup datafile 4,5 filesperset=1
release channel c1;
release channel c2;
} 

备份表空间

4.1 使用场景

? 使用场景同单独备份数据文件

4.2 使用过程

rman>run
{
allocate channel c1 device type disk;
allocate channel c2 device type disk;
backup tablespace USERS FILESPERSET=1;
release channel c1;
release channel c2;
}

通过下面的命令检查表空间的备份结果:

rman>list backup of tablespace users;

备份控制文件

5.1 使用场景

数据库的整体迁移,数据文件的目录发生改变,此时需要单独备份控制文件至跟踪文件中。

5.2 使用过程

方法一: 将控制文件自动备份功能打开:

RMAN>CONFIGURE CONTROLFILE AUTOBACKUP on;

方法二:单独地备份控制文件

RMAN>BACKUP CURRENT CONTROLFILE;

方法三:备份其他数据库文件时附带备份控制文件

RMAN>BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

检查备份结果

RMAN>list backup of controlfile;

备份归档日志

6.1 使用场景

备份数据库的时候没有备份归档日志文件,此时就需要对归档日志文件进行单独备份。

6.2 使用方法

1)查看系统归档日志信息

RMAN>list archivelog all;

2)备份所有归档

RMAN>backup archivelog all delete all input format '.......';

但是,在一般情况下,数据库备份计划一般通过在BACKUP DATABASE中指定PLUS ARCHIVELOG选项来直接进行归档文件的备份,备份期间,RMAN对当前联机重做日志文件进行归档,然后对当前未备份归档日志进行备份。这样,这个备份集将尽可能地包含了可用于恢复的素材,将数据库恢复到一个一致性的状态。

RMAN>run
{
alllocate channel c1 device type disk;
allocate channel c2 device type disk;
backup incremental level=0 database plus archivelog delete input;
release channel c1;
release channel c2;
}

网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选.....

私信小编“联盟”,即可加入我们~

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: