`

Nocatalog方式的备份方案

阅读更多

在没有目录数据库的情况下,Oracle的备份信息是存储在控制文件中的,那么此时控制文件的安全就显得十分重要。

应该如何保证控制文件的安全:

n          首先在数据库配置中,应该在不同磁盘组上存储多份控制文件,以保证在线控制文件的安全。

n          应该启用控制文件的自动备份功能,以便数据库可以在必要时自动备份控制文件。

n          在进行全备或其他备份时,指定include current controlfile字句,在备份时同时备份控制文件

n          RMAN进行控制文件同步或备份时,Oracle会自动执行控制文件的快照,这个快照在某些特殊情况下,可以用于辅助回复。

n          RMAN还支持一下多种控制文件备份方式:

1)      使用backup current controlfile对控制文件进行备份

RMAN> backup current controlfile format ‘d:\backup\control%s.ctl’;

2)      控制文件拷贝

RMAN> backup as copy controlfile format ‘d:\backup\control01.ctl’

拷贝的控制文件是当前控制文件的一个原样副本,可以直接用于启动数据库,而RMAN的控制文件备份则需要通过RMAN进行回复使用。

3)      备份数据文件1将包含控制文件

Oracle数据库中,如果对datafile1进行备份,则Oracle会自动在备份中包含当前控制文件和参数文件;如果启用了自动控制文件备份,则备份datafile1时不再备份控制文件(因为自动备份会执行控制文件备份)

注意:当通过RMAN进行备份时,快照的生成和RMAN的设置有关,当未设置文件自动备份时,全备份会自动备份控制文件,但此时生成的这个控制文件快照先于备份集产生,所以快照不包含最后一次的备份信息,因而这个快照文件不能用于最后一次备份集的恢复。所以说,当使用热i备份来进行数据库恢复时,控制文件的起点很重要。但是当启用了控制文件的自动备份之后,一切将不同。此时再备份数据库,备份集中将不再包含自动的控制文件备份,自动控制文件备份发生在备份完成之后。

 

Oracle9i开始Rman提供plus archivelog选项,极大的简化了Rman备份的操作。

 

当你定义plus archivelog语句时,RMAN执行如下步骤的操作:
1
、运行一个ALTER SYSTEM ARCHIVELOG CURRENT命令
2
、运行BACKUP ARCHIVELOG ALL命令。注意如果备份优化被启用,RMAN只会备份未备份过的日志
3
、备份BACKUP命令中定义的文件
4
、运行ALTER SYSTEM ARCHIVELOG CURRENT命令
5
、备份所有的剩下的归档日志

 

下面是一个完整的备份方案(最好启用控制文件自动备份功能)

fullback.sql

run{

backup full database include current controlfile

format 'E:\OracleBackup\acffullback_%d_%T_%s'

plus archivelog format 'E:\OracleBackup\acfarch_%d_%T_%s' delete all input;

backup as copy current controlfile format 'E:\OracleBackup\acfctl_%d_%T_%s.ctl';  /*可以不要,这里只是对控制文件多作个备份*/

delete noprompt obsolete;

}

 

archback.sql

run

{

backup archivelog all format 'E:\OracleBackup\acfarch_%d_%T_%s' ;

backup as copy current controlfile format 'E:\OracleBackup\acfctl_%d_%T_%s.ctl';

}

最后用一个批处理来调用这两个脚本:

startrman.bat

echo off

set week=%date:~11,3%

if %week%==星期日 rman target / @'e:\oracle\dbmon\fullback.sql' log='E:\oracle\dbmon\logs\rmanfullback_%date:~0,10%.log'

if %week%==星期三 (

rman target / @'e:\oracle\dbmon\fullback.sql' log='E:\oracle\dbmon\logs\rmanfullback_%date:~0,10%.log'

) else (

rman target / @'e:\oracle\dbmon\archback.sql' log='E:\oracle\dbmon\logs\rmanarchback_%date:~0,10%.log'

)

注意:Oracle 9i里同样的备份只有3个备份文件,而Oracle 10g中有4个,新增文件中就是控制文件的备份。在Oracle 9i中,控制文件和参数文件被包含在全备份中,所以如果丢失了当前控制文件,从备份集中恢复控制文件是比较复杂的,而oracle 10g则干脆将其分离出来,大大简化了恢复难度。

 

 

Resetlogs/NoResetlogs与控制文件:

当数据库当前的Redo log都可用时,可以通过NORESETLOGS参数重建控制文件,此时Oracle能够从日志文件中读取Redo信息,记录到控制文件中,由于Redo中记录的信息足以重演所有提交成功的事务,所以最终能实现完全恢复,成功打开数据库;如果通过RESETLOGS参数重建控制文件,Oracle认为Redo log已经不可用,重数据文件获取相关信息,打开时要以Resetlogs方式打开数据库。

 

最后需要交接的是在以下几种常见的情况下,完成恢复后需要以Resetlogs方式打开数据库:

n          在执行了不完全恢复。

n          在使用了备份的控制文件进行恢复后

n          使用带有resetlogs选项创建的控制文件恢复之后

 

分享到:
评论

相关推荐

    Oracle数据库在Nocatalog方式下实现异机备用数据库

    ### Oracle数据库在Nocatalog方式下实现异机备用数据库 #### 环境与背景介绍 在企业级应用中,为了保障数据的安全性和业务的连续性,构建一套可靠的容灾解决方案至关重要。本文将详细介绍如何利用Oracle数据库在...

    Oracle数据库Rman备份方案

    ### Oracle数据库Rman备份方案详解 #### 一、概述 Oracle RMAN(Recovery Manager)是一种功能强大的工具,用于管理Oracle数据库的备份、恢复及灾难恢复。本文将详细介绍如何使用RMAN来制定Oracle数据库的备份策略...

    Oracle环境下的一种备份恢复方案.pdf

    备份方案的设计考虑了以下因素:数据的重要性、更新频率、备份硬件配置、所需时间和资源占用,以及对业务的影响。为了减少对业务的影响,通常会在业务低峰期进行长时间的备份,并确保关键数据在极端情况下的可恢复性...

    Oracle数据库的备份与恢复操作手册(Linux).pdf

    - **备份方式**:文档中提到采用NOCATALOG方式备份,这意味着不使用RMAN的目录数据库来存储备份元数据,而是直接备份到指定位置。 - **hosts文件**:检查并确保CommServer和本地主机的IP地址和主机名在/etc/hosts...

    rman备份与恢复

    它提供了强大的自动化功能,可以进行在线或离线的数据备份,并支持增量备份、归档日志备份等多种备份方式。 #### 二、创建表空间 在进行备份之前,通常需要先创建表空间来存储数据。例如,创建一个名为`zhaoxinbo_...

    Oracle 数据库备份与恢复(RMAN介绍一)

    通过上述内容的介绍,我们可以看到RMAN作为一种高度集成的备份和恢复解决方案,在Oracle数据库中扮演着至关重要的角色。无论是对于小型企业还是大型数据中心来说,合理地利用RMAN的功能都能够极大地提升数据保护的...

    linux下oracle的备份与恢复.pdf

    5. **报告数据库方案**:执行`report schema`以获取数据库的方案报告。 6. **备份全库**:`backup database plus archivelog delete input`命令备份整个数据库、控制文件、服务器参数文件和所有归档重做日志,同时...

    RMAN.rar_oracle_rman

    RMAN的`DELETE OBSOLETE`命令可以帮助自动清理过期的备份集,而`CATALOG`和`NOCATALOG`选项则用于管理备份元数据的存储位置,可以是数据库控制文件或者RMAN的恢复目录。 最后,RMAN还提供了报告和分析功能,如`LIST...

    oracle11g 关于rman 的基础知识

    总的来说,RMAN是Oracle数据库管理员的强大工具,它简化了数据库备份和恢复的过程,提供了更高效、安全的解决方案,确保了在发生数据丢失或系统故障时能快速有效地恢复数据。通过熟练掌握RMAN,数据库管理员可以更好...

    Oracle11g RMAN 语法手册(PDF+EPUB,带书签目录,非扫描版)

    RMAN 是 Oracle 数据库内置的命令行工具,它提供了全面的数据保护解决方案,包括备份、恢复、性能优化和维护任务。通过 RMAN,你可以执行以下操作: 1. 完全、增量备份:创建数据库或特定文件的完整或增量备份。 2. ...

    OCP-1Z0-053最新50道题

    - **A) Restoring the control file from the backup by using the NOCATALOG option to restore, and recovering the data files**: 从备份中还原控制文件,并使用 NOCATALOG 选项恢复数据文件。这是因为在新主机上...

    oracle rman

    RMAN(Recovery Manager)是Oracle数据库的一个重要组成部分,它为Oracle数据库提供了一个全面的数据保护解决方案,包括备份、恢复以及灾难恢复等功能。RMAN能够帮助数据库管理员在数据丢失或损坏的情况下,快速有效...

    oracle数据库恢复方案.docx

    3. RMAN信息的保存位置:RMAN(Recovery Manager)在NOCATALOG模式下将备份信息存储在控制文件中,而在CATALOG模式下则存储在一个单独的数据库中,即恢复目录数据库。 二、完全恢复 1. 控制文件丢失:如果部分或...

    oracle数据库恢复方案.pdf

    - **NOCATALOG模式**:RMAN将备份信息存储在控制文件中。 - **CATALOG模式**:RMAN使用恢复目录数据库存储备份信息,提供更高级的管理和组织。 4. **完全恢复** - **控制文件丢失** - **部分丢失**:关闭数据库...

    搭建ORACLE DG文档

    ### 搭建ORACLE DG(Data Guard)文档 ...通过对主库和备库的环境准备、RMAN在线复制的具体步骤以及Oracle Data Guard的配置流程的介绍,可以帮助读者更好地理解和实践Oracle数据库的高可用性和灾难恢复方案。

    恢复数据点对点

    #### 解决方案: 1. **检查控制文件版本**: - 查看控制文件的具体版本号,例如`/oradata/cdr/cdr/control01.ctl`和`/u01/oracle/recovery_area/cdr/control02.ctl`。 2. **确定正确的控制文件版本**:根据数据库...

    Oracle 11gR2 使用RMAN 复制搭建物理Data Guard

    在创建过程中,指定`NOCATALOG`选项以避免使用RMAN的恢复目录。 4. **初始同步**:使用RMAN的`DUPLICATE TARGET DATABASE`命令复制主数据库到备用数据库。这一步会将主数据库的数据文件、控制文件和初始化参数文件...

Global site tag (gtag.js) - Google Analytics