rman备份恢复详解.docx
《rman备份恢复详解.docx》由会员分享,可在线阅读,更多相关《rman备份恢复详解.docx(66页珍藏版)》请在冰豆网上搜索。
rman备份恢复详解
第一部分,认识rman
[root@director~]#find/-namerman
/u01/oracle/10g/sysman/admin/scripts/db/rman
/u01/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/WEB-INF/perl/db/rman
/u01/oracle/10g/oc4j/j2ee/oc4j_applications/applications/em/em/database/rman
/u01/oracle/10g/bin/rman
调整顺序的话就调整这个文件
[root@director~]#
if[-f~/.bashrc];then
.~/.bashrc
fi
#Userspecificenvironmentandstartupprograms
PATH=$PATH:
$HOME/bin
exportPATH
exportORACLE_BASE=/u01/oracle
exportORACLE_HOME=$ORACLE_BASE/10g
exportORACLE_SID=TestDB
exportPATH=$ORACLE_HOME/jdk/bin:
$PATH
exportPATH=/usr/sbin:
$PATH:
$ORACLE_HOME/bin;
exportPATH=$ORACLE_HOME/bin:
$PATH;
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:
/lib:
/usr/lib;
exportCLASSPATH=$ORACLE_HOME/JRE:
$ORACLE_HOME/jlib:
$ORACLE_HOME/rdbms/jlib;
aliassqlplus='rlwrapsqlplus'
rman备份可以进行的前提条件是数据库必须处于归档模式
[oracle@director~]$sqlplus/assysdba
SQL*Plus:
Release10.2.0.1.0-ProductiononFriMay2004:
50:
022016
Copyright(c)1982,2005,Oracle.Allrightsreserved.
Connectedto:
OracleDatabase10gEnterpriseEditionRelease10.2.0.1.0-Production
WiththePartitioning,OLAPandDataMiningoptions
SQL>archiveloglist;
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
ArchivedestinationUSE_DB_RECOVERY_FILE_DEST
Oldestonlinelogsequence3
Nextlogsequencetoarchive5
Currentlogsequence5
强制归档日志命令
SQL>altersystemarchivelogcurrent;
Systemaltered.
SQL>altersystemswitchlogfile;
Systemaltered.
SQL>
配置rman
RMAN>showall;
RMANconfigurationparametersare:
CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF1DAYS;设置保存策略
CONFIGUREBACKUPOPTIMIZATIONON;设置为优化选项为on
CONFIGUREDEFAULTDEVICETYPETO'SBT_TAPE';设置备份介质
CONFIGURECONTROLFILEAUTOBACKUPON;设置自动备份控制文件
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPESBT_TAPETO'%F';#default
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default
CONFIGUREDEVICETYPE'SBT_TAPE'PARALLELISM4BACKUPTYPETOBACKUPSET;
备份通道个数
CONFIGUREDEVICETYPEDISKPARALLELISM8BACKUPTYPETOBACKUPSET;磁盘通道个数
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPESBT_TAPETO1;#default
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPESBT_TAPETO1;#default
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGURECHANNEL1DEVICETYPE'SBT_TAPE'PARMS'ENV=(OB_MEDIA_FAMILY=station21)'CONNECT'sys/oracle1@orcl';设置媒介家庭
CONFIGURECHANNEL2DEVICETYPE'SBT_TAPE'PARMS'ENV=(OB_MEDIA_FAMILY=station21)'CONNECT'sys/oracle1@orcl';设置媒介家庭
CONFIGUREMAXSETSIZETOUNLIMITED;#default
CONFIGUREENCRYPTIONFORDATABASEOFF;#default
CONFIGUREENCRYPTIONALGORITHM'AES128';#default
CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
CONFIGURESNAPSHOTCONTROLFILENAMETO'/u01/app/oracle/product/10.2.0/db_1/dbs/snapcf_orcl.f';#default
setORACLE_SID=portalreport
RMAN命令详解
一、list命令
1. List当前RMAN所备份的数据库:
1.1.listbackupsummary;--概述可用的备份
listincarnation;--汇总查询
--如果备份文件多的话多用这两个list命令可以对备份文件有个总体了解。
B表示backup
A表示Archivelog、F表示fullbackup、0,1,2表示incrementallevel备份
A表示可用AVALIABLE、X表示EXPIRED
这个命令可以派生出很多类似命令,例如
listbackupofdatabasesummary
listbackupofarchivelogallsummary
listbackupoftablespaceuserssummary;
listbackupofdatafilen,n,nsummary
这些命令可以让我们对已有的备份文件有一个整体,直观的了解。
1.2.listbackupbyfile;--按照文件类型分别列出
分别为:
数据文件列表、归档日志列表、控制文件列表、SPFILE列表
1.3.listbackup;
这个命令列出已有备份集的详细信息。
1.4.listexpiredbackup;
列出过期的备份文件
1.5.listcopy;
列出copy文件
listcopyofdatabase;
listcopyofcontrolfile;
listcopyoftablespaceusers;
listcopyofdatafilen,n,n;
listcopyofarchivelogall;
listcopyofarchivelogfromscn10000;
listcopyofarchiveloguntilsequence12;
2.List相关文件的信息
listbackupof{archivelog,controlfile,database,datafile,spfile,tablespace};
listbackupofdatabase;--full,incremental,tablespace,datafile
2.1服务器参数文件:
listbackupofspfile;
2.2控制文件:
listbackupofcontrolfile;
2.3数据文件:
listbackupofdataflen,n,n,n;
2.4表空间:
listbackupoftablespacetablespace_name;--表空间对应的backup
2.5归档日志:
listbackupofarchivelog{all,from,high,like,logseq,low,scn,sequence,time,until};
listbackupofarchivelogall;
listbackupofarchiveloguntiltime'sysdate-1';
listbackupofarchivelogfromsequence10;
listbackupofarchiveloguntilsequence10;
listbackupofarchivelogfromscn10000;
listbackupofarchiveloguntilscn200000;
listarchivelogfromscn1000;
listarchiveloguntilscn2000;
listarchivelogfromsequence10;
listarchiveloguntilsequence12;
二、report常用命令总结备忘
report用于判断数据库当前可恢复状态、以及数据库已有备份的信息。
最常使用的是reportobsolete;reportschema;
report{device,need,obsolete,schema,unrecoverable}
reportschema;
reportobsolete;
reportunrecoverable;
reportneedbackup;
reportneedbackupdays=3;--报告最近3天内没有备份的文件
reportneedbackupredundancy=3;--报告冗余次数小于3的数据文件。
reportneedbackuprecoverywindowof2days;
reportschema;---报告数据库模式
reportobsolete;---报告已丢弃的备份集(配置了保留策略)。
reportunrecoverable;---报告当前数据库中不可恢复的数据文件(即没有这个数据文件的备份、或者该数据文件的备份已经过期)
reportneedbackup;---报告需要备份的数据文件(根据条件不同)
reportneedbackupdays=3;
--最近三天没有备份的数据文件(如果出问题的话,这些数据文件将需要最近3天的归档日志才能恢复)
reportneedbackupincremental=3;
--需要多少个增量备份文件才能恢复的数据文件。
(如果出问题,这些数据文件将需要3个增量备份才能恢复)
reportneedbackupredundancy=3;
--报告出冗余次数小于3的数据文件
--例如数据文件中包含2个数据文件system01.dbf和users01.dbf.
--在3次或都3次以上备份中都包含system01.dbf这个数据文件,而users01.dbf则小于3次
--那么,报告出来的数据文件就是users01.dbf
--即,报告出数据库中冗余次数小于n的数据文件
reportneedbackuprecoverywindowof2days;
--报告出恢复需要2天归档日志的数据文件
三、backup常用命令总结备忘
1.设置备份标记
backupdatabasetag='full_bak1';
注:
每个标记必须唯一,相同的标记可以用于多个备份只还原最新的备份。
2.设置备份集大小(一次备份的所有结果为一个备份集,要注意备份集大小)
backupdatabasemaxsetsize=100mtag='datafile1';
注:
maxsetsize限定备份集的大小。
所以必须大于数据库总数据文件的大小,否则会报错。
RMAN-06183:
datafileordatafilecopylargerthanMAXSETSIZE:
file#1/data/oradata/system01.dbf
3.设置备份片大小(磁带或文件系统限制)
run{
allocatechannelc1typediskmaxpicecsize100mformat'/data/backup/full_0_%U_%T';
backupdatabasetag='full_0';
releasechannelc1;
}
可以在allocate子句中设定每个备份片的大小,以达到磁带或系统限制。
也可以在configure中设置备份片大小。
Configurechanneldevicetypediskmaxpiecesize100m;
configurechanneldevicetypediskclear;
4.备份集的保存策略
backupdatabasekeepforever; --永久保留备份文件
backupdatabasekeepuntiltime='sysdate+30';--保存备份30天
5.重写configureexclude命令
backupdatabasnoexcludekeepforevertag='testbackup';
6.检查数据库错误
backupvalidatedatabase;
使用RMAN来扫描数据库的物理/逻辑错误,并不执行实际备份。
7.跳过脱机,不可存取或只读文件
backupdatabaseskipreadonly;
backupdatabaseskipoffline;
backupdatabaseskipinaccessible;
backupdatabaseskipreadonlyskipofflineskipinaccessible;
8.强制备份
backupdatabaseforce;
9.基于上次备份时间备份数据文件
1>只备份添加的新数据文件
backupdatabasenotbackedup;
2>备份"在限定时间周期内"没有被备份的数据文件
backupdatabasenotbackedupsincetime='sysdate-2';
10.备份操作期间检查逻辑错误
backupchecklogicaldatabase;
backupvalidatechecklogicaldatabase;
11.生成备份副本
backupdatabasecopies=2;
12.备份控制文件
backupdatabasedevicetypediskincludcurrentcontrolfile;
四、configure常用命令总结备忘
4.1显示当前的配置信息
4.1.1RMAN>showall;
RMAN配置参数为:
CONFIGURERETENTIONPOLICYTOREDUNDANCY1;#default
CONFIGUREBACKUPOPTIMIZATIONOFF;#default
CONFIGUREDEFAULTDEVICETYPETODISK;#default
CONFIGURECONTROLFILEAUTOBACKUPOFF;#default
CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default
CONFIGUREDEVICETYPEDISKPARALLELISM1BACKUPTYPETOBACKUPSET;#default
CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default
CONFIGUREMAXSETSIZETOUNLIMITED;#default
CONFIGUREENCRYPTIONFORDATABASEOFF;#default
CONFIGUREENCRYPTIONALGORITHM'AES128';#default
CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default
CONFIGURESNAPSHOTCONTROLFILENAMETO'D:
/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/S
NCFDBA.ORA';#default
4.1.2查询RMAN设置中非默认值:
SQL>selectname,valuefromv$rman_configuration;
4.2.常用的configure选项
4.2.1保存策略(retentionpolicy)
configureretentionpolicytorecoverywindowof7days;
configureretentionpolicytoredundancy5;
configureretentionpolicyclear;
CONFIGURERETENTIONPOLICYTONONE;
第一种recoverwindow是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻。
任何超过最近七天的数据库备份将被标记为obsolete。
第二种redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。
它的默认值是1份。
第三四:
NONE可以把使备份保持策略失效,Clear将恢复默认的保持策略
一般最安全的方法是采用第二种保持策略。
4.2.2备份优化backupoptimization
configurebackupoptimizationon;
configurebackupoptimizationoff;
configurebackupoptimizationclear;
默认值为关闭,如果打开,rman将对备份的数据文件及归档等文件进行一种优化的算法。
4.2.3默认设备defaultdevicetype
configuredefaultdevicetypetodisk;
configuredefaultdevicetypetostb;
configuredefaultdevicetypeclear;
是指定所有I/O操作的设备类型是硬盘或者磁带,默认值是硬盘
磁带的设置是CONFIGUREDEFAULTDEVICETYPETOSBT;
4.3.4控制文件controlfile
configurecontrolfileautobackupon;
configurecontrolfileautobackupformatfordevicetypediskto'/cfs01/backup/conf/conf_%F';
configurecontrolfileautobackupclear;
configruecontrolfileautobackup