Oracle备份与恢复介绍

news/2024/11/29 13:44:15/

1.关于数据保护

备份是可以用来重建数据的数据库的数据拷贝。备份可以是物理备份或逻辑备份。

物理备份是用来存储和恢复数据库的物理文件的拷贝。这些文件包括数据文件,控制文件,和归档redo日志。最重要地,每个物理备份是存储数据库信息到另外一个位置的文件拷贝,不管是位于磁盘还是脱机的存储介质如磁带。

逻辑备份包含逻辑数据比如表和存储过程。可以使用Oracle Data Pump来导入逻辑数据到二进制文件,可以在后来导入到数据库。Data Pump命令行客户端expdp和impdp使用DBMS_DATAPUMP和DBMS_METADATA PL/SQL包。

物理备份是任何可靠的备份和恢复策略的基础。逻辑备份在很多情况下是物理备份有用的补充,但如果没有物理备份的话,对数据丢失不能提供足够的保护。

除了以其他方式特别说明,在备份和恢复文档中的术语备份指的是物理备份。备份一个数据库是做一个物理备份的动作。在备份和恢复文档中的重点几乎仅仅是物理备份。

文档的大部分是集中在基于RMAN(Recovery Manager)的备份和恢复。最值得注意的是以下方面:
1)增量备份
增量备份只存储自前一个备份以来更改过的数据块。因此,它们提供更紧凑的备份和更快的恢复,因此在数据文件介质恢复过程中降低应用redo的需求。如果启用块更改跟踪,那么可以避免全面扫描每个输入的数据文件,从而提高备份的性能。使用BACKUP INCREMENTAL来执行增量备份。

2)块介质恢复
可以修复只有少量的损坏数据块的数据文件而不用将它脱机或从备份还原它。使用RECOVER BLOCK来执行块介质恢复。

2. Oracle备份技术比较

可以使用多种技术来创建Oracle数据库的备份。下面比较RMAN(Recovery Manager),用户管理的备份和数据泵(Data Pump)技术的特性。
在这里插入图片描述

3. Oracle闪回技术

Oracle闪回技术提供一系列特性来补充物理备份和恢复策略。

Oracle闪回技术提供一个数据保护的附加层。确切地说,可以使用Oracle闪回的各种特性来查看过去的数据状态和倒回数据库而不需要还原备份或执行时间点恢复。总之,闪回特性在它们可以应用的大部分情形下比介质恢复更高效和更少引起中断。

Oracle闪回技术让你可以使用以下功能:
1) 逻辑闪回特性
2) 闪回数据库

3.1. 逻辑闪回特性

Oracle数据库逻辑层闪回特性不依赖于RMAN,不管RMAN是否是备份策略的一部分,闪回都是可用的。

大部Oracle的闪回特性在逻辑层操作,让你可以查看和操作数据库对象。除了Oracle Flashback Drop,这个逻辑闪回特性依赖于undo数据,它们是每次数据库更新作用的记录和更新操作中被覆盖的值。

Oracle数据库包括以下逻辑闪回特性:
1)Oracle闪回查询
可以指定一个目标时间和对数据库运行查询,查看出现在目标时间的结果。为了从一个不想要的更改比如对表进行的一个更新,可以选择一个在错误之前的目标时间,运行查询来找回丢失行的内容。《Oracle Database Development Guide》讲解了如何使用这个特性。

2)Oracle闪回版本查询
可以查看一个指定的时间间隔里在一个或多个表存在的所有行的所有版本。也可以检索关于行的不同版本的元数据,包括起始和结束时间,操作,和创建版本的事务的ID。可以使用这个特性来恢复丢失的数据值和审计对查询的表的更改。《Oracle Database Development Guide》讲解了如何使用这个特性。

3)Oracle闪回事务查询
可以查看由一个单一的事务所做的更改,或在一个指定时间段由所有事务所做的更改。《Oracle Database Development Guide》讲解了如何使用这个特性。

4)Oracle闪回事务
可以撤销一个事务。Oracle数据库确定事务之间的依赖性,实际上创建一个抵销事务来撤消不想要的更改。数据库倒回到一个状态,如同事务和任何依赖它的事务从未发生过。《Oracle Database Development Guide》讲解了如何使用这个特性。

5)Oracle闪回表
可以恢复表或一组表到指定的早些的时间点而不需要将任何一部分数据库脱机。在很多情况下,闪回表消除了执行更多复杂的时间点恢复操作的需要。闪回表还原表的同时自动维护关联的属性例如当前索引,触发器和约束,在这种方式中让你避免寻找和还原数据库特定的属性。“使用闪回表倒回表”章节讲解了如何使用这个特性。

6) Oracle Flashback Drop
可以撤消DROP TABLE语句的效果。“使用Flash Drop倒回一个DROP表”章节讲解了如何使用这个特性。

闪回数据归档让你使用一些逻辑闪回特性来访问过去很久的数据。闪回数据归档包含一个或多个表空间或表空间的部分内容。当你创建一个闪回数据归档时,可以指定名称,保留时长和表空间。也可以指定一个缺省的闪回数据归档。数据库自动清除旧的超过保留期限的历史数据。

可以为个别的表打开和关闭闪回归档。缺省情况下,闪回归档为每个表关闭。

3.2. 闪回数据库

闪回数据库让你可以复原数据库到以前的一个时间点。

在物理层面,Oracle闪回数据库提供一个相对于数据库时间点恢复(DBPITR,database point-in-time recovery)更高效的数据保护选择。如果当前数据文件有不想要的更改,那么可以使用RMAN命令FLASHBACK DATABASE来复原数据文件到过去时间的内容。最终结果和DBPITR的结果非常类似,但一般会更快,因为它不需要从备份中还原数据文件和比介质恢复需要更少的redo。

闪回数据库使用闪回日志来访问过去的数据块版本和归档redo日志的某些信息。闪回数据库要求为数据库配置一个快速恢复区域,因为闪回日志只能存放在那里。闪回日志缺省情况下没有启用。闪回日志使用的空间由数据库自动管理,与在快速恢复区域的其它文件要求的空间保持平衡。

Oracle数据库连同闪回数据库和备份与恢复一起也支持还原点。还原点是一个相当于系统更改号(SCN,system change number)的别名。可以在任何时候创建一个还原点,如果预料需要返回部分或全部数据库到那个时间里的内容。一个保证的还原点确保可以使用闪回数据库返回数据库到还原点的时间。

来源:《Oracle Database Backup and Recovery User’s Guide,19c》


http://www.ppmy.cn/news/768714.html

相关文章

备份oracle数据库

有两个oracle实例时,cmd先手动定义oracle实例:set ORACLE_SIDORCL 后缀名的dmp 大写的就是数据泵导出,小写的就是普通exp导出,一般80%是这种情况 1、一般的恢复到本地数据库: CREATE USER cg65 IDENTIFIED BY 1 acco…

Oracle备份/迁移与还原

使用Oracle的数据泵(expdp/impdp)实现数据库的备份与迁移 测试:将172.31.134.201服务器中的fraud_cs用户的数据全部备份并迁移到172.31.134.227上fraud_cs用户里 (1.dump文件建议增加日期后缀,便于多次备份后便于区分,例如FRAUD…

oracle数据库数据备份

第一步:创建虚拟目录并授权 create directory mydata as F:\Backup\test; \\创建虚拟目录 grant read,write on directory mydata to public \\授权 select * from dba_directories \\查询虚拟目录 drop directory mydata \\ 删除虚拟目录第二…

oracle 数据库备份

1.创建对应的directory目录 切换oraclesu - oracle 在/home/oracle/下创建目录mkdir -p /home/oracle/backup 2.以sysdba的身份登录上数据库sqlplus / as sysdba 3.创建directory目录并对数据库用户ts赋权 SQL>create or replace directory dumpdir as /home/oracle/bac…

Oracle数据库的备份方式

Oracle数据库的备份 一、非归档模式下的冷备份和恢复 1、检查数据库是否为归档模式 命令:Archive log list 2、冷备份 数据库处于非归档模式只能做冷备份(脱机备份) 冷备份:指数据库关闭状态下所做的物理拷贝,做备份石…

oracle数据备份

//切换用户 su oracle //查看oracle_home echo $ORACLE_HOMEORACLE_HOME /opt/oracle/product/19c/dbhome_1 //查看Oracle_base echo $ORACLE_BASE//切换用户 su root – 查看了oracle的环境变量后要切换回来 ,oracle用户的权限一般不够 (也可以通过赋予…

oracle备份脚本

一、oracle层次的备份 1、备份脚本,可以加到定时任务执行 #less /u01/script/orcl_full_bakcup.sh #!/bin/bashsource /home/oracle/.bash_profileDB_UNIQUE_NAMEorcldtdate %Y%m%d_%H:%M log_dir/u01/backup_log lvfullrman target / log ${log_dir}/RMAN_${DB_…

oracle 备份表

一、PL/SQL备份 (1)打开PL/SQL (2)在Tools下选择Export Tables (3)在列表中找到想要备份的表,右键选择Export Data (4)在下方的SQL Inserts 中,选择Outpu…