RMAN备份全攻略.docx

上传人:b****5 文档编号:30007366 上传时间:2023-08-04 格式:DOCX 页数:87 大小:69.34KB
下载 相关 举报
RMAN备份全攻略.docx_第1页
第1页 / 共87页
RMAN备份全攻略.docx_第2页
第2页 / 共87页
RMAN备份全攻略.docx_第3页
第3页 / 共87页
RMAN备份全攻略.docx_第4页
第4页 / 共87页
RMAN备份全攻略.docx_第5页
第5页 / 共87页
点击查看更多>>
下载资源
资源描述

RMAN备份全攻略.docx

《RMAN备份全攻略.docx》由会员分享,可在线阅读,更多相关《RMAN备份全攻略.docx(87页珍藏版)》请在冰豆网上搜索。

RMAN备份全攻略.docx

RMAN备份全攻略

RMAN备份流程

V3.0

2016年02月02日

文档修改记录

版本

编辑时间

编辑人员

编辑内容

V1.0

2016-01-26

根据基本资料,完成初稿。

V2.0

2016-02-02

根据实战备份,完善此稿。

V3.0

2016-02-22

根据实战恢复,完善此稿。

目录

一、备份集信息5

1.1列出备份集信息5

1.2删除备份集信息5

二、备份操作6

2.1RMAN登陆6

2.2备份参数6

2.3备份命令8

2.4全备份操作9

2.5单备份操作13

2.6磁带库14

三、恢复操作15

3.1预恢复操作15

3.2全库恢复15

3.3恢复参数文件17

3.4恢复数据文件18

3.5基于条件的恢复18

3.6基于控制文件的恢复20

3.7恢复日志文件23

3.8异机恢复案例23

四、镜像拷贝26

4.1生成镜像26

4.2合并增量备份与映像副本26

五、备份策略27

5.1差异备份27

5.2累计备份27

5.3增量备份方案28

5.4备份级别28

六、CATALOG30

6.1使用恢复目录30

6.2catalog的创建和使用30

6.3基于恢复目录的备份30

七、OSCOPY恢复33

7.1主库33

7.2备库34

7.3修改pfile文件34

7.4启动备库35

八、RMANRESTORE恢复36

8.1主库36

8.2备库37

8.3修改pfile文件39

8.4启动备库39

九、RMANCOPY恢复41

9.1主库41

9.2备库42

9.3修改pfile文件42

9.4启动备库43

十、Duplicate副本数据库45

10.1简介45

10.2RMAN同机克隆47

10.3RMAN克隆日志解析50

一、备份集信息

1.1列出备份集信息

listbackup;#列出所有的备份集。

listbackupofdatabase;#列出数据库的所有备份集(无论是完整备份集还是增量备份集)。

listbackupofdatafile1;#列出数据文件1的备份集。

listbackupoftablespaceusers;#列出表空间user的备份集。

listbackupofarchivelogall;#列出所有归档日志备份集。

listcopyofarchivelogfromtime='sysdate-7';#列出最近7天生成的归档日志的映像副本。

listbackupofarchivelogfromlogseq100untillogseq200;#列出某个sequence范围中的归档日志。

listbackupofspfile;#列出spfile的备份

listcopy;#列出所有的映像副本。

reportneedbackup;#按照已配置的保留策略,列出所有为了符合这个保留策略,而至少需要一个备份的数据文件和归档日志文件。

reportneedbackupdays3;#列出3天之内未进行备份的所有对象。

reportneedbackupredundancy3;#列出少于3个备份的所有文件。

reportschema;#显示数据库的物理结构

1.2删除备份集信息

crosscheckbackup;#检查备份。

reportobsolete;#按照已经配置的保留策略,列出无效的所有映像副本和备份集。

deleteobsolete;#删除无效的备份。

deleteexpiredbackup;#删除到期的备份。

deletebackup;#删除之前的所有备份。

deletebackupset4;#通过数字来删除单独的备份。

deletecopyofdatafile6tagfile6_extra;#通过标记来删除单独的备份。

reportobsoleteredundancy2;#列出一个对象的备份数至少为3的所有备份。

deleteobsoleteredundancy2;

 

二、备份操作

2.1RMAN登陆

rman的链接方式:

连接到目标数据库:

rman\>connecttargetuser/pwd@db_name

注意:

1、connect不能简写为conn

2、连接USER必须具备SYSDBA权限

3、连接的db_name必须在tnsnames.ora中有配置,且有效(即通过SQLPLUS可以连接)

4、targetdatabase必须为archivelog模式

5、如果是本地可以采用OS认证,如果是远程需要使用密码文件认证。

6、RMAN工具版本与目标数据库必须是同一版本。

例如:

rmantarget/链接本机默认的实例,以sys用户登录rman。

rmantargetsys/root链接本机默认的实例,以sys用户登录rman。

rmantargetliu/liu链接本机默认的实例,以liu用户登录rman。

确定备份的数据库的id是否一致:

SQL>selectNAME,DBID,OPEN_MODEfromv$database;

NAMEDBIDOPEN_MODE

-----------------------------

RAC1682100315READWRITE

2.2备份参数

CONTROL_FILE_RECORD_KEEP_TIME参数限制了目标数据库控制文件“记住”与生成归档日志以及完成RMAN相关信息的天数。

我们设置了CONTROL_FILE_RECORD_KEEP_TIME=14,任何超过14天的纪录都有可能被覆盖,如果没有超过14天的记录,oracle将扩展控制文件的大小,如果由于受到操作系统的限制(比如磁盘空间满)无法扩展控制文件的大小,oracle会强制覆盖最老的记录并且在alter.log中记录这一情况:

WARNING:

OracleManagedFilefilenameisunknowntocontrolfile.Thisisthe

resultoflimitationincontrolfilesizethatcouldnotkeepallrecoveryarea

files.

也就是不能满足备份的保留冗余策略来保存备份了。

为了避免和降低这种情况的发生,我们可以采取以下措施:

使用32K大小的块创建控制文件,如果想设置控制文件32K大小的BLOCK,我们必须首先把SYSTEM表空间设置成为大于或者等于控制文件使用的BLOCKSIZE。

修改了控制文件BLOCK_SIZE后,必须重建控制文件。

默认的路径会是:

SQL>showparameterdb_rec

NAMETYPEVALUE

-----------------------------------------------------------------------------

db_recovery_file_deststring/home/oracle/oracle/product/10.2.0/db_1/flash_recovery_area

db_recovery_file_dest_sizebiginteger2G(闪回区的大小)

%c备份片的拷贝数

%d数据库名称

%D位于该月中的第几天(DD)

%M位于该年中的第几月(MM)

%F一个基于DBID唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ,其中IIIIIIIIII为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列

%n数据库名称,向右填补到最大八个字符

%u一个八个字符的名称代表备份集与创建时间

%p该备份集中的备份片号,从1开始到创建的文件数

%U一个唯一的文件名,代表%u_%p_%c

%s备份集的号

%t备份集时间戳

%T年月日格式(YYYYMMDD)

2.2.1备份优化

configurebackupoptimizationon;#开启优化

configurebackupoptimizationoff;

configurebackupoptimizationclear;

启用备份最优化能够是RMAN确定不备份最近一次备份以来未发生变化的所有对象,这通常意味着不会重复备份只读和联机的表空间以及归档日志。

2.2.2保存策略

CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF7DAYS;

CONFIGURERETENTIONPOLICYTOREDUNDANCY5;

CONFIGURERETENTIONPOLICYTONONE;

第一种recoverwindow是保持所有足够的备份,可以将数据库系统恢复到最近七天内的任意时刻,并且允许删除随着时间推移变得废弃的所有备份。

任何超过最近七天的数据库备份将被标记为obsolete,每个数据文件都至少具有一个超过七天的备份以及恢复其所需的归档日志。

第二种redundancy是为了保持可以恢复的最新的5份数据库备份,任何超过最新5份的备份都将被标记为redundancy。

它的默认值是1份。

第三种不需要保持策略,clear将恢复回默认的保持策略。

一般最安全的方法是采用第二种保持策略。

changebackup50unavailable;#手动让一些备份无效。

2.2.3控制文件

CONFIGURECONTROLFILEAUTOBACKUPOFF;#default自动控制文件备份

强制数据库在备份文件或者执行改变数据库结构的命令之后将控制文件自动备份,默认值为关闭。

打开之后,这样可以避免控制文件和catalog丢失后,控制文件仍然可以恢复。

CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO'%F';#default自动控制文件备份的路径,%F适用于控制文件的备份

2.2.4默认设备

configuredefaultdevicetypetodisk;

configuredefaultdevicetypetostb;

configuredefaultdevicetypeclear;

2.2.5并行数

configuredevicetypedisk|stbparallelism2;#打开多少个通道

configuredevicetypedisk|stbclear;

CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;是配置数据库的每次备份的copy数量,oracle的每一次备份都可以有多份完全相同的拷贝。

2.2.6其他参数

CONFIGUREENCRYPTIONFORDATABASEOFF;#default加密为ON

CONFIGUREENCRYPTIONALGORITHM'AES128';#default加密的算法

CONFIGUREARCHIVELOGDELETIONPOLICYTONONE;#default默认不进行归档日志的删除。

CONFIGUREEXCLUDEFORTABLESPACEEXAMPLE;==》排除不需要备份的表空间。

2.3备份命令

改为归档模式:

SQL>shutdownimmediate;

SQL>startupmount;

SQL>alterdatabasearchivelog;

SQL>alterdatabaseopen;

SQL>altersystemsetlog_archive_dest_1="LOCATION=/u01/app/oracle/archivelog/mandatory";

rman常见的两种备份:

1、copy物理备份,源文件和备份文件是一样大的

2、backup逻辑物理备份,是基于块级别的备份,备份的是已经使用过的块儿,主要备份的是热点块。

RMAN可以将对象备份为两种格式:

映像副本(copy)或备份集(backup)。

映像副本备份与原始文件完全相同。

备份集是一种只能由RMAN操纵的专用格式,并且可以被写至磁盘和磁带上。

通常,如果是映像副本的话,还原与恢复更为快速;但是,映像副本只能进入磁盘,并且不可能一直保持必要的磁盘资源可用。

同时,一个备份集总是小于一个映像副本,数据文件的备份集永远不会包含未被使用的数据块,而映像副本则必须包含完整的文件,通过使用RMAN的压缩功能,我们还可以更多地利用减少备份集所需的空间。

生成增量备份时:

RMAN所做的全部工作是比较数据文件块中的SCN号与该数据文件最近一次备份的SCN号,从而确定数据块是否发生变化并且将变化的数据块包含在增量备份中。

显然,增量备份不能应用于控制文件或归档日志备份,而是只能应用于数据文件备份。

0级备份相当于一个完整备份,这个完整备份会包含所有已有的数据文件块。

1级差异备份时默认的增量备份,这个备份只包含最近一次1级累计或差异备份以来被更改的数据块;在没有介入1级备份的情况下只包含最近一次0级备份以来所有被更改的数据块。

1级累计备份则只包含最近一次0级备份以来被更改的数据块儿。

backupdatabase;

基于块级别的备份,自动备份参数文件、控制文件和数据文件(备份的数据文件状态必须是online;)。

该命令默认不备份归档日志。

数据库中不能被备份的唯一部分是联机重做日志文件,这些文件通过复用受到保护。

backupspfile;只备份参数文件

backupcurrentcontrolfile;备份当前正在用是控制文件

backupdatafile4;单独备份某一个数据文件(编号为4的数据文件)

backuptablespaceusers;备份用户表空间(一个表空间最多有1024个数据文件;)

backuparchivelogall;备份归档日志

backuparchivelogalldeleteinput;备份归档日志后将数据库中的归档日志文件删除。

backuparchivelogalldeleteallinput;备份归档日志后将数据库中的归档日志文件删除。

(所有归档日志目录文件)

 

backupfulldatabaseplusarchivelog;进行全库备份并包括归档日志

跳过不想备份的部分:

altertablespaceusersreadonly;

backupdatabaseskipreadonly;(跳过只读的空间)

backupdatabaseskipoffline;(跳过脱机的)

2.4全备份操作

$rmantarget/log/logs/rman.logappendcmdfile=/scripts/rman_scripts.rcv

解释:

log后面跟rman会话输出的日志,cmdfile后面运行的rman命令。

#deletebackup;#删除之前的所有备份。

CONFIGURECONTROLFILEAUTOBACKUPON;

configurebackupoptimizationon;

CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF7DAYS;

#预检查:

run{

allocatechanneld0typedisk;

crosscheckarchivelogall;

crosscheckbackup;

deletenopromptexpiredarchivelogall;

deletenopromptexpiredbackup;

deleteexpiredcopy;

deletenopromptobsolete;

releasechanneld0;

}

#全量备份:

level0是全数据库备份,会备份spfile和controlfile的。

run{

allocatechanneld1typedisk;

backupincrementallevel0database

tag"data_backup_full"

format'/u01/app/oracle/rman/%d_%u.datafile';

releasechanneld1;

}

allocatedchannel:

d1

channeld1:

sid=145devtype=DISK

Startingbackupat04-JUL-14

channeld1:

startingincrementallevel0datafilebackupset

channeld1:

specifyingdatafile(s)inbackupset

inputdatafilefno=00011name=/u01/app/oracle/oradata/racdb1/data_r.dbf

inputdatafilefno=00004name=/u01/app/oracle/oradata/racdb1/users01.dbf

inputdatafilefno=00005name=/u01/app/oracle/oradata/racdb1/cat_data.dbf

inputdatafilefno=00001name=/u01/app/oracle/oradata/racdb1/system01.dbf

inputdatafilefno=00002name=/u01/app/oracle/oradata/racdb1/undotbs01.dbf

inputdatafilefno=00003name=/u01/app/oracle/oradata/racdb1/sysaux01.dbf

inputdatafilefno=00008name=/u01/app/oracle/oradata/racdb1/tbs_rman.dbf

inputdatafilefno=00012name=/u01/app/oracle/oradata/racdb1/ODU.ORA

inputdatafilefno=00009name=/u01/app/oracle/oradata/racdb1/gguser.dbf

inputdatafilefno=00006name=/u01/app/oracle/oradata/racdb1/cat_data2.dbf

inputdatafilefno=00007name=/u01/app/oracle/oradata/racdb1/dog_data.dbf

inputdatafilefno=00010name=/u01/app/oracle/oradata/racdb1/ogg_dt.dbf

channeld1:

startingpiece1at04-JUL-14

channeld1:

finishedpiece1at04-JUL-14

piecehandle=/u01/app/oracle/rman/RACDB1_9rpcib4m.datafiletag=DATA_BACKUP_FULLcomment=NONE

channeld1:

backupsetcomplete,elapsedtime:

00:

08:

06

Finishedbackupat04-JUL-14

StartingControlFileandSPFILEAutobackupat04-JUL-14

piecehandle=/u01/app/oracle/flash_recovery_area/RACDB1/autobackup/2014_07_04/o1_mf_s_852045437_9vdo7zsr_.bkpcomment=NONE

FinishedControlFileandSPFILEAutobackupat04-JUL-14

releasedchannel:

d1

 

#增量备份:

run{

allocatechanneld1typedisk;

backupincrementallevel1database

tag"data_backup_blib"

format'/u01/app/oracle/rman/%d_%u.datafile';

releasechanneld1;

}

allocatedchannel:

d1

channeld1:

sid=145devtype=DISK

Startingbackupat04-JUL-14

channeld1:

startingincrementallevel1datafilebackupset

channeld1:

specifyingdatafile(s)inbackupset

inputdatafilefno=00011name=/u01/app/oracle/oradata/racdb1/data_r.dbf

inputdatafilefno=00004name=/u01/app/oracle/oradata/racdb1/users01.dbf

inputdatafilefno=00005name=/u01/app/oracle/oradata/racdb1/cat_data.dbf

inputdatafilefno=00001name=/u01/app/oracle/oradata/racdb1/system01.dbf

inputdatafilefno=00002name=/u01/app/oracle/oradata/racdb1/undotbs01.dbf

inputdatafilefno=00003name=/u01/app/oracle/oradata/racdb1/sysaux01.dbf

inputdatafilefno=00008name=/u01/app/oracle/oradata/racdb1/tbs_rman.dbf

inputdatafilefno=00012name=/u01/app/oracle/oradata/racdb1/ODU.ORA

inputdatafilefno=00009name=/u01/ap

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 其它

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1