一,与基础

1.,备份简介

备份是数据的一个副本,一般包括控制文件和数据文件等

物理备份与逻辑备份

物理备份指物理文件的副本,逻辑备份是指使用工具抽取逻辑数据(例如,表或存储过程)并保存在二进制文件中。

热备份与冷备份

冷备份是指数据库完全关闭状态下的备份,如果数据库不处于完全关闭状态,则为热备份。

用户的备份与备份

用户管理的备份指用户手工使用os的拷贝命令拷贝文件,rman备份使用oracle的recovery manager进行备份,其备份包括两种类型:镜像副本(image copy)和备份集(backupset)。

一致性备份与非一致性备份

一致性备份是指备份所包含的各个文件中的所有修改的scn相同。(如果有只读表空间,或者正常脱机的表空间,则他们的scn可以比其他的数据文件或控制文件的scn滞后)

1.查看系统检查点SCN号

SQL> select checkpoint_change# from v$database;

CHECKPOINT_CHANGE#

------------------

1932946

2.查看数据文件检查点scn号。

SQL> select file#,checkpoint_change#,last_change# from v$datafile;

FILE# CHECKPOINT_CHANGE# LAST_CHANGE#

---------- ------------------ ------------

1            1932946

2            1932946

3            1932946

4            1932946

5            1932946

6            1932946

SQL> select name,checkpoint_change# from v$datafile_header;

NAME

-------------------------------------------------------------------

CHECKPOINT_CHANGE#

------------------

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICARE\SYSTEM01.DBF

1932946

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICARE\UNDOTBS01.DBF

1932946

D:\ORACLE\PRODUCT\10.2.0\ORADATA\ICARE\SYSAUX01.DBF

1932946

在数据库运行中,LAST_CHANGE#为空。数据库在运行中,数据文件被设置为read only 其scn号为非空值。

非一致性备份指数据库在打开状态,或者数据库非正常关闭后进行的备份。

通常进行一致性备份的唯一方法是正常完全关闭数据库,然后进行备份。这种备份的特点是,restore出来的数据文件,不需要recovery就可以open。

数据库不停机的情况下执行进行非一致性备份,联机数据文件的备份被称为联机备份(online backup)。需要进行联机备份的数据库必须运行在ARCHIVELOG(归档)模式下。

完全备份与部分备份

数据库完全备份是数据库内所有数据文件及控制文件的备份。

部分备份如表空间备份,数据文件备份,控制文件备份,归档日志备份等。

二、恢复简介

Restore与recovery

Restore是将数据文件从备份集或镜像中转储出来,recover则是恢复过程,利用归档重做日志,联机重做日志对转储出来的数据文件进行更新,即重做在数据库备份以后发生的操作。这个过程中包括了使用归档日志和联机日志进行前滚(roll forword)即使用undo回滚(roll back)的操作,这个过程也叫介质恢复。

崩溃恢复和实例恢复

Oracle在实例故障之后能自动的执行崩溃恢复和实例恢复。崩溃恢复及实例恢复能够在实例故障发生后将数据库恢复到满足事务一致性(transaction-consistent)的状态。崩溃恢复的定义是:单实例系统发生崩溃或Oracle系统中所有实例发生崩溃后对数据库进行的恢复。与之相对,实例恢复的定义是:Oracle RAC系统中正常实例对故障实例进行的恢复。

介质恢复

前面已经讲了介质恢复的概念,现在来看看具体的介质恢复的种类:

完全恢复和不完全恢复

完全恢复是使用数据库,表空间或数据文件的备份进行复原,在使用重做数据库或增量备份将数据更新到当前事件点。这种恢复方式应用所有的归档和联机日志,恢复到当前时间点。

不完全恢复也称按时间点恢复,指数据库没有恢复到当前时间点的恢复,也就是说没有完全应用归档和联机日志。通常用户的错误操作,归档丢失,或者联机日志顺坏,或者当前的控制文件丢失而必须使用备份的控制文件打开数据库等需要进行不完全恢复。进行不完全介质回复时,用户需要使用指定恢复时间点之前的备份复原(restore)数据文件,并在恢复完成后以resetlogs选项open数据库。Resetlogs使得当前的数据库及重做日志有效,令数据库使用一套新的日志序列号。值得注意的是在9i的基础上resetlogs有了很大改进,9i是需要在resetlogs之后全备份的,而10g则不需要,具体将会在后面的内容中以实例来看。当然也可以只恢复某个表空间,而不是整个数据库,这被称作表空间的不完全恢复。后续也有实例讲解。

不完全介质恢复的种类:

恢复的类型

功能

基于时间点的恢复(time-based)

将数据恢复到指定的时间点

用户控制的恢复(基于取消cancel-based)

当用户提交cancel语句后停止恢复操作

(在使用rman时无效)

基于scn的恢复(changed-based)

将数据恢复到指定的scn

按重做日志序号恢复(log-sequence)

将数据恢复到指定的重做日志序号

(只适用于rman)

三、了解基本备份

备份策略为防止数据丢失提供了安全防护。回答以下问题可以帮助数据库管理员制订一个强大的备份策略:

可能出现何种类型的故障?

应当备份哪些信息?

应当使用哪种备份方法?

应当联机还是离线备份?

备份的频率?

如何避免危险的备份方法?

可能出现何种类型的故障?

数据丢失的原因各种各样。下面是可能导致数据丢失的一些最常见的故障类型。

语句故障 是 Oracle 程序在处理语句时的逻辑错误。例如,用户执行了无效 SQL 结构的语句。当发生语句故障时,Oracle 自动撤销语句的所有效果并将控制返回给用户。

进程故障 是访问 Oracle 的用户进程中出现的故障(即异常断开或进程终止)。尽管 Oracle 和其他的用户进可以继续工作,但出现故障的用户进程将不能继续工作。如果用户进程在更改数据库时出现故障,则 Oracle 后台进程将撤销未提交事务的效果。

实例故障 是使 Oracle 实例(即 SGA 和后台进程)无法继续工作的问题。实例故障可能源于硬件问题(如电力中断)或软件问题(如操作系统崩溃)。当实例出现故障时,Oracle 不会将 SGA 缓冲区中的数据写到数据文件中。

用户或应用程序错误 是导致数据丢失的用户错误。例如,用户可能无意地从工资单表中删除数据。这种用户错误可能需要将数据库或对象恢复到该错误发生前的某个时间点上。为了允许从用户错误中恢复过来并满足其他独特的恢复要求,Oracle 提供了闪回技术。了解关于的更多信息。

介质故障 是当 Oracle 试图写或读操作数据库所需要的文件时出现的物理问题。一个常见的例子是磁盘头损坏,它将导致磁盘驱动器上的所有数据丢失。磁盘故障可能影响各种文件(包括数据文件、重做日志文件和控制文件)。因为数据库实例无法继续正常工作,所以它无法将 SGA 的数据库缓冲区中的数据写到数据文件中。

应当备份哪些信息?

一个数据库包含各种类型的数据。当制订备份策略时,DBA 必须确定他们要复制哪些信息。基本的备份类型包括:

联机数据库备份

离线数据库备份

整个数据库

表空间

数据文件

控制文件

存档重做日志

配置文件

在确定要备份的信息时,基本的原则是根据数据的重要性和更改的程度来确定数据的优先级。例如,然存档日志不发生变化,但它们对恢复数据库至关重要,因此如果可能应维护多个副本。然而,费用帐户表被用户不断更新。因此,应当经常备份该表空间,以防止在恢复时不得不应用过多的重做数据。

可以以多方式组合备份。例如,DBA 可以决定每周执行整个数据库的备份,以确保获得原始数据库信息的一个相对较新的副本,而每天备份使用最频繁的表空间。DBA 还可以为所有重要的控制文件和存档重做日志创建多个副本作为额外的安全防护。

联机数据库备份

联机备份也称为开放备份,其中所有的读-写数据文件和控制文件都没有对相同的 SCN 设置检查点。例如,一个读-写数据文件头可能包含一个为 100 的 SCN,而其他读-写数据文件头包含一个为 95 或 90 的 SCN。在所有这些头 SCN 一致前,即将联机重做日志中记录的所有更改都保存到磁盘上的数据文件前,Oracle 无法打开数据库。如果数据库必须保持不间断运行,则您除了在 ARCHIVELOG 模式下执行整个数据库的联机备份之外别无选择。

离线数据库备份

在这种备份中,所有的数据文件和控制文件在相同的时间点上都保持一致 — 例如,对相同的 SCN 保持一致。在一个一致的备份中被允许拥有旧 SCN 的唯一表空间是只读且“离线-正常”的表空间,它们与备份中的其他数据文件保持一致。这种类型的备份允许用户打开由备份创建的文件集,而无需应用重做日志,这是因为数据已经是一致的了。执行这种备份的唯一方式是正常关闭数据库,然后在数据库关闭时执行备份。一个一致的整个数据库备份是为在 NOARCHIVELOG 模式下运行的数据库提供的唯一有效的备份选择。

整个数库备份

这种最常见的备份类型 — 整个数据库备份 — 包含了控制文件以及属于该数据库的所有数据库文件。如果在 ARCHIVELOG 模式下运行,则 DBA 还可以选择在一段时间内备份数据库的不同部分,从而一部分一部分地构建整个数据库备份。

表空间备份

表空间备份是数据库的一个子集。表空间备份只有当数据库在 ARCHIVELOG 模式下运行时才有效。表空间备份对于在 NOARCHIVELOG 模式下运行的数据库有效的唯一时间是当该表空间只读或离线正常时。

数据文件备份

数据文件备份是单个数据文件的备份。数据文件备份没有表空间备份那么常见,并且只有当数据库在 ARCHIVELOG 模式下运行时才有效。数据文件备份对于在 NOARCHIVELOG 模式下运行的数据库有效的唯一时间是当数据文件是表空间中唯一的文件时。例如,备份是表空间备份,但表空间只包含一个文件并且只读或离线正常。

控制文件备份

控制文件备份是数据库控制文件的备份。如果数据库是打开的,那么用户可以通过执行以下 SQL 语句或使用恢复管理器 (RMAN) 来创建有效的备份:ALTER DATABASE BACKUP CONTROLFILE to 'location'。

存档重做日志备份

存档重做日志是成功的介质恢复的关键。您希望根据可用磁盘空间和在数据库上执行的事务的数量在磁盘上尽可能长时间地保留存档日志,并定期备份它们以确保较完整的恢复。

配置文件

配置文件可能包含 spfile 文件或 init.ora、口令文件、tnsnames.ora 和 sqlnet.ora。因为这些文件不经常变化,所以它们不需要频繁备份。如果您丢失了某个配置文件,您可以很容易地重手动创建它。当还原时间更重要时,还原配置文件的一个备份要比以特定格式手动创建一个文件要快得多。

应当使用哪种备份方法?

Oracle 为用户提供了几种创建备份的基本方法以备选择。这些方法包括:恢复管理器 (RMAN) — 建立与服务器进程的连接并使备份与恢复操作的数据转移自动化的一个组件。

Oracle 企业管理器 — 调用恢复管理器的 GUI 界面。

Oracle Data Pump — 该实用程序通过将数据以专有格式从 Oracle 数据库写入操作系统文件来创建逻辑备份。稍后可以将这种数据导入数据库中。

用户管理的方法 — 通过执行特别针对用户操作系统的命令手动备份数据库。

创建恢复管理器备份

恢复管理器 (RMAN) 是一个强大的通用程序,它允许用户创建 RMAN 备份或用户数据的镜像副本。当用户使用 RMAN BACKUP 命令指定文件或存档日志时,RMAN 默认创建一个备份集作为输出。一个备份集是专有格式的一个文件或一些文件,它需要使用 RMAN RESTORE 命令来进行恢复操作。相比而言,当使用 BACKUP AS COPY 命令创建文件的镜像副本时,它是实例可用 (instance-usable) 格式的 — 用户不需要调用恢复管理器即可还原或恢复它。

当执行 RMAN 命令(如备份或还原)时,恢复管理器建立了一个与 Oracle 服务器进程的连接。然后服务器进程从目标数据库中备份指定的数据文件、控制文件或存档日志。恢复目录是包含各种对备份和恢复有用的信息的中央信息库。RMAN 自动建立备份所需的所有文件的名称和位置。恢复管理器还支持增量备份 — 仅备份那些自上次备份以来发生变化的块。在传统的备份方法中,必须备份数据文件中用到的所有数据块。

自动的基于磁盘的备份和恢复

创建不同的与备份和恢复相关的文件的组件对彼此一无所知,或者也不了解它们存储数据的文件系统的大小。利用自动的基于磁盘的备份和恢复,您可以创建一个闪回恢复区,它将使与备份相关的文件的管理自动化。在磁盘上选择一个位置和存储空间的上界,并设置一个保留策略 — 它控制需要为恢复保留备份文件的时间。数据库在这个空间内为您的数据库管理用于备份的存储器、存档日志和其他与恢复相关的文件。当 RMAN 需要为新的文件回收空间时,可以删除不再需要的文件。如果您不使用闪回恢复区,则您必须为与备份相关的文件手动管理磁盘空间并平衡不同类型文件间的空间使用。Oracle Corporation 建议您启用一个闪回恢复区以简化您的备份管理。

oracle的故障包括用户或应用程序故障_数据库实例错误,oracle 备份恢复基础相关推荐

  1. 用户关系表 存储_如何解决oracle 19c中创建用户报错的故障

    背景:Oracle 19c 创建表用户的时候,采用11g的语句会报一下错误. ORA-01918: user 'BISTU_ODS' does not exist 原因:oracle从12c开始增加了 ...

  2. c++ 操作oracle 最佳方式_oracle备份恢复基础详解

    一.Oracle备份方式分类: Oracle有两类备份方式: (1)物理备份:是将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,通常是从磁盘到磁带. 物理备份又分为冷备份.热备份: (2) ...

  3. oracle goldengate 数据库实例,案例:Oracle goldengate报错ggsci: error while loading shared libraries:...

    天萃荷净 Oracle goldengate配置时报错ggsci: error while loading shared libraries 在部署goldengate过程中发现如下错误: [orac ...

  4. 计算机备份应用程序无法启动,由于内部错误,备份应用程序无法启动如何解决-解决“由于内部错误,备份应用程序无法启动”的方法 - 河东软件园...

    最近有用户声称自己的电脑出现了一个很奇怪的现象,每次想要给什么重要的文件备份时系统就会提示:"由于内部错误,备份应用程序无法启动".经过这一提示之后备份工作也不能正常完成了.对于常 ...

  5. Oracle学习总结(8)—— 面向程序员的数据库访问性能优化法则

    特别说明: 1.  本文只是面对数据库应用开发的程序员,不适合专业DBA,DBA在数据库性能优化方面需要了解更多的知识: 2.  本文许多示例及概念是基于Oracle数据库描述,对于其它关系型数据库也 ...

  6. window oracle 只有bak文件怎么恢复_一起来学习Oracle的备份恢复基础吧-4

    基于backup controlfile的恢复 使用备份的控制文件在实际工作中的两种情况: 当前控制文件全部损坏,而数据文件备份.控制文件备份及当前的日志处在不同的SCN版本,它们之间又增加过表空间( ...

  7. Oracle Golden Gate(OGG)学习——源端安装OGG (数据库版本为Oracle 10g)

    GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与目标数据库的数据同步,保持亚秒级的数据延迟. GoldenG ...

  8. mysql锁与程序锁_数据库加锁(转)

    1 如何锁一个表的某一行 SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED SELECT * FROM table ROWLOCK WHERE id = ...

  9. android备份程序数据库文件夹,Android备份/恢复:如何备份内部数据库?

    我实现了一个BackupAgentHelper使用提供的FileBackupHelper来备份和恢复我有本机数据库.这是通常与ContentProviders一起使用的数据库,位于/ data / d ...

最新文章

  1. 后氧传感器正常数据_氧传感器正常数据流
  2. Oracle ORA-00904:invalid identifier 标识符无效
  3. golang安装grpc,timeout问题
  4. 安卓加载asset中的json文件_Joomla 4中的Web资源介绍
  5. Oracle]高效的SQL语句之分析函数
  6. Android--Handler使用应运及消息机制处理原理分析
  7. [Python] L1-047 装睡-PAT团体程序设计天梯赛GPLT
  8. C#只能靠参数而不能靠返回值类型的不同来区分方法重载
  9. bzero等函数源代码实现
  10. 6th WEEK BLOG:CSS中的单位(PS调色板)(doing)
  11. excel熵值法计算权重_SPSSAU一众新功能上线:高级公式、综合得分一键计算!
  12. php 查文件sha1 内存不足,PHP 计算文件的 sha1 散列值
  13. WinDBG技巧:this指针的常见误区 (ECX寄存器存放this指针)
  14. /usr/bin/ld:找不到 -lxxx
  15. 语音模块LD3320模块的二次开发,并与树莓派进行串口通信
  16. mysql数据备份及完全卸载
  17. PyCharm中的pyqt-designer环境搭建和汉化
  18. k8s集群外go客户端示例
  19. G.722 简介及使用测试
  20. 2011年最犀利语录有哪些“语”出惊人?

热门文章

  1. CSDN Blog V3.0.0.2升级公告
  2. cisco switch命令大全
  3. Redis介绍使用及进阶
  4. Electron Built-in AutoUpdater 踩坑记录
  5. MySQL系列(二)
  6. vue项目按需引入element-ui,修改.babelrc文件之后报错
  7. IDC:全球大数据和业务分析收入预计到2019年突破1870亿美元
  8. [白领会]在职场高级技能
  9. OpenJudge/Poj 2027 No Brainer
  10. Android_图像渲染(Shader)