Oracle备份与恢复入门

整理自《Oracle database 11g RMAN备份与恢复》

001 逻辑备份与恢复

    Oracle database 11g使用Oracle data pump体系结构来支持逻辑备份和恢复。这些实用程序包括数据泵导出程序(expdp)和数据泵导入程序(impdp)。对于逻辑备份来说,时间点恢复是不可能的。RMAN不进行逻辑备份和恢复。

002 Oracle物理备份与恢复

    RMAN实际上是物理备份。

    在archivelog模式和noarchivelog模式下,Oracle都可以执行脱机备份。此外,如果数据库处于archivelog模式,那么Oracle既可以执行脱机备份,也可以执行联机备份。

2-1 noarchivelog模式下的物理备份

    noarchivelog模式只在数据库关闭时支持数据库备份(为什么??答:使用用户管理下的备份,数据库文件头的SCN会被冻结,对应文件块的改变都会被记录到redo日志文件中,归档是对redo日志的备份。不开归档,手动备份下的文件无法恢复到一致性的状态。这样的备份,没有意义。)。此外,noarchivelog模式下数据库的完全恢复只能恢复到备份的时间点。按照下面的步骤可以在noarchivelog模式中执行数据库的手动备份(需要注意的是,如果使用RMAN,这些步骤会有所不同):

    (1)完全关闭数据库

    (2)备份所有数据库数据文件、控制文件和联机重做日志文件

    (3)重新启动数据库

2-2 archivelog模式下的物理备份

    archivelog模式下的冷备份步骤:

    (1)完全关闭数据库

    (2)备份所有数据库数据文件

    (3)重新启动数据库

    (4)使用alter system switch logfile命令强制执行一个联机重做日志切换。一旦归档了联机重做日志,那么就备份所有归档的重做日志。

    (5)使用alter database backup control file to trace命令和alter database backup control file to ’file_name‘命令创建控制文件的一个备份。

    当然,在数据库处于archivelog模式时,您有可能想完成数据库的联机备份(热备份)。数据库处于archivelog模式时,Oracle允许在数据库打开和运行的同时备份每个单独的表空间与其数据文件,甚至还可以在不同的时刻备份选择的数据库部分(只要备份策略正确即可,这样仍然可以保持数据一致性)。

    使用下面的步骤可以执行表空间的一个联机备份:

    (1)使用alter tablespace begin backup命令将需要备份的表空间和数据文件置入联机备份模式。如果希望备份整个数据库,则可以使用alter database begin backup命令将所有数据库表空间置入热备模式。

    (2)备份与刚被置入热备份模式的表空间相关联的数据文件(可以选择备份指定的数据文件)。

    (3)对于在步骤(1)中置入联机备份模式的每个表空间来说,都要执行alter tablespace end backup命令将其从热备份模式中取出。如果希望将所有表空间从热备份模式中取出,可以使用alter database end backup命令。

    (4)使用alter system switch logfile命令强制执行一个联机重做日志切换。

    (5)一旦完成了日志切换并归档了当前的联机重做日志,就备份所有归档的重做日志。

    需要注意的是,步骤(5)中的日志切换和归档的重做日志备份是必需的,这是因为恢复操作必须应用在备份期间生成的所有重做上。Oracle在联机备份期间不断地物理更新数据文件(除了数据文件头)时,在备份操作期间存在数据块分离的可能性,这种可能性会导致备份的数据文件不一致。此外,数据库数据文件可能在备份之后、但是在整个备份进程结束之前被写入,由于备份中的每个数据文件当前可能会有不同的SCN,因此数据文件备份映像会不一致,所以拥有在备份期间生成的重做以应用于恢复是非常重要的。

    执行alter tablespace begin backup命令或alter database begin backup命令时,重做生成会发生更改。一般来说,Oracle只将更改矢量存储为重做记录。这些小型的记录只定义已经发生的更改。当数据文件处于联机备份模式时,Oracle会记录数据库数据文件的整个块更改,而不是仅仅记录更改矢量,这意味着联机备份期间总的重做生成会大幅增加,这样在热备份进程执行期间所需的磁盘空间和CPU开销会受到影响。RMAN提供了不将表空间置入热备份模式而执行热备份的功能,这样就避免了使用额外的I/O操作。当结束数据文件的联机备份状态时,就可以进行正常的操作。

    还需要注意的是在archivelog模式的两种备份中(联机备份和脱机备份),并不备份联机重做日志,而是备份数据库的归档的重做日志。此外,也不会备份控制文件,但是会创建备份控制文件,这是因为在恢复期间不希望冒险重写联机重做日志或控制文件(备份的旧的联机重做日志或控制文件肯能会将现有的最新的联机重做日志或控制文件覆盖)。

    至于为什么不恢复联机重做日志,那是因为在archivelog模式的恢复期间,联机重做日志中可能有最新的重做,这样当前的(current日志组)联机重做日志将被用于完全的时间点恢复。由于这个原因,我们不在archivelog模式的数据库恢复期间重写联机重做日志。如果数据库丢失了联机重做日志(希望不会发生这种情况),就必须使用所有归档的重做日志来执行时间点恢复。

    

时间: 2024-10-03 00:37:18

Oracle备份与恢复入门的相关文章

博客链接—Oracle备份与恢复

001 Oracle数据库的可恢复性设置:http://blog.itpub.net/29067253/viewspace-1986010/ 002 Oracle备份与恢复入门:http://blog.itpub.net/29067253/viewspace-1984159/ 003 RMAN预备知识:http://blog.itpub.net/29067253/viewspace-1984121/ 004 Oracle之不完全恢复:http://blog.itpub.net/29067253/

【云和恩墨】Oracle初学者入门指南-什么是 Metalink 或 MOS ?

Oracle初学者入门指南-什么是 Metalink 或 MOS ? Oracle | 2016-05-05 19:56 身为一个Oracle DBA,你可能经常看到老DBA们讲Metalink或者MOS,你必须知道这是什么. Metalink是Oracle的官方技术支持站点,其网址为: metalink.oracle.com ,后来变更为变更为:support.oracle.com, 命名为 My Oracle Support, 缩写为MOS,现在大家都称之为MOS了. Metalink的注册

Oracle的入门心得

oracle|心得   Oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对Oracle有一个总体的认识,少走一些弯路. 一.定位     Oracle分两大块,一块是开发,一块是管理.开发主要是写写存储过程.触发器什么的,还有就是用Oracle的Develop工具做form.有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭:管理则需要对Oracle数据库的原理有深刻的认识,

Oracle备份与恢复案例

oracle|备份|恢复 一. 理解什么是数据库恢复   当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.软件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失.因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复.恢复过程大致可以分为复原(Restore)与恢复(Recover)过程.   数据库恢复可以分为以下两类:   1.1实例故障的一致性恢复 当

Oracle 的入门心得

oracle|心得 oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路.   一.定位 oracle分两大块,一块是开发,一块是管理.开发主要是写写存储过程.触发器什么的,还有就是用Oracle的Develop工具做form.有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J:管理则需要对oracle数据库的原理有深刻的认识,有全局

VC++ Oracle开发入门

ORACLE 数据库以其优良的性能得到广泛的称赞.但是 ORACLE 客户端不像 SQL Server 能方便地连接到数据库.首先,要给客户机装一个 ORACLEL OLEDB 通讯软件,该软件可从如下地址获得: www.oracle.com 只有安装了此软件,客户机才可以和 ORACLE 服务器通讯.为什么 SQL Server 可以直接连到数据库呢,因为微软己经把"SQL Server 的通讯软件"集成到 Windows 中了.装好通讯软件,我们要进行配置才可以正确的连接到服务器.

Oracle 的入门心得 强烈推荐_oracle

一.定位 oracle分两大块,一块是开发,一块是管理.开发主要是写写存储过程.触发器什么的,还有就是用Oracle的Develop工具做form.有点类似于程序员,需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J:管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维,责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验. 因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库.对于刚刚毕业的年轻人来说

Oracle数据库入门之DDL与数据库对象

数据库对象 常见:表:存放数据的基本数据库对象,由行(记录)和列(字段)组成 约束条件:执行数据校验,保证数据完整性的系列规则 视图:表中数据的逻辑显示 索引:根据表中指定的字段建立起来的顺序,用于提高查询性能 序列:一组有规律的整数值 同义词:对象的别名 命名:必须以字母开头.可以包含字母.数据.下划线.$.# 同一方案(用户)下的对象不能重名.不能使用Oracle的保留字 补充:Oracle数据库中的表分为用户定义的表和数据字典表 用户定义的表:用户自己创建并维护的一组表,包含了用户所需的信

Oracle数据库入门之多表连接与子查询

Oracle表连接 概述:SQL/Oracle使用表连接从多个表中查询数据 格式:select 字段列表 from table1,table2 where table1.column1=table2.column2; 说明:当被连接的多个表中存在同名字段时,必须在该字段前加上"table."作为前缀 如果没有限定where连接条件,否则就会出现笛卡尔集的不现实或没有实用意义的结果 举例:select empno, ename, sal, emp.deptno, dname, loc f