`

Oracle9i rman备份恢复总结

阅读更多

Recovery Manager(RMAN)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的Oracle 工.RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块。而且,通过RMAN提供的接口,第三方的备份与恢复软件如veritas将提供更强大的备份与恢复的管理功能。


通过RMAN,也提供了其它更多功能,如数据库的克隆、采用RMAN建立备用数据库、
利用RMAN备份与移动裸设备(RAW)上的文件等工作将变得更方便简单。9i的RMAN通过
增强的自动配置与管理功能,以及特有的块级别的恢复,将使备份与恢复工作变得更加快捷
与完美。9i的RMAN有如下特征特性:
·自动的备份与恢复
·方便的备份归档日志
·自动检测新的数据文件
·支持增量备份
·最大限度的减少备份与恢复的错误
·减少恢复的时间
·在热备份中不会产生额外的redo日志
·腐烂数据块的自动检测·并行的备份与恢复操作
·在线备份时,表空间不用置于备份模式
可以看到,在以上的一些特性中,显示了RMAN强大的功能与好处,以上功能的实现,
是因为RMAN是块级别的备份与恢复,备份与恢复发生在数据库块级别,可以通过比较数据
块而获得一致性的数据块,可以避免备份没有用过的块,可以检验块是否腐烂等块级别的问
题。


   在使用rman备份分为使用恢复目录和不使用恢复目录两种形式,如果使用恢复目录,那恢复目
录最好建另外一台机器上才更有意义,因为如果同生产库建在一起了,当此机器出现故障时,恢
复目录数据库可以也无法使用,那么rman就不能得到先前的备份信息了,也就不能进行恢复了。
   下面介绍不使用恢复目录的备份与恢复方法,由于没有使用恢复目录那么相关的备份信息将保
存在控制文件中,所以配置rman为自动备份控制文件,每次执行backup时就自动备份一个控制文
件,默认保存在/opt/ora9/product/9.2.0.4/dbs/ 也可更改备份位置。
启动控制文件自动备份configure controlfile autobackup on;
设置自动备份控制文件格式configure controlfile autobackup format for device type disk
to '/backup/cf_%F'
设置备份优化configure backup optimization on;
自动备份控制文件默认保存路径/opt/ora9/product/9.2.0.4/dbs/

连连接数据库
rman>connect target / 或 rman target /
备份数据库
RMAN>  run {
2>  allocate channel dev1 type disk;
3> backup
4> format '/tmp/hotbak/bak'
5> database;
6> release channel dev1;
7> }
备份表空间
RMAN>  run {
2>  allocate channel dev1 type disk;
3> backup
4> format '/tmp/hotbak/tablespace_users'
5> tablespace users;
6> release channel dev1;
7> }

备份单独数据文件
RMAN>  run {
2>  allocate channel dev1 type disk;
3> backup
4> format '/tmp/hotbak/datafile_users'
5> datafile '/opt/ora9/oradata/oradb/users01.dbf';
6> release channel dev1;
7> }

备份控制文件
RMAN> run {
2> allocate channel dev1 type disk; 
3> backup
4>  format '/tmp/hotbak/controlfile'
5> (current controlfile);
6> release channel dev1;
7> }
 
恢复表空间
rman target / nocatalog
RMAN> startup mount
RMAN> restore tablespace users;
RMAN> recover tablespace users;
RMAN> exit

Datafile recovery 数据文件恢复
        RMAN> run {
       2> allocate channel dev1 type disk;
       3> sql "alter tablespace users offline immediate";
       4> restore datafile 4;
       5> recover datafile 4;
       6> sql "alter tablespace users online";
       7> release channel dev1;
       8> }
恢复控制文件

rman>startup nomount;
rman>set dbid=2347671489
rman>restore controlfile from autobackup 或 rman>restore controlfile from
'/opt/arch/ct_c-2347671489-20060630-00'
rman>alter database open resetlogs;
RMAN> startup mount;
恢复数据库
RMAN> restore database;
RMAN> recover database;
RMAN>alter database open resetlogs;
恢复完毕。

   上面从恢复控制文件开始,讲述的是,只要你有数据库的备份文件和备份时控制文件,才可以
进行恢复,就算重装也可以。
再说几个rman常用命令:
list backup  查看备份信息
List backup summary  查看备份汇总信息
List backup of datafile ‘file name’
list incarnation of database;   查看具体的备份信息
Crosscheck命令
检查磁盘或磁带上的备份或拷贝是否正确,并更新备份或者拷贝的状态
Crosscheck backup;
Crosscheck archivelog all;
Delete [noprompt] expired backup命令删除过期备份
也可以用List来查看相应的报告
LIST EXPIRED BACKUP;
LIST EXPIRED BACKUP SUMMARY;
Delete 命令
Delete命令可以用来删除指定的备份或者用来删除废弃或者是过期的备份集
如删除指定的备份集与备份片
RMAN> DELETE BACKUPPIECE 101;
RMAN> DELETE CONTROLFILECOPY '/tmp/control01.ctl';
RMAN> DELETE BACKUP OF TABLESPACE users DEVICE TYPE sbt;
删除过期或者废弃了的备份
RMAN> DELETE EXPIRED BACKUP;
RMAN> DELETE NOPROMPT OBSOLETE;
RMAN> DELETE OBSOLETE REDUNDANCY = 3;
RMAN> DELETE OBSOLETE RECOVERY WINDOW OF 7 DAYS;
删除指定的备份归档
RMAN> DELETE NOPROMPT ARCHIVELOG UNTIL SEQUENCE = 300;
再贴几个备份脚本:
全库备份脚本:
#!/bin/sh
date=`date +%Y%m%d`
export ORACLE_BASE=/opt/ora9 
export ORACLE_HOME=/opt/ora9/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
/opt/ora9/product/9.2.0.4/bin/rman target / <<EOF
run {
backup
tag 'dbfull'
format '/tmp/dbfull%u_%s_%p_%T'
database;
}
exit;
EOF
rm /opt/arch/* -rf
  下面为增量备份脚本,增量备份分为0级,1级,2级,0级为基础备份,1级为0级增量,恢复时
恢复0级,再恢复1级,oracle9i增量备份也要进行全库扫描,oracle10G在这方面有专门的改善。
增量备份的好处是减小备份文件大小,但同样也增加恢复时的时间和复杂度,我更加适合数据量
特别的数据库。
    
0级备份脚本
#!/bin/sh
date=`date +%Y%m%d`
export ORACLE_BASE=/opt/ora9 
export ORACLE_HOME=/opt/ora9/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
/opt/ora9/product/9.2.0.4/bin/rman target / <<EOF
run {
backup
incremental level 0
tag 'db0'
format '/tmp/db0%u_%s_%p_%T'
database;
#plus archivelog
#delete all input;
}
exit;
EOF
rm /opt/arch/* -rf

1级备份
#!/bin/sh
date=`date +%Y%m%d`
export ORACLE_BASE=/opt/ora9 
export ORACLE_HOME=/opt/ora9/product/9.2.0.4
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/Apache/Apache/bin
export ORACLE_OWNER=oracle
export ORACLE_SID=oradb
export ORACLE_TERM=xterm
export LD_ASSUME_KERNEL=2.4.19
export THREADS_FLAG=native
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK"
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
/opt/ora9/product/9.2.0.4/bin/rman target / <<EOF
run{
backup
incremental level 1
tag 'db1'
format '/tmp/db1%u_%s_%p_%T'
database;
#plus archivelog
#delete all input;
}
exit;
EOF
  如果出现故障,恢复的方法参考上面的就可以了,把相应该的备份文件控制文件和归档日志都
放在相对的位置就可以进恢复了。
分享到:
评论

相关推荐

    Oracle9i RMAN 备份及恢复步骤

    Oracle9i RMAN 备份及恢复步骤

    Oracle9i RMAN备份及恢复步骤

    这些步骤是Oracle 9i RMAN备份和恢复的基本流程。在实际环境中,可能需要根据具体需求调整备份策略,例如定期执行增量备份、设置备份保留策略等。了解并熟练掌握RMAN是数据库管理员的重要技能,能够确保在面对各种...

    oracle 9i rman 备份与恢复技术.pdf

    ### Oracle 9i RMAN 备份与恢复技术解析 #### 概述 在Oracle数据库管理领域,**RMAN(Recovery Manager)**是Oracle提供的一款强大的数据备份、恢复及灾难恢复工具。针对Oracle 9i版本,RMAN提供了丰富的功能来...

    oracle_9i_rman_备份与恢复技术

    通过以上对Oracle 9i RMAN备份与恢复技术的学习,我们可以了解到如何有效地利用RMAN来保障数据库的安全性和可用性。无论是基本的备份与恢复操作,还是高级的恢复技术,RMAN都提供了强大的支持。在实际应用中,根据...

    Linux下Oracle9i RMAN备份及恢复步骤

    在Linux环境下,对Oracle9i数据库进行RMAN(恢复管理器)备份和恢复是数据库管理员的重要职责。以下是一个详尽的步骤指南: 1. **设置归档模式**:首先,确保数据库运行在归档模式下,这对于实现完整备份至关重要。...

    Oracle+9i+RMAN备份与恢复技术

    Oracle+9i+RMAN备份与恢复技术

    oracle RMAN 备份恢复总结

    Oracle Recovery Manager(RMAN)是Oracle数据库管理系统中的一个重要组件,专为数据库的备份、恢复和维护设计。RMAN 自从Oracle 8版本开始引入,并在后续版本中不断加强和完善,尤其在Oracle 9i中展现出更为强大的...

    Linux下Oracle9i RMAN备份及恢复步骤介绍

    以下是使用RMAN进行Oracle9i数据库备份和恢复的详细步骤: 1. **切换到归档模式**: - 在执行任何备份操作之前,应确保数据库处于归档模式。通过SQL*Plus以sysdba身份登录,关闭数据库,然后启动并挂载数据库,...

    oracle 9i Rman 備份及恢復步驟

    在Oracle 9i环境下,RMAN(Recovery Manager)是一个强大的工具,用于数据库备份、恢复以及灾难恢复。本文将深入解析RMAN的备份与恢复步骤,帮助DBA和数据库管理员们掌握这一关键技能。 ### 一、切换服务器归档模式...

    oracle9i全备份导入到11g说明

    ### Oracle 9i 全备份导入到 11g 的处理方法 #### 一、问题背景 当将Oracle 9i的数据全备份导入到Oracle 11g版本时,经常会遇到由于`db_block_size`参数不一致导致的导入失败问题。这种情况下,如果直接进行导入...

    oracle_9i_rman_backup_restore.rar

    4. 容错恢复:在硬件故障或介质失败时,利用RMAN备份恢复损坏的数据文件。 五、RMAN的其他特性 - 多通道备份:允许并行执行多个备份任务,提高备份速度。 - 介质管理:支持自动备份到磁带、网络文件系统或自动存储...

    Oracle 9i RMAN参考使用手册

    Oracle 9i RMAN(恢复管理器)是Oracle数据库系统中的一个重要组件,主要负责数据库的备份、恢复和维护任务。在Oracle 9i版本中,RMAN提供了许多增强的功能,使得数据库管理员能够更加高效地管理和保护他们的数据。...

    Oracle9i数据库备份恢复初步研究

    ### Oracle9i数据库备份恢复初步研究 #### 一、引言 随着信息技术的发展,数据库作为信息存储的核心组件,在金融、电信、政府等多个领域扮演着极其重要的角色。由于数据的重要性日益增加,一旦发生数据丢失或损坏...

    Oracle 9i RMAN 参考使用手册.rar

    Oracle 9i RMAN(恢复管理器)是Oracle数据库系统中的一个重要组件,主要负责数据库的备份、恢复和维护任务。本参考使用手册详细介绍了RMAN的功能、操作方式以及最佳实践,帮助用户理解和掌握如何有效利用RMAN进行...

    windos下的oracle9i使用RMAN增量备份说明文档

    ### Oracle 9i 在 Windows 下使用 RMAN 进行增量备份详解 在Oracle 9i环境下,使用Recovery Manager(RMAN)进行数据库备份是一项重要的维护任务,特别是对于需要高效利用存储空间和时间资源的环境而言。本文将详细...

    Oracle数据库RMAN备份与恢复技术

    ### Oracle数据库RMAN备份与恢复技术详解 #### 引言 在信息技术领域,数据安全与完整性至关重要。Oracle数据库,作为全球领先的数据库管理系统之一,提供了多种数据保护机制,其中RMAN(Recovery Manager,恢复...

    Linux下Oracle9i_RMAN备份及恢复步骤介

    总的来说,Oracle9i的RMAN备份和恢复涉及到多个步骤,包括数据库状态的调整、RMAN配置、备份与恢复操作以及验证和问题修复。了解并熟练掌握这些步骤对于确保数据库安全和高效运行至关重要。在实际操作中,务必谨慎...

    oracle 9i rman参考使用手册

    #### 四、用RMAN备份 RMAN支持多种备份方式,包括文件拷贝、备份集创建、增量备份等。文件拷贝是最简单的备份方式,适用于小规模的备份需求。备份集则是一种更为高效的备份方案,能够将多个数据文件或表空间合并到...

Global site tag (gtag.js) - Google Analytics