RMAN学习篇.docx

上传人:b****5 文档编号:7227337 上传时间:2023-01-22 格式:DOCX 页数:79 大小:112.72KB
下载 相关 举报
RMAN学习篇.docx_第1页
第1页 / 共79页
RMAN学习篇.docx_第2页
第2页 / 共79页
RMAN学习篇.docx_第3页
第3页 / 共79页
RMAN学习篇.docx_第4页
第4页 / 共79页
RMAN学习篇.docx_第5页
第5页 / 共79页
点击查看更多>>
下载资源
资源描述

RMAN学习篇.docx

《RMAN学习篇.docx》由会员分享,可在线阅读,更多相关《RMAN学习篇.docx(79页珍藏版)》请在冰豆网上搜索。

RMAN学习篇.docx

RMAN学习篇

本资料由君三思所著

本资料由君三思所著1

第一篇进入RMAN3

一、连接本地数据库3

二、连接远程数据库4

第二篇RMAN命令知多少5

一、启动、关闭数据库5

二、执行操作系统命令6

三、执行SQL语句6

四、定义RMAN配置7

五、显示RMAN默认配置8

六、列出备份信息9

七、删除备份9

第三篇RMAN备份演练初级篇10

一、RMAN备份形式10

二、RMAN命令执行方式11

三、对数据库进行全备12

四、备份表空间13

五、备份指定数据文件14

六、备份控制文件14

七、备份归档日志文件15

第四篇RMAN备份演练进阶篇16

一、建立增量备份16

二、建立镜像复制17

三、建立冗余备份17

四、设置RMAN备份的保存策略18

五、备份优化20

第五篇RMAN基础知识补充一21

一、FORMAT字符串替代变量21

二、CONFIGURE配置项介绍22

三、RMAN备份相关的动态性能表24

第六篇实战RMAN备份24

一、编写rman批处理文件25

二、编写dos批处理25

三、设定执行计划26

第七篇RMAN基础知识补充二26

一、RMAN通道26

1、手工分配通道26

2、自动分配通道27

二、RMAN备份类型27

三、增量备份的工作机制27

1、差异备份Differential28

2、累积增量备份Cumulative28

四、备份集概述29

五、RMAN恢复目录(CATALOG)29

第八篇演练RMAN恢复30

一、对数据库进行完全介质恢复30

二、恢复表空间31

三、恢复数据文件31

四、示例:

归档模式下,假设某数据文件丢失,恢复该数据文件。

31

第九篇实战rman恢复

(1)丢失控制文件的恢复34

第十篇实战rman恢复

(2)恢复到异机37

初始设定:

37

准备工作:

37

步骤:

38

1.首先创建源库的全库备份,38

2.在目标服务器配置oracle_sid。

38

3.连接到该sid38

4.先恢复初始化参数文件38

5.恢复控制文件并进入到加载状态39

6.修复数据库40

7.恢复数据库40

8.然后通过openresetlogs方式打开数据库41

第十一篇RMAN笔记之综述41

第十二篇Duplicate复制数据库之基本概述44

RMAN如何创建数据库副本。

44

RMAN数据库副本:

可选操作45

第十三篇Duplicate复制数据库之创建辅助实例46

一、创建辅助实例的密码文件(CreateanOraclePasswordFilefortheAuxiliaryInstance)46

二、连接到实例(EstablishOracleNetConnectivitytotheAuxiliaryInstance)46

三、创建辅助实例的初始化参数文件(CreateanInitializationParameterFilefortheAuxiliaryInstance)47

1.首先创建本地初始化参数文件47

2.通过CREATESPFILE命令创建服务器端初始化参数文件48

四、启动辅助实例(StarttheAuxiliaryInstance)48

五、Mount或open目标数据库(MountorOpentheTargetDatabase)48

六、确认拥有必备的备份(MakeSureYouHavetheNecessaryBackupsandArchivedRedoLogs)49

七、分配辅助通道(AllocateAuxiliaryChannelsifAutomaticChannelsAreNotConfigured)49

第十四篇Duplicate复制数据库之不同环境下的复制流程50

一、远程站点相同路径结构的复制(DuplicatingaDatabaseonaRemoteHostwiththeSameDirectoryStructure)50

二、远程站点不同路径结构的复制(DuplicatingaDatabaseonaRemoteHostwithaDifferentDirectoryStructure)51

1、在初始化参数中重命名复制文件和日志文件,复制步骤如下:

51

2、在Duplicate命令中重命名数据、日志文件,复制步骤如下:

51

3、使用SETNEWNAME命令重命名数据文件,复制步骤如下:

52

4、使用CONFIGUREAUXNAME命令重命名数据文件,复制步骤如下:

52

三、本地创建(CreatingaDuplicateDatabaseontheLocalHost)53

第十五篇Duplicate复制数据库之实战53

一、连接并启动目标数据库(至少要启动到mount状态)53

二、连接并启动辅助实例到nomount状态54

三、RMAN连接到目标数据库和辅助实例。

54

四、首先确认目标库存在可用备份。

54

五、万事俱备,只欠Duplicate执行;55

六、连接副本数据库看看59

第十六篇Duplicate复制数据库之附录60

一、跳过表空间(SkippingTablespacesinRMANDUPLICATEDATABASE)60

二、重命名副本数据库文件(RenamingDatabaseFilesinRMANDuplicateDatabase)61

1、创建过程中重命名控制文件61

2、创建过程中重命名在线日志文件61

3、创建过程中重命名数据文件61

4、跳过文件名检测NOFILENAMECHECK61

5、创建过程中重命名临时文件62

三、同步副本数据库(UsingDUPLICATEDATABASEtoResynchronizeaDuplicateDatabase)62

第一篇进入RMAN

一、连接本地数据库

  通过rman连接本地数据库非常简单,以windows平台为例,进入到命令提示符界面:

C:

\DocumentsandSettings\Administrator>setoracle_sid=jssweb

C:

\DocumentsandSettings\Administrator>rmantarget/

恢复管理器:

版本9.2.0.1.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

连接到目标数据库:

JSSWEB(DBID=3391142503)

RMAN>

注:

如果本地库只有一个实例,则不需要指定oracle_sid。

Rman会自动连接到默认实例。

  当然,你也可以先启动rman,然后再通过connect来连接目标数据库,如下:

C:

\DocumentsandSettings\Administrator>setoracle_sid=jssweb

C:

\DocumentsandSettings\Administrator>rman

恢复管理器:

版本9.2.0.1.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

RMAN>connecttarget/

连接到目标数据库:

JSSWEB(DBID=3391142503)

RMAN>

二、连接远程数据库

  如果要连接的目标数据库是一个远程数据库,那么必须在建立连接时指定一个有效的网络服务名,同时你本地的tnsname.ora文件中也必须已经建立了该网络服务名的正确配置。

示例如下:

C:

\DocumentsandSettings\Administrator>rmantargetsys/change_on_install@testdb

恢复管理器:

版本9.2.0.1.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

连接到目标数据库:

TESTDB(DBID=2220262593)

RMAN>

在启动rman时可以指定日志输出,之前的示例中均没有指定,rman就将执行结果直接打印到屏幕了,如果我们以后写了一堆超长的rman批处理放在后台执行,可能会希望能够把执行日志记录下来备查,这个时候日志输出功能就用上了。

这个功能也非常简单,如下:

C:

\DocumentsandSettings\Administrator>rmantarget/logd:

\logs\rman_log.txt

  rman会将执行的结果直接输出到指定的d:

\logs\rman_log.txt文件,一旦脚本放入后台执行出现问题,我们可以根据rman_log文件来辅助分析。

第二篇RMAN命令知多少

一、启动、关闭数据库

  在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样。

当然,在执行之前,你需要先连接到目标数据库,如例:

C:

\DocumentsandSettings\Administrator>rmantarget/

恢复管理器:

版本9.2.0.1.0-Production

Copyright(c)1995,2002,OracleCorporation.Allrightsreserved.

连接到目标数据库:

JSSWEB(DBID=3391142503)

RMAN>shutdownimmediate

正在使用目标数据库控制文件替代恢复目录

数据库已关闭

数据库已卸载

Oracle例程已关闭

RMAN>startup

已连接到目标数据库(未启动)

Oracle例程已启动

数据库已加载

数据库已打开

系统全局区域总计143727516字节

FixedSize453532字节

VariableSize109051904字节

DatabaseBuffers33554432字节

RedoBuffers667648字节

RMAN>

  当然,你也可以执行startupmount,然后再利用alterdatabaseopen命令打开数据库以及shutdownnormal,shutdownabort等。

总之启动和关闭的命令跟SQL环境下相比就仨字儿:

完全一模一样。

二、执行操作系统命令

Rman支持通过执行host命令暂时退出rman的命令提示符而进入到操作系统的命令环境,如下例:

RMAN>host;

MicrosoftWindows[版本5.2.3790]

(C)版权所有1985-2003MicrosoftCorp.

C:

\DocumentsandSettings\Administrator>cd\

C:

\>exit

主机命令完成

RMAN>

执行完系统命令后可以再通过执行exit退出到rman命令提示符下。

三、执行SQL语句

在rman中执行sql语句稍嫌复杂。

在RMAN的命令提示符后输入SQL命令,然后在一对单引号(双引号亦可)中输入要执行的SQL语句,例如:

RMAN>SQL¨ALTERSYSTEMARCHIVELOGALL¨;

需要注意的一点是,rman中的sql环境不能执行SELECT语句,或者说执行不报错,但你也看不到结果。

其实我们完全可以通过更取巧的方式来实现更强大的SQL操作,比如利用第二项介绍的内容,如下:

RMAN>host;

MicrosoftWindows[版本5.2.3790]

(C)版权所有1985-2003MicrosoftCorp.

C:

\DocumentsandSettings\Administrator>sqlplus/nolog

SQL*Plus:

Release9.2.0.1.0-Productionon星期四6月2817:

40:

242007

Copyright(c)1982,2002,OracleCorporation.Allrightsreserved.

SQL>conn/assysdba

已连接。

SQL>selectsysdatefromdual;

SYSDATE

----------

28-6月-07

SQL>exit

从Oracle9iEnterpriseEditionRelease9.2.0.1.0-Production

WiththePartitioning,OLAPandOracleDataMiningoptions

JServerRelease9.2.0.1.0-Production中断开

C:

\DocumentsandSettings\Administrator>exit

主机命令完成

RMAN>

萝卜青菜各有所爱,大家是爱萝卜还是爱青菜啊,爱萝卜的请选第一种,爱青菜的请选第二种。

我爱吃肉,我要找第三种出来~~~~~

四、定义RMAN配置

RMAN中具有一系列的默认配置,这些配置决定了备份和恢复时的一些选项(此节内容枯燥,眼神不好的同学请自觉跳过),比如:

∙自动分配通道的配置;

∙备份保留时间的配置;

∙备份集大小的限制;

∙启用或禁用备份优化功能;

∙镜像复制的备份数量;

∙是否将某个表空间排队在备份之外。

修改配置是通过CONFIGURE命令,具体用法非常简单,但由于可供configure的配置非常之多,这里不做详细介绍,在后续实际演练章节中会有体现。

当然,有心的朋友也可以通过google搜索一下,更有耐心的新友就等着看俺写的外传。

五、显示RMAN默认配置

Rman中可以利用show命令来显示当前的配置参数。

例如,通过SHOW ALL显示当前所有的配置。

RMAN>showall;

RMAN配置参数为:

CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF3DAYS;

CONFIGUREBACKUPOPTIMIZATIONOFF;#default

CONFIGUREDEFAULTDEVICETYPETODISK;#default

CONFIGURECONTROLFILEAUTOBACKUPON;

CONFIGURECONTROLFILEAUTOBACKUPFORMATFORDEVICETYPEDISKTO¨d:

/backup/%F¨;

CONFIGUREDEVICETYPEDISKPARALLELISM1;#default

CONFIGUREDATAFILEBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREARCHIVELOGBACKUPCOPIESFORDEVICETYPEDISKTO1;#default

CONFIGUREMAXSETSIZETOUNLIMITED;#default

CONFIGURESNAPSHOTCONTROLFILENAMETO¨F:

\ORAHOME1\DATABASE\SNCFJSSWEB.ORA¨;#

default

RMAN>

注:

配置项后面跟了#default的表示该项仍是初始配置,未被修改过。

该命令使用也相当灵活,其后跟上不同的类型的配置参数,即可以显示不同类型的配置,如:

SHOWCHANNEL;

SHOWDEVICETYPE;

SHOWDEFAULTDEVICETYPE;

六、列出备份信息

  LIST命令用来查看通过RMAN生成的备份信息,照我看来,这个应用应该会非常少,大家了解即可(引申一下,不仅是list,俺基本认为备份这种操作,脚本一次定型,100年不许变,哪有DBA天天干备份恢复的,如果真是这样,那您这库。

)。

例如:

列出数据库中所有文件的备份信息:

RMAN>LISTBACKUPOFDATABASE;

列出指定表空间的备份信息:

RMAN>LISTCOPYOFTABLESPACE¨SYSTEM¨;

列出指定数据文件的备份信息:

RMAN>LISTBACKUPOFDATAFILE¨F:

\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA¨;

七、删除备份

  用于删除RMAN备份记录及相应的物理文件。

当使用RMAN执行备份操作时,会在RMAN资料库中生成RMAN备份记录,并且RMAN备份记录被存放在目标数据库的控制文件中,如果配置了恢复目录,那么该备份记录也会被存放到恢复目录中。

1、删除陈旧备份

当使用RMAN执行备份操作时,RMAN会根据备份冗余策略确定陈旧备份。

RMAN>deleteobsolete;

2、删除EXPIRED备份

执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。

为了删除相应的备份记录,可以执行deleteexpiredbackup命令。

RMAN>deleteexpiredbackup;

3、删除EXPIRED副本

RMAN>deleteexpiredcopy;

4、删除特定备份集

RMAN>deletebackupset19;

5、删除特定备份片

RMAN>deletebackuppiece¨d:

\backup\DEMO_19.bak¨;

6、删除所有备份集

RMAN>deletebackup;

7、删除特定映像副本

RMAN>deletedatafilecopy¨d:

\backup\DEMO_19.bak¨;

8、删除所有映像副本

RMAN>deletecopy;

9、在备份后删除输入对象

RMAN>deletearchivelogalldeleteinput;

RMAN>deletebackupset22format=¨¨d:

\backup\%u.bak¨¨deleteinput;

第三篇RMAN备份演练初级篇

一、RMAN备份形式

  1、镜像复制(ImageCopies)

  镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系统命令。

所以镜像复制的方式体现不出RMAN的优势,也并非我们讨论的重点,大家了解一下即可(啥?

想知道镜像复制咋用?

卡,问村长去~~~~~)。

  2、备份集(BackupSets)

  备份集是通过RMAN创建的逻辑备份对象。

一个备份集中可以包含多个数据文件、控制文件或归档文件。

备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。

二、RMAN命令执行方式

  在进入演练之前,大家还有必要了解运行rman命令的方式,就目前已知的情况,共有4种运行方式。

  1、单个执行(没啥说的,之前的示例都是这种方式)

RMAN>backupdatabase;

  2、批处理(呵呵,跳票的补上)

RMAN>RUN{

.......................

.......................

}

  批处理方式实质是将原来单个执行的命令组合到一起,并放在run{}之间,这种方式最大的好处是所有在run中的命令被视为一个作业,如果作业中任何一条命令执行失败,则整个命令停止执行,即失败命令后的其它命令都不会再被执行。

这种方式是最常使用的方式,特别对于后台执行。

  3、运行脚本(又能细分为几种方式如下:

C:

\>rmanTARGET/@backup_db.rman

RMAN>@backup_db.rman

RMAN>RUN{@backup_db.rman}

  运行存储在恢复目录中的脚本(需要首先为rman创建恢复目录)

RMAN>RUN{EXECUTESCRIPTbackup_whole_db};

  看看,够灵活吧。

  4、操作系统脚本(linux,windows环境下小有差异,但只是操作系统命令的不同)

C:

\>rmancmdfile=backup_db.rman

  明眼人看的出来,后两种其实是前面两种加上操作系统命令的综合应用。

三、对数据库进行全备

  1、使用backupdatabase命令执行备份

RMAN>BACKUPDATABASE;

  执行上述命令后将对目标数据库中的所有数据文件进行备份,由于没有显式指定FORMAT参数,rman会自动为每个备份片段命名,并保存在ORACLE_HOME/database目录下。

  当然,也可以通过显式指定format参数来自定义备份片段的命令规则,比如:

RMAN>BACKUPDATABASEFORMAT¨D:

\BACKUP\%U¨;

  (关于%U的格式说明,请参考本篇外传。

Ooo,外传好像还没写,没关系没关系,大家表着急,我保证大家在有生之年一定等的到的。

  2、通过list命令查看刚刚创建的备份信息:

RMAN>listbackupofdatabase;

正在使用目标数据库控制文件替代恢复目录

备份集列表

===================

BS关键字类型LV大小设备类型经过时间完成时间

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

11Incr0827MDISK00:

01:

3026-6月-07

BP关键字:

11状态:

AVAILABLE标记:

TAG20070629T150701

段名:

D:

\BACKUP\0CILGG8L_1_1

备份集11中的数据文件列表

文件LV类型CkpSCNCkp时间名称

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

10Incr523357789626-6

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

当前位置:首页 > 高等教育 > 研究生入学考试

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

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