rman备份恢复手册.docx
- 文档编号:8115000
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:23
- 大小:22.82KB
rman备份恢复手册.docx
《rman备份恢复手册.docx》由会员分享,可在线阅读,更多相关《rman备份恢复手册.docx(23页珍藏版)》请在冰豆网上搜索。
rman备份恢复手册
RMAN备份恢复手册
1.概要
1.1.本文的目的
为了模拟测试oracle热备份的各种恢复情况,同时给以后工程人员一些实施借鉴,特地整理了本文档,在其中记录各种恢复的情况,以方便恢复时使用。
1.2.系统概况
系统环境:
hpunix11oracle9201
数据情况:
一个系统文件、3个联机日志、一个回滚段表空间、一个undo表空间、其他的数据文件,数据库当前使用undo。
备份方式:
rman热备份
备份文件:
数据文件、归档日志、控制文件、初始化文件。
测试脚本:
sp_insert_del,主要完成写入数据和删除数据的功能。
测试表:
iptpa_test1,存储测试数据。
2.rman备份介绍
2.1.功能简介
Oracle提供了一个通用工具完成备份、还原、恢复功能,就是rman。
Rman是oracle数据库附带的一个功能,不需要单独安装,适用于oracle8以上数据库版本。
Rman可以完成整个数据库或者数据库部件的备份。
Rman也支持增量备份,但是建议不要采用这部分功能,因为在备份时会计算一些东西,耗时还是比较多的。
Rman通过oracle的session来读取数据,完成备份和恢复。
存储备份数据主要是通过target数据库的控制文件来操作,而恢复操作主要靠备份数据库的catalog来完成。
本文仅仅介绍oracle9i的rman特性。
2.2.体系结构
Rman共分以下几个部分:
rman引擎、target数据库、catalog数据库、媒体管理software。
Rman引擎起源于oracle8,位于$ORACLE_HOME/bin下,通过运行rman命令启动它来执行备份。
Target数据库,是rman将要备份和恢复的数据库。
Catalog数据库,用来保存备份和恢复信息的数据库,不建议建立在target数据库上。
媒体管理软件是第三方软件,如果需要向磁带的话,必须配置媒体管理软件。
其中rman引擎和target数据库是必须的。
由于rman在oracle9i后可以用target数据库的控制文件去存储元数据,因此catalog数据库是可选的。
而媒体管理器完成将数据写入磁盘或者磁带机。
3.启动运行rman
3.1.运行要求
1、资源要求
要求有更多的内存分配,要求process的数目。
2、环境变量要求
要求基本的环境变量:
oracle_sid,oracle_home、oracle_base、nls_lang、nls_date_format、path
3、权限要求
要求Sysdba权限,如果是在本地登陆,可以采用os认证,远程需要密码认证。
4、版本要求
Rman引擎必须和目标数据库版本一致。
如果使用了catalog,那么
创建catalog目录的脚本版本必须等于大于目标数据库的版本;
创建catalog目录的脚本版本必须等于大于catalog所在数据库的版本。
3.2.启动方式
Oracle9i不要求使用catalog,因此可以以nocatalog方式启动。
$ORACLE_HOME/bin/rmannocatalog
3.3.命令运行方式
1、单个运行
Backupdatabase;
2、运行一个数据块
Run{
Copydatafile10to‘/opt/oradata/rmanback/’;
};
3、运行脚本
Rmantargetnocatalog/
@rmanback
或者run{@rmanback};
或者运行存储在恢复目录的脚本
Run{executescriptbackup_db};
4、Sh方式
可以采用sh方式调用,此时需要注意环境变量
4.Rman的配置
在rman中有一个概念是通道,主要完成rman引擎产生的进程和备份媒体之间的io读写的途径。
如果要运行rman,必须对通道作配置。
Rman默认提供一个通道为备份恢复服务。
这个通道就是自动通道,存在默认的配置,但是不会符合你的备份策略,因此也需要要对它进行配置。
4.1.备份冗余策略
备份冗余策略是指备份时保留什么样的备份的策略,这里有两个,一个是按时间,一个是按照有效备份的个数。
configureretentionpolicytoredundancy3;
configureretentionpolicytorecoverywindowof7days;
configureretentionpolicytonone;
4.2.通道配置
配置自动通道的设备类型
configuredefaultdevicetypetodisk;
指定通道的并行策略
configuredevicetypediskparallelism1;
指定通道的类型,备份目录。
configurechanneldevicetypediskformat'/opt/oradata/rmanbak/%U';
指定通道备份的冗余策略
configuredatafilebackupcopiesfordevicetypediskto1;
指定规定日志备份的冗余策略
configurearchivelogbackupcopiesfordevicetypediskto1;
控制文件备份策略
configurecontrolfileautobackupon;
控制文件备份设备类型格式,以及命名格式。
configurecontrolfileautobackupformatfordevicetypediskto'%F';
configuresnapshotcontrolfilenameto'/opt/oradata/rmanbak/snapcon_U01.f';
备份优化策略
configurebackupoptimizationon;
限制通道的大小
setlimitchannelt2kbytes2000000;
4.3.备份命令
备份数据库
Backupdatabase;
对数据库作多个备份
backupdatabasecopies2;
限制备份的数据文件的大小
backupdatabasemaxsetsize2g;
备份控制文件
backupcurrentcontrolfile;
备份归档日志
backuparchivelogall;
备份归档日志后删除已经备份的归档日志
backuparchivelogalldeleteinput;
标志为weeklyfull的备份集的备份
backuptag'weekly_full'database;
检测数据库中能够被备份的逻辑和物理的数据文件的位置。
backupvalidatedatabase;
backupvalidatearchivelogall;
4.4.检查备份
检查数据库能够被备份的数据文件
reportschema;
reportneedbackup;
过期的备份、数据文件或者拷贝
reportobsolete;
不能获取状态的数据文件
reportunrecoverable;
检查硬盘上备份是否有效,是否过期
crosscheckbackup;
crosscheckarchivelogall;
4.5.删除备份
删除备份片1
deletebackuppiece1;
删除过期备份,删除过程中不提示
deletenopromptexpiredbackup;
删除过期备份
deleteexpiredbackup;
4.6.列出所有的备份
listbackup;
listarchivelogall;
4.7.备份的要求
必须设置归档模式
数据库置于mount,执行,启用归档日志
alterdatabasearchivelog;
5.rman恢复
5.1.模拟非系统数据文件丢失
当非系统数据文件损坏时,有两种恢复方式,一种是拥有数据文件备份、归档日志备份以及其他的相关文件,此时可以做到的是完全的恢复;一种是有数据文件备份,但是归档日志不全。
5.1.1.拥有全部备份的恢复
在这种情况下,系统拥有全部的数据文件备份,归档日志备份以及其他相关文件,可以做到完全恢复。
下面模拟非系统文件的恢复。
$sqlplusrmantest/rmantest
SQL*Plus:
Release9.2.0.1.0-ProductiononMonMar2012:
45:
482006
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedto:
Oracle9iEnterpriseEditionRelease9.2.0.1.0-64bitProduction
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production
SQL>selectcount(*)fromzxy;
COUNT(*)
----------
45056
SQL>!
$mvtools_1.dbftools_1.dbf.bak
$exit
SQL>createtabletestasselect*fromzxy;
createtabletestasselect*fromzxy
*
ERRORatline1:
ORA-01116:
errorinopeningdatabasefile4
ORA-01110:
datafile4:
'/opt/oradata/opnview/tools_1.dbf'
ORA-27041:
unabletoopenfile
HP-UXError:
2:
Nosuchfileordirectory
Additionalinformation:
3
SQL>conn/assysdba
SQL>alterdatabasedatafile4offline;
Databasealtered.
SQL>exit
DisconnectedfromOracle9iEnterpriseEditionRelease9.2.0.1.0-64bitProductn
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production
$rmannocatalogtarget/
RecoveryManager:
Release9.2.0.1.0-64bitProduction
Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.
connectedtotargetdatabase:
OPENVIEW(DBID=2554481560)
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
RMAN>restoredatafile4;
Startingrestoreat20-MAR-06
allocatedchannel:
ORA_DISK_1
channelORA_DISK_1:
sid=13devtype=DISK
channelORA_DISK_1:
startingdatafilebackupsetrestore
channelORA_DISK_1:
specifyingdatafile(s)torestorefrombackupset
restoringdatafile00004to/opt/oradata/opnview/tools_1.dbf
channelORA_DISK_1:
restoredbackuppiece1
piecehandle=/opt/oradata/rmanbak/0ohee5gf_1_1tag=TAG20060320T101647params=NUL
channelORA_DISK_1:
restorecomplete
Finishedrestoreat20-MAR-06
RMAN>recoverdatafile4;
Startingrecoverat20-MAR-06
usingchannelORA_DISK_1
startingmediarecovery
mediarecoverycomplete
Finishedrecoverat20-MAR-06
RMAN>exit
RecoveryManagercomplete.
$sqlplus"/assysdba"
SQL*Plus:
Release9.2.0.1.0-ProductiononMonMar2013:
23:
302006
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedto:
Oracle9iEnterpriseEditionRelease9.2.0.1.0-64bitProduction
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production
SQL>alterdatabasedatafile4online;
Databasealtered.
SQL>connectrmantest/rmantest
Connected.
SQL>createtabletestasselect*fromzxy;
Tablecreated.
SQL>selectcount(*)fromzxy;
COUNT(*)
----------
45066
SQL>
总结:
非系统数据文件丢失,整个恢复的过程数据库除了丢失的表空间,其他的均处于可用状态。
在恢复时,需要将坏掉的数据文件offline,然后恢复,完成后需要再online.
5.1.2.坏掉某个数据块的恢复
一般数据文件有问题,都可能是数据块出现了错误,在这种情况下,可以先使用dbv来检查数据文件。
可以通过dbfsize来检查数据文件的block大小。
SQL>createtabletestasselect*fromv$session;
createtabletestasselect*fromv$session
*
ERRORatline1:
ORA-01658:
unabletocreateINITIALextentforsegmentintablespaceTOOLS
SQL>connect/assysdba
Connected.
SQL>alterdatabasedatafile4offline;
Databasealtered.
使用dbv工具检测数据文件,发现有一堆的错误。
然后使用rman恢复。
$rmannocatalogtarget/
RecoveryManager:
Release9.2.0.1.0-64bitProduction
Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.
connectedtotargetdatabase:
OPENVIEW(DBID=2554481560)
usingtargetdatabasecontrolfileinsteadofrecoverycatalog
RMAN>restoredatafile4;
Startingrestoreat20-MAR-06
allocatedchannel:
ORA_DISK_1
channelORA_DISK_1:
sid=13devtype=DISK
channelORA_DISK_1:
startingdatafilebackupsetrestore
channelORA_DISK_1:
specifyingdatafile(s)torestorefrombackupset
restoringdatafile00004to/opt/oradata/opnview/tools_1.dbf
channelORA_DISK_1:
restoredbackuppiece1
piecehandle=/opt/oradata/rmanbak/0ohee5gf_1_1tag=TAG20060320T101647params=NUL
channelORA_DISK_1:
restorecomplete
Finishedrestoreat20-MAR-06
RMAN>recoverdatafile4;
Startingrecoverat20-MAR-06
usingchannelORA_DISK_1
startingmediarecovery
archivelogthread1sequence307isalreadyondiskasfile/opt/oracle/admin/C
archivelogthread1sequence308isalreadyondiskasfile/opt/oracle/admin/C
archivelogthread1sequence309isalreadyondiskasfile/opt/oracle/admin/C
channelORA_DISK_1:
startingarchivelogrestoretodefaultdestination
channelORA_DISK_1:
restoringarchivelog
archivelogthread=1sequence=306
channelORA_DISK_1:
restoredbackuppiece1
piecehandle=/opt/oradata/rmanbak/0vhee66r_1_1tag=TAG20060320T102843params=NUL
channelORA_DISK_1:
restorecomplete
archivelogfilename=/opt/oracle/admin/openview/arch/T0001S0000000306.ARCthrea6
archivelogfilename=/opt/oracle/admin/openview/arch/T0001S0000000307.ARCthrea7
mediarecoverycomplete
Finishedrecoverat20-MAR-06
将数据文件online
$sqlplus"/assysdba"
SQL*Plus:
Release9.2.0.1.0-ProductiononMonMar2013:
53:
032006
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connectedto:
Oracle9iEnterpriseEditionRelease9.2.0.1.0-64bitProduction
WiththePartitioning,OLAPandOracleDataMiningoptions
JServerRelease9.2.0.1.0-Production
SQL>alterdatabasedatafile4online;
Databasealtered.
SQL>connectrmantest/rmantest
Connected.
SQL>createtabletestasselect*fromv$session;
Tablecreated.
5.2.模拟回滚段损坏
当系统使用的是回滚段,而不是undo时,当回滚段出现异常时,系统不能写入数据,此时需要恢复回滚段。
恢复回滚段是,系统必须处于mount状态。
下面我们将回滚段所在的表空间RBS1_1.dbf更名
$mvRBS1_1.dbfRBS1_1.dbf.bak
$sqlplusrmantest/rmantest
SQL>insertintozxyselect*fromzxy;
368rowscreated.
SQL>/
insertintozxyselect*fromzxy
*
ERRORatline1:
ORA-01116:
errorinopeningdatabasefile3
ORA-01110:
datafile3:
'/opt/oradata/opnview/RBS1_1.dbf'
ORA-27041:
unabletoopenfile
HP-UXError:
2:
Nosuchfileordirectory
Additionalinformation:
3
SQL>exit
$sqlplus"/assysdba"
SQL*Plus:
Release9.2.0.1.0-ProductiononWedMar2213:
30:
242006
Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.
Connected.
SQL>shutdownimmediate
ORA-01089:
immediateshutdowninprogress-nooperationsarepermitted
SQL>shutdownimmediate
ORA-01089:
immediateshutdowninprogress-nooperationsarepermitted
SQL>shutdownabort
ORACLEinstanceshutdown.
SQL>startupmount
ORACLEinstancestarted
开始用rman恢复
$rmannocatalogtar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- rman 备份 恢复 手册