当前位置:文档之家› RMAN备份与恢复

RMAN备份与恢复

RMAN备份与恢复
RMAN备份与恢复

目录

第一篇进入RMAN (2)

1.1 连接本地数据库 (2)

1.2 连接远程数据库 (2)

第二篇RMAN常用命令 (2)

2.1 启动、关闭数据库 (2)

2.2 执行操作系统命令 (3)

2.3 执行SQL语句 (3)

2.4 显示RMAN默认配置 (3)

2.5 列出备份信息 (4)

2.6 删除备份 (4)

第三篇RMAN备份基础 (5)

3.1 RMAN备份形式 (5)

3.2 RMAN命令执行方式 (6)

3.3 对数据库进行全备 (6)

3.4 备份表空间 (7)

3.5备份指定数据文件 (10)

3.6 备份控制文件 (11)

3.7 备份归档日志文件 (11)

3.8 FORMAT字符串替代变量 (13)

3.9 CONFIGURE配置项介绍 (14)

3.10 RMAN备份相关的动态性能表 (16)

第四篇RMAN备份进阶 (17)

4.1 建立增量备份 (17)

4.2 建立镜像复制 (19)

4.3 建立冗余备份 (19)

4.4 设置RMAN备份的保存策略 (19)

4.5 备份优化 (20)

第五篇RMAN备份实例 (20)

5.1 编写rman批处理文件 (21)

5.2 编写dos批处理 (21)

5.3 设定执行计划 (25)

第六篇RMAN恢复实例 (25)

6.1 对数据库进行完全介质恢复 (25)

6.2 恢复表空间 (26)

6.3 恢复数据文件 (26)

6.4 丢失控制文件的恢复 (26)

第七篇实例:RMAN 备份shell脚本........................................................ 错误!未定义书签。第八篇恢复目录 (30)

7.1 创建恢复目录 (30)

7.2 注册目标数据库到恢复目录 (30)

7.3 查看RMAN恢复目录的数据 (31)

7.4 使用存储脚步 (31)

7.5向恢复目录中添加rman备份 (32)

7.6 恢复目录管理 (32)

第一篇进入RMAN

1.1 连接本地数据库

rman target /

rman

connect target /

1.2 连接远程数据库

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

rman target fwynag/fwyang@orcl

第二篇RMAN常用命令

2.1 启动、关闭数据库

在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样。当然,在执行之前,你需要先连接到目标数据库。

2.2 执行操作系统命令

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

RMAN> host;

Microsoft Windows [版本5.2.3790]

(C) 版权所有1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>cd \

C:\>exit

主机命令完成

RMAN>

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

2.3 执行SQL语句

RMAN> host;

Microsoft Windows [版本5.2.3790]

(C) 版权所有1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrator>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on 星期四6月28 17:40:24 2007

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn / as sysdba

已连接。

SQL> select sysdate from dual;

SYSDATE

----------

28-6月-07

SQL> exit

从Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production中断开

C:\Documents and Settings\Administrator>exit

主机命令完成

RMAN>

2.4 显示RMAN默认配置

Rman中可以利用show命令来显示当前的配置参数。例如,通过SHOW ALL显示当前所有的配置。

RMAN> show all;

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1; # default

CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default

CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO

'F:\ORAHOME1\DATABASE\SNCFJSSWEB.ORA'; #

default

RMAN>

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

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

SHOW DEVICE TYPE;

SHOW DEFAULT DEVICE TYPE;

2.5 列出备份信息

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

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

RMAN>LIST BACKUP OF DATABASE;

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

RMAN>LIST BACKUP OF TABLESPACE 'SYSTEM';

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

RMAN>LIST BACKUP OF DATAFILE 'F:\ORAHOME1\ORADATA\JSSWEB\JWEB.ORA';

2.6 删除备份

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

检测归档日志

RMAN> crosscheck archivelog all; --命令的作用是将磁盘或者磁带上不存在的日志标记为expired

RMAN> report obsolete;--报告过期备份

1、删除陈旧备份

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

RMAN> delete obsolete;

2、删除EXPIRED备份

执行crosscheck命令核对备份集,那么会将该备份集标记为EXPIRED状态。为了删除相应的备份记录,可以执行delete expired backup命令。

RMAN> delete expired backup;

3、删除EXPIRED副本

RMAN> delete expired copy;

4、删除特定备份集

RMAN> delete backupset 19;

5、删除特定备份片

RMAN> delete backuppiece 'd:\backup\DEMO_19.bak';

6、删除所有备份集

RMAN> delete backup;

7、删除特定映像副本

RMAN> delete datafilecopy 'd:\backup\DEMO_19.bak';

8、删除所有映像副本

RMAN> delete copy;

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

RMAN> delete archivelog all delete input;

RMAN> delete backupset 22 format = ''d:\backup\%u.bak'' delete input;

第三篇RMAN备份基础

3.1 RMAN备份形式

1、镜像复制(Image Copies)

镜像复制实际上就是数据文件、控制文件或归档文件的复制,与用户通过操作系统命令建立的文件复制实质一样,只不过RMAN是利用目标数据库中的服务进程来完成文件复制,而用户则是用操作系统命令。所以镜像复制的方式体现不出RMAN的优势,也并非我们讨论的重点。

2、备份集(Backup Sets)

备份集是通过RMAN创建的逻辑备份对象。一个备份集中可以包含多个数据文件、控制文件或归档文件。备份集在物理上是由多个备份片段组成,每个备份片段是一个操作系统文件。

3.2 RMAN命令执行方式

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

1、单个执行

RMAN>backup database;

2、批处理

RMAN>RUN{

}

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

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

C:\>rman TARGET / @backup_db.rman

RMAN> @backup_db.rman

RMAN> RUN { @backup_db.rman }

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

RMAN> RUN { EXECUTE SCRIPT backup_whole_db };

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

C:\>rman cmdfile=backup_db.rman

后两种其实是前面两种加上操作系统命令的综合应用。

3.3 对数据库进行全备

1、使用backup database命令执行备份

RMAN> BACKUP DATABASE;

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

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

RMAN> BACKUP DATABASE FORMAT 'D:\BACKUP\%U';

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

RMAN> list backup of database;

3.4 备份表空间

只要实例启动并处于加载状态,不论数据库是否打开,都可以在rman中对表空间进行备份,

而且不需要像手动备份那样先'ALTER TABLESPACE ... BEGIN BACKUP'。例如:

RMAN> backup tablespace users;

我们再通过LIST BACKUP 查看一下备份:

RMAN> LIST BACKUP OF TABLESPACE USERS;

发现有两份备份片段,删除其中一个备份(删除的方法非常多,下例使用删除backupset)。RMAN> DELETE BACKUPSET 3;

3.5备份指定数据文件

首先可以先通过数据字典DBA_DATA_FILES查询出表空间对应的数据文件及其序号,例如:select file_name,file_id,tablespace_name from dba_data_files

然后再通过BACKUP DATAFILE备份指定序号的数据文件,例如:

RMAN> BACKUP DATAFILE n;

如果要查看指定数据文件的备份,可以用:

RMAN> LIST BACKUP OF DATAFILE n;

注:n=指定的的数据文件序号,如果需要备份的数据文件有多个,n=多个序号,中间以逗号分隔即可。

3.6 备份控制文件

控制文件在ORACLE中的重要性是毋庸置疑的,你看,连RMAN都给予特殊的照顾,在RMAN 中备份控制文件的方式是最多的。

1.最简单的方式,通过CONFIGURE命令将CONTROLFILE AUTOBACKUP置为ON。

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

然后你再通过rman做任何备份操作的同时,都会自动对控制文件做备份。

2.对编号为1的数据文件,即SYSTEM表空间的数据文件做备份时,RMAN也会自动对控制文件做备份。

3.手动执行备份命令。

RMAN> BACKUP CURRENT CONTROLFILE;

4.执行BACKUP时指定INCLUDE CURRENT CONTROLFILE参数,例如:

RMAN> BACKUP DATABASE INCLUDE CURRENT CONTROLFILE;

如果要查看备份的控制文件,可以通过:

RMAN> LIST BACKUP OF CONTROLFILE;

3.7 备份归档日志文件

归档日志对于数据库介质恢复相当关键,其虽然不像控制文件那样一旦损坏则数据库马上崩溃但重要性丝毫不减。归档日志文件能确保我们将数据库恢复到备份之前的任意时刻。在RMAN中备份归档日志有两种方式:

1、利用BACKUP ARCHIVELOG命令备份

RMAN> BACKUP ARCHIVELOG ALL;

2、在BACKUP过程中利用PLUS ARCHIVELOG参数备份,例如:

RMAN> BACKUP DATABASE PLUS ARCHIVELOG;

则在备份数据库的同时自动对所有归档文件进行备份。这种方式与上种有什么区别呢,区别太明显了,BACKUP.....PLUS ARCHIVELOG命令在备份过程中会依次执行下列步骤:

1>.运行ALTER SYSTEM ARCHIVE LOG CURRENT语句对当前redolog进行归档。

2>.执行BACKUP ARCHIVELOG ALL命令备份所有已归档日志。

3>.执行BACKUP命令对指定项进行备份。

4>.再次运行ALTER SYSTEM ARCHIVE LOG CURRENT对当前redolog归档。

5>.对新生成的尚未备份的归档文件进行备份。

在完成归档日志文件备份后,我们通过需要删除已备份过的归档文件(归档文件记录下了数据库进行过的所有操作,如果您的数据库操作频繁而且量大,那归档文件大小也是相当恐怖,备份后删除释放存储空间是相当有必要地)。RMAN提供了DELETE ALL INPUT参数,加在BACKUP命令后,则会在完成备份后自动删除归档目录中已备份的归档日志。

完成备份之后,可以通过下列命令查看已备份的归档日志片段:

RMAN> LIST BACKUP OF ARCHIVELOG ALL;

3.8 FORMAT字符串替代变量

使用FORMAT参数时可使用的各种替换变量,如下:

%c:备份片的拷贝数(从1开始编号);

%d:数据库名称;

%D:位于该月中的天数(DD);

%M:位于该年中的月份(MM);

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

%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8;

%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。利用%u可以为每个备份集生成一个唯一的名称;

%p:表示备份集中备份片段的编号,从1 开始编号;

%U:是%u_%p_%c的简写形式,利用它可以为每一个备份片段(即磁盘文件)生成一个唯一名称,这是最常用的命名方式;

%s:备份集的号;

%t:备份集时间戳;

%T:年月日格式(YYYYMMDD);s

注:如果在BACKUP命令中没有指定FORMAT选项,则RMAN默认使用%U为备份片段命名。

3.9 CONFIGURE配置项介绍

C:\Users\yfw>set oracle_sid=orcl

C:\Users\yfw>rman target /

恢复管理器: Release 10.2.0.1.0 - Production on 星期一5月12 08:40:49 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: ORCL (DBID=1374635918)

RMAN> show all;

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

RMAN 配置参数为:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default

CONFIGURE ENCRYPTION FOR DATABASE OFF; # default

CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO

'D:\ORACLE\PRODUCT\10.2.0\DB_2\DATABASE\SNCFORCL.ORA'; # default

RMAN>

1、CONFIGURE RETENTION POLICY配置备份保留策略

基于时间:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;

基于冗余数量:

CONFIGURE RETENTION POLICY TO REDUNDANCY n;

也可以取消备份保留策略:

CONFIGURE RETENTION POLICY TO NONE;

2、CONFIGURE BACKUP OPTIMIZATION配置备份优化

备份优化,包括OFF和ON两个状态

打开备份优化:

CONFIGURE BACKUP OPTIMIZATION ON;

关闭备份优化:

CONFIGURE BACKUP OPTIMIZATION ON;

3、CONFIGURE DEFAULT DEVICE TYPE 配置IO设备类型

RMAN支持的IO设备类型有两种:磁盘(DISK)和磁带(SBT),默认情况下为磁盘。

使用磁盘设备:

CONFIGURE DEFAULT DEVICE TYPE TO DISK;

使用磁带设置:

CONFIGURE DEFAULT DEVICE TYPE TO SBT;

在这里需要注意的一点是:如果IO设备发生变化,相关配置项也需要修改。例如:RMAN> CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

4、CONFIGURE CONTROLFILE AUTOBACKUP配置控制文件自动备份

是否自动备份,包含两个状态:OFF和ON

打开自动备份

CONFIGURE CONTROLFILE AUTOBACKUP ON

禁止自动备份

CONFIGURE CONTROLFILE AUTOBACKUP OFF

同时可以通过如下配置指定备份的控制格式,路径。例如:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'd:/backup/%F';

在备份期间,将产生一个控制文件的快照,用于控制文件的读一致性,这个快照可以通过如下配置:

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:/BACKUP/SNCFJSSWEB.ORA';

5、CONFIGURE DEVICE TYPE 设置并行备份

RMAN支持并行备份与恢复,也可以在配置中指定默认的并行程度。例如:CONFIGURE DEVICE TYPE DISK PARALLELISM 2;

指定在以后的备份与恢复中,将采用并行度为2,同时开启2个通道进行备份与恢复,当然也可以在run中指定通道来决定备份与恢复的并行程度。

并行的数目决定了开启通道的个数。如果指定了通道配置,将采用指定的通道,如果没有指定通道,将采用默认通道配置。有点儿绕是吧,我来给你白话一把。

默认情况下,自动分配通道的并行度为1,如果你通过设置PARALLELISM设置了并行通道为2,那么在run块中,如果你没有单独通过ALLOCATE CHANNEL命令指定通道,它会默认使用2条并行通道,如果你在run命令块中指定了数个ALLOCATE CHANNEL,那么rman在执行备份命令时会以你设置的channel为准,而不管configure中配置了多少个并行通道。需要注意的一点是,在backup命令中有一个FILESPERSET参数,该参数是指rman建立的每个备份集中所能包含的备份片段(即磁盘文件)的最大数,该参数默认值为64,如果在执行backup 命令时没有指定该参数值,那么rman会仅使用第一个通道来执行备份,其它通道将处于空闲状态。关于通道数与FILESPERSET值之间也有一个大小关系,逻辑稍显复杂这些就不多废话了,总之一条,filesperset值不要小于你设定的通道数。

6、CONFIGURE DATAFILE BACKUP COPIES 设置备份文件冗余度

7、CONFIGURE MAXSETSIZE 配置备份集的最大尺寸

该配置限制通道上备份集的最大尺寸。单位支持bytes,K,M,G。默认值是unlimited。

3.10 RMAN备份相关的动态性能表

1、V$ARCHIVED_LOG:本视图包含了所有归档重做日志文件的创建情况,备份情况以及其他信息。

2、V$BACKUP_CORRUPTION:这个视图显示了RMAN在哪些备份集中发现了损坏的数据坏。在你使用BACKUP VALIDATE命令对备份集进行检查时如果发现了损坏的数据块,RMAN将在这个视图中写入记录。

3、V$COPY_CORRUPTIO:本视图显示了哪些镜像复制备份文件已经被损坏。

4、V$BACKUP_DATAFILE:本视图通常用来获取每个数据文件中非空白数据块的数量,从而帮助你创建出大小基本相等的备份集。另外,在视图中也包含了数据文件中损坏的数据块的信息。

5、V$BACKUP_REDOLOG:本视图显示了在现有的备份集中饮食有哪些归档重做日志文件。

6、V$BACKUP_SET:本视图显示了已经创建的备份集的信息。

7、V$BACKUP_PIECT:本视图显示了已经创建的备份片段的信息。

可以通过如下SQL语句获得正在进行的镜像复制操作的状态信息:

SELECT SID,

SERIAL#,

CONTEXT,

SOFAR,

TOTALWORK,

ROUND(SOFAR / TOTALWORK * 100, 2) "% Complete"

FROM V$SESSION_LONGOPS

WHERE OPNAME LIKE'RMAN:%'

AND OPNAME NOT LIKE'RMAN:aggregate%'

通过如下SQL获得rman用来完成备份操作的服务进程的SID与SPID信息:

SELECT SID, SPID, CLIENT_INFO

FROM V$PROCESS P, V$SESSION S

WHERE P.ADDR = S.PADDR

AND CLIENT_INFO LIKE'%id=rman%'

第四篇RMAN备份进阶

前篇介绍了通过rman进行各种备份,进阶篇则主要是rman的一些功能扩展和增加功能,利用前篇你已经完全可以完成数据库的备份,而通过本篇你可以更好更方便的完成数据库的备份。

4.1 建立增量备份

如果数据库运行于不归档模式下,那么你只能在数据库干净关闭的情况下(以NORMAL、IMMEDIATE、TRANSACTIONAL方式关闭)才能进行一致性的增量备份,如果数据库运行于归档模式下,那即可以在数据库关闭状态进行,也可以在数据库打开状态进行备份。再次说明了打开归档模式的优势,归档日志也就是多占些磁盘空间,好吧不是一些是很多,可是也相当于又给数据库加了层保险啊。

Oracle中,增量备份时分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量备份是后面级别的增量备份的基础,0级备份实际上就是一个完全备份,与普通的完全备份唯一的不同点是0级备份可以作为其他级别增量备份的基础,而普通的完全备份是不能的。从级别1开始,Oracle的增量备份分为差异增量备份和积累增量备份两种,其中差异增量备份备份的是自上一次同级别的差异备份或者是上一次更高级别的备份完成之后的数据库发生改变的数据块;而积累增量备份则是备份的自上一次上一级增量备份完成以来数据库发生改变的数据块。

差异备份

积累备份

建立增量备份也是相当简单,实质就是一个参数INCREMENTAL LEVEL=n,在执行BACKUP命令时加上即可,例如,建立一个增量级别0的全库备份:

RMAN> BACKUP INCREMENTAL LEVEL=0 DATABASE;

再例如,建立一个增量级别1的users01.dbf数据文件备份

RMAN> BACKUP INCREMENTAL LEVEL=1 TABLESPACE SYSTEM DATAFILE

'F:\ORAHOME1\ORADATA\JSSWEB\USERS01.DBF';

注:Rman默认创建的增量备份是Differential方式,如果要建立Cumulative方式的增量备份,在执行BACKUP命令时显式指定即可,例如:

RMAN> BACKUP INCREMENTAL LEVEL=2 CUMULATIVE DATABASE;

4.2 建立镜像复制

首先大家需要明了这个概念,rman中的镜像复制实质与通过操作系统copy命令备份相同,甚至连命令的格式都相似,只不过直接应用操作系统的copy命令复制数据文件时,只是文件拷贝,而rman的copy则能够在复制的同时,验证数据的有效性。

个人认为rman中的镜像复制应用有限,而且也体现不出rman的优势,这里就不多做介绍了。

4.3 建立冗余备份

RMAN提供了一种更谨慎的备份策略:Duplexed方式备份,其实质即是在生成备份集的同时,向指定位置生成指定份数(最大不超过4份)的备份集复制,以避免在灾难性事故时数据库损坏和备份丢失的情况下导致完全崩溃,提高备份可用性。RMAN中提供了三种方式实现Duplexed方式备份:

1、在RMAN中执行BACKUP命令时显式指定COPIES参数。例如:

RMAN> BACKUP COPIES 3 DATABASE;

上述命令将会在全库备份的同时,自动生成当前备份集的2份拷贝到默认备份目录。

2、在RUN{}命令块中利用SET BACKUP COPIES命令为该命令块中所有的BACKUP命令设置Duplexed方式,例如:

RMAN> RUN{

2>SET BACKUP COPIES 2;

3>BACKUP DEVICE TYPE DISK FORMAT 'D:\BACKUP1\%U','D:\BACKUP2\%U'

4>TABLESPACE USERS,SALES;

5>}

上述命令将生成两份备份集,分别存储到d:\backup1和d:\backup2目录。

3、通过CONFIGURE ..... BACKUP COPIES命令设置预定义的备份Duplexed方式。CONFIGURE ... BACKUP COPIES命令可以为指定的设备类型设置默认的备份拷贝数量。这个配置仅适用于数据文件与归档重做日志文件和备份,并且,只有在使用自动分配的通道时才能够使用CONFIGURE ... BACKUP COPIES命令设置的配置。例如:

RMAN> CONFIGURE DEFAULT DEVICE TYPE TO DISK;

RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;

RMAN> CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE disk TO 2;

上述命令将disk设置上数据文件与归档文件的拷备数量设置为2,当再执行BACKUP DATABASE备份时,即会自动生成2份数据文件的备份集。

4.4 设置RMAN备份的保存策略

RMAN中提供了两种备份保留策略:基于时间,和基于冗余数量

为RMAN设置了备份保留策略之后,RMAN会自动判断哪些备份集或镜像复制文件不必再保留。这些备份文件将会被标记为“废弃(Obsolete)”,可以通过REPORT OBSOLETE命令查看当前处于废弃状态的备份文件,或者通过DELETE OBSOLETE命令删除这些废弃的备份。例如:RMAN> report obsolete;

RMAN> delete obsolete;

在执行删除命令时有两点需要了解:

如果被判断为废弃的备份是一个单独数据文件的镜像复制,那么在执行DELETE命令时将直接删除这个镜像复制文件。

如果被判断为废弃的备份是一个备份集中的一部分,则必须等到整个备份集中所有其它文件都被废弃之后,才能删除这个备份集。

基于冗余数量的保留策略:RMAN> CONFIGURE RETENTION POLICY TO REDUNDANCY n;

基于时间的保留策略:RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF n DAYS;

取消备份保留策略:RMAN> CONFIGURE RETENTION POLICY TO NONE;

更改会默认值:RMAN> CONFIGURE RETENTION POLICY CLEAR;

4.5 备份优化

RMAN中的备份优化(Backup Optimization)是指在备份过程中,如果满足特定条件,RMAN将自动跳过某些文件而不将它们包含在备份集中以节省时间和空间。通常必须满足如下几个条件的情况下,才能够启用备份优化的功能:

CONFIGURE BACKUP OPTIMIZATION参数置为on;

执行的BACKUP DATABASE或BACKUP ARCHIVELOG命令中带有ALL或LIKE参数。

分配的通道仅使用了一种设备类型,也就是没有同时分配使用sbt与disk的多个通道。(我知道我知道,通道还没讲,你也等着看外传吧。不过在这儿可以简单描述一下我的理解,In my opinion,sbt与disk就像一条是公路,一条是海路,而通道则相当于你选择了走公路之后,还得选择是走北三环,还是走北五环,还是两条一块走)

打开备份优化设置通过如下命令:

RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

那么在进行备份优化时,RMAN是如何判断要备份的文件是否需要被优化呢,这个算法就相当复杂了,而且可能影响优化算法的因素也非常多,假如某库在上午9点被执行过一次全库备份,等下午3点再次执行全库备份时,备份的文件没有变动而且也已经被备份过时,才会跳过这部分文件。所以理论上备份优化仅对于只读表空间或offline表空间起作用。当然对于已经备份过的archivelog文件,它也会跳过。

第五篇RMAN备份实例

1、每天夜间1点执行;

2、数据库全备,同时备份控制文件及归档日志文件,备份文件保存至:D:\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志;

3、备份保留7天,过期则自动删除;

实验8-Oracle数据库备份与恢复

实验8 Oracle数据库备份与恢复 1 实验目的 (1)掌握Oracle数据库各种物理备份方法。 (2)掌握Oracle数据库各种物理恢复方法。 (3)掌握利用RMAN工具进行数据库的备份与恢复。 (4)掌握数据的导入与导出操作。 2 实验要求 (1)对BOOKSALES数据库进行一次冷备份。 (2)对BOOKSALES数据库进行一次热备份。 (3)利用RMAN工具对BOOKSALES数据库的数据文件、表空间、控制文件、初始化参数 文件、归档日志文件进行备份。 (4)利用热备份恢复数据库。 (5)利用RMAN备份恢复数据库。 (6)利用备份进行数据库的不完全恢复。 3 实验步骤 (1)关闭BOOKSALES数据库,进行一次完全冷备份。 select file_name from dba_data_files; select member from v$logfile; select value from v$parameter where name='control_files';

(2)启动数据库后,在数据库中创建一个名为cold表,并插入数据,以改变数据库的状态。 CREATE TABLE COLD( ID NUMBER PRIMARY KEY, NAME VARCHAR2(25) ); (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态并查看恢复后是否

存在cold表。 (4)将BOOKSALES数据库设置为归档模式。 1.1 shutdown immediate 正常关闭数据 1.2 startup mount;将数据库启动到mount状态 3)、关闭flash闪回数据库模式,如果不关闭的话,在后面关闭归档日志的时候就会出现讨厌的ora-38774错误。 alter database flashback off 1.3 alter database archivelog;发出设置归档模式的命令 1.4 alter database open;打开数据库 1.5 再次正常关闭数据库,并备份所有的数据文件和控制文件 1.6archive log list;在将数据库设置为归档模式后,可以执行此命令进行确认 1.6.1 Database log mode 为Archive Mode说明当前的数据库为归档模式 1.6.2 Automatic archival为Enable说明启动了自动归档。

ORACLE11G RMAN备份恢复到异机数据库

ORACLE11G RMAN备份恢复到异机数据库 1. 主数据库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 数据库名 : prb 数据库SID : prb db_unique_name : prb instance_name : prb IP : 10.0.8.100 2. 备库环境 操作系统版本 : Centos6.7 x64 数据库版本 : Oracle 11.2.0.4 x64 (只安装oracle数据库软件,no netca dbca) 数据库名 : prb 数据库SID : prb db_unique_name: prb instance_name : prb IP:10.0.8.101 将参数文件备份、控制文件备份、数据文件备份、以及归档备份到目标主机 1 此处实验环境为同平台,同字节序,同版本,源机器和目标机器相同的目录结构。 2 目标机器只需要安装oracle只安装oracle数据库软件,no netca dbca 3 第一次利用备份恢复测试环境,之后从源机器拷贝备份到目标机器并在控制文件中注册,再见行恢复测试。 备份数据库 backup format '/u01/prb/rmanbk/fulldb_%d_%U' database include current controlfile plus archivelog delete input; orapwd file='/u01/app/oracle/product/11.2.0.4/db_1/dbs/orapwprb' password=oracle entries=10 force=y 1rman 连接到源数据库 prd-db1-> rman target / Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 17 19:23:27 2016 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: PRB (DBID=1906641159) RMAN> 2 分别列出参数文件备份,控制文件备份,数据文件备份,以及归档备份的名字 参数文件备份如下: RMAN> list backup of spfile; using target database control file instead of recovery catalog List of Backup Sets ===================

Oracle 11g 基于RMAN的备份与恢复

Oracle 11g 基于RMAN的备份与恢复 备份整个数据库 C:\Users\huangluxiang>rman target/ RMAN> backup database; RMAN> exit (退出) (1)重做日志损坏 SQL> conn /as sysdba 已连接到空闲例程。 SQL> startup mount; ORACLE 例程已经启动。 Total System Global Area 1071333376 bytes Fixed Size 1375792 bytes Variable Size 729809360 bytes Database Buffers 335544320 bytes Redo Buffers 4603904 bytes 数据库装载完毕。 SQL> recover database until cancel; 完成介质恢复。 SQL> alter database open resetlogs; 数据库已更改。 SQL> archive log list; 数据库日志模式存档模式 自动存档启用 存档终点USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 1 下一个存档日志序列 1 当前日志序列 1 备注:恢复Oracle数据库,应该备份整个数据库 (2)数据库丢失数据文件,控制文件,重做日志文件 C:\Users\huangluxiang>rman target/ RMAN> restore controlfile from autobackup; RMAN>alter database mount; RMAN> restore database; SQL> conn /as sysdba 已连接。 SQL> recover database using backup controlfile until cancel; ORA-00279: 更改990116 (在12/13/2013 14:06:05 生成) 对于线程1 是必需的 ORA-00289: 建议: C:\APP\HUANGLUXIANG\FLASH_RECOVERY_AREA\DLNU\ARCHIVELOG\2013_12_13\ O1_MF_1_5_%U_ .ARC ORA-00280: 更改990116 (用于线程1) 在序列#5 中 指定日志: {=suggested | filename | AUTO | CANCEL}

oracle 备份恢复语句整理(最全)

Oracle备份恢复场景总结 一、数据文件、表空间恢复 1、数据库文件恢复 1>场景一: 问题描述: test.dbf丢失,有RMAN备份。 重启报错: Startup; ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/app/oracle/oradata/orcl/test01.dbf' run{ startup mount; allocate channel ch00 type 'SBT_TAPE'; restore datafile 5; recoverdatafile 5; alter database open; release channel ch00; }

2>场景二 问题描述: 模拟test表空间损坏,删除数据文件(恢复到新目录) 旧目录:/oracle/app/oracle/oradata 新目录: /home/oracle run{ allocate channel ch00 type 'SBT_TAPE'; sql 'alter database datafile 5 offline'; setnewname for datafile 5 to '/home/oracle/test01.dbf'; restoredatafile 5; switchdatafile 5; recoverdatafile 5; sql 'alter database datafile 4 online'; release channel ch00; } 说明: set newname for 告诉RMAN 还原数据文件的新位置在哪里。这个命令在restore 前出现。 switch datafile更新controlfile,记录这个新位置。这个命令要在recover 前出现

实验十一Oracle数据库备份与恢复

实验十一Oracle数据库备份与恢复 【实验目的与要求】 1. 常见数据备份与恢复的方法 2.学会Oracle备份方案的制定 【实验内容与步骤】 1. Oracle物理备份与恢复 准备工作: (1)查看数据库是否运行于归档模式下: 请给出查询的结果: (2)关闭数据库,做一个完全的冷备份。 提示: a.使用shutdown命令关闭数据库; b.复制数据文件、日志文件和控制文件到安全地方 (3) 把数据库改为归档模式 设置成自动归档 SQL> alter system set log_archive_start = true scope=spfile;

注意:本实验中的很多命令路径参数需根据自己的实现环境做出修改!! 实验11-1 数据库系统数据文件和回退段遭破坏的情况下的恢复。此时数据库的状态是关闭的。 (1)先启动数据库,创建新用户scott,并用scott用户建立test表,并插入两条数据。创建表空间的四个步骤: /*分为四步 */ /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\ user_temp.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第2步:创建数据表空间 */ create tablespace user_data logging datafile 'D:\ user_data.dbf' size 50m autoextend on next 50m maxsize 20480m extent management local; /*第3步:创建用户并指定表空间 */ create user scott identified by tiger default tablespace user_data temporary tablespace user_temp; /*第4步:给用户授予权限 */ grant connect,resource,dba to scott; SQL> create table test (id int,name varchar2(10)); 表已创建。 SQL> insert into test values(1001,’zhangfei’); 已创建 1 行。 SQL> insert into test values(1002,’guanyu’); 已创建 1 行。 SQL> commit; 提交完成。 (2)模拟数据库遭意外被迫关闭,并且系统数据文件丢失。 SQL> shutdown abort

ORACLE数据备份与数据恢复方案

O R A C L E数据备份与数据恢 复方案 Prepared on 24 November 2020

摘要 结合金华电信IT系统目前正在实施的备份与恢复策略,重点介绍电信业务计算机管理系统(简称97系统)和营销支撑系统的ORALCE数据库备份和恢复方案。 Oracle数据库有三种标准的备份方法,它们分别是导出/导入 (EXP/IMP)、热备份和冷备份。要实现简单导出数据(Export)和导入数据(Import),增量导出/导入的按设定日期自动备份,可考虑,将该部分功能开发成可执行程序,然后结合操作系统整合的任务计划,实现特定时间符合备份规划的备份应用程序的运行,实现数据库的本级备份,结合ftp简单开发,实现多服务器的数据更新同步,实现数据备份的异地自动备份。 关键字:数据库远程异地集中备份 目录

一、前言 目前,数据已成为信息系统的基础核心和重要资源,同时也是各单位的宝贵财富,数据的丢失将导致直接经济损失和用户数据的丢失,严重影响对社会提供正常的服务。另一方面,随着信息技术的迅猛发展和广泛应用,业务数据还将会随业务的开展而快速增加。但由于系统故障,数据库有时可能遭到破坏,这时如何尽快恢复数据就成为当务之急。如做了备份,恢复数据就显得很容易。由此可见,做好数据库的备份至关重要。因此,建立一个满足当前和将来的数据备份需求的备份系统是必不可少的。传统的数据备份方式主要采用主机内置或外置的磁带机对数据进行冷备份,这种方式在数据量不大、操作系统种类单一、服务器数量有限的情况下,不失为一种既经济又简明的备份手段。但随着计算机规模的扩大,数据量几何级的增长以及分布式网络环境的兴起,将越来越多的业务分布在不同的机器、不同的操作平台上,这种单机的人工冷备份方式越来越不适应当今分布式网络环境。 因此迫切需要建立一个集中的、自动在线的企业级备份系统。备份的内容应当包括基于业务的业务数据,又包括IT系统中重要的日志文件、参数文件、配置文件、控制文件等。本文以ORACLE数据库为例,结合金华电信的几个相关业务系统目前正在实施的备份方案,介绍ORACLE数据库的备份与恢复。 二、金华电信ORACLE数据库的备份与恢复方案 由于金华电信IT系统以前只采用逻辑备份方式进行数据库备份,速度较慢并且数据存储管理都很分散,甚至出现备份数据不完整的现象。为了提高备份数据的效率,提供可靠的数据备份,完善备份系统,保证备份数据的完整性,降低数据备份对网络和服务器的影响,对每个IT系统的备份数据进行集中管理,我们对备份工作进行了改进,将逻辑备份与物理备份相结合,在远程建立了一个异地集中、自动在线的备份系统即网络存储管理系统。(这里用到的物理备份指热备份)其具备的主要功能如下:(1)集中式管理 :网络存储备份管理系统对整个网络的数据进行管理。利用集中式管理工具的帮助,系统管理员可对全网的备份策略进行统一管理,备份服务器可以监控所有机器的备份作业,也可以修改备份策略,并可即时浏览所有目录。所有数据可以备份到同备份服

RMAN备份与恢复之完全备份和增量备份

完全备份: 完全备份是指对数据库中使用过的所有数据块进行备份,当然,没有使用过的数据块是不做备份的。在进行完全备份时,RMAN将数据文件中所有的非空白数据块都复制到备份集中。在RMAN中,可以对数据文件进行完全备份或者增量备份,但是对控制文件和日志文件只能进行完全备份。在一个完全数据库备份中,将所有的数据库文件,复制到闪回恢复区。 完全备份实例: 【例】通过BACKUP FULL语句,对数据库执行完全备份。使用TAG参数和FORMAT参数,指定备份文件位置以及备份文件的名称格式。如下: RMAN>RUN{ 2> #BACKUP THE COMPLETE DATABASE 3> ALLOCATE CHANNEL ch1 TYPE DISK; 4> BACKUP FULL 5> TAG full_db_backup FORMAT"E:\app\backup\db_t%t_s%s_p%p" (database); 6> RELEASE CHANNEL ch1; 7> } 【例】在RMAN中执行LIST命令,查看建立的备份集与备份段信息,如下: RMAN> LIST BACKUP OF DATABASE; 增量备份: 增量备份就是将那些与前一次备份相比发生变化的数据块复制到备份集中。进行增量备份时,RMAN会读取整个数据文件,通过RMAN可以为单独的数据文件、表空间、或者整个数据库进行增量备份。在RMAN中建立的增量备份可以具有不同的级别,每个级别都使用一个不小于0的整数来标识,也就是在BACKUP命令中使用LEVEL关键字指定的,例如LEVEL = 0表示备份级别为0,LEVEL = 1表示备份级别为1。 增量备份的方式:

实验九:数据库备份及恢复

实验九:数据库备份及恢复 一、实验目的 1.熟悉数据库备份及恢复机制; 2.了解SQL Server的数据备份和恢复机制; 3.掌握SQL-Server中数据库备份和恢复的方法。 二、实验环境 已安装SQL Server 2005 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解创建备份设备和进行数据库完全备份操作的方法; 2.了解进行数据库恢复的步骤; 3.完成实验报告。 五、实验内容及步骤 以管理员帐号登录SQL Server Management Studio,以原有数据库stu为基础,请使用Management Stuio界面方式或T-SQL 语句实现以下操作: 1.针对数据库stu创建完全数据库备份集stu.bak,目标磁盘为D:\ user \ stu.bak; BACKUP DATABASE student TO DISK='C:\user\stu.bak' 2.在数据库stu中新建数据表ceshi,内容自定,然后针对数据库stu创建 差异备份; CREATE TABLE ceshi ( Sno char(9)NOT NULL primary key, Sname char(6)NOT NULL, Ssex char(2)NULL, Sage int NULL, Sdept varchar(8)NULL ) GO BACKUP DATABASE student TO DISK='C:\user\stu_differential.bak' WITH DIFFERENTIAL 3.向数据库stu的数据表ceshi插入部分记录,然后针对数据库stu创建 事务日志备份;

RMAN备份及恢复

Linux下Oracle9i RMAN备份及恢复步骤介 1、切换服务器设置归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 2、连接: %rman target=sys/password@mydb (启动恢复管理器) 3、基本设置: RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数) RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式) 4、查看所有设置:

实验10数据库备份与还原

实验10 数据库备份与还原 创建备份 (1)选择【stu】数据库右击,单击【属性】。 (2)单击【选项】页,将【恢复模式】设置为【完整】。 (3)选择【stu】数据库右击,依次选择【任务】、【备份】,将打开【备份数据库】对话框 备份数据库 (4)在【备份类型】列表框中,选择【完整】。注意:创建完整数据库备份之后,才可以创建差异数据库备份。 注:选择【差异】即进行差异备份;选择【事务日志】即进行日志备份;若要备份日志尾部(即活动的日志),则需在【选择页】窗格中单击【选项】,再选中【备份日志尾部,并使数据库处于还原状态】。 (5)对于【备份组件】,选择【数据库】。 (6)单击【添加】按钮,打开【选择备份目标】对话框:

选择备份目标 (8)选择备份路径和输入备份文件名。 若想将数据库备份到备份设备上,则应在选择备份设备作为备份目标(如果不存在备份设备,应该先创建),再选择相应的备份设备即可。 创建备份设备 (1)右击【备份设备】,然后单击【新建备份设备】,打开【备份设备】对话框:

(2)在【设备名称】文本框中输入新建设备名,如【dev1】。 (3)在【文件】框中指定备份设备对应的备份文件及路径。 还原备份 在【还原数据库】对话框的【要还原的源】部分中选择【从数据库】,以从 SQL Server 识别的备份集中还原。也可选择【从设备】并指定备份文件和包含要存储的备份的设备来从备用备份中还原。 (1)选择【数据库】右击,依次选择【任务】、【还原】,将出现【还原数据库】对话框: 还原数据库 (2)在【常规】页上,还原数据库的名称将显示在【目标数据库】列表框中。若要创建新数据库,请在列表框中输入数据库名。此处输入【stu】。 (3)选择【源设备】,在【备份媒体】列表框中选择【文件】,单击【添加】按钮选择【】返回【指定备份】对话框:

rman备份恢复操作命令

首先确定/u02/rman目录是否存在 export ORACLE_SID=数据库实例名 rman备份操作: 使用sys用户登录rman rman target sys/syscode #进入rman run{ #备份数据库 ALLOCATE CHANNEL CH1 DEVICE TYPE DISK FORMAT '/u02/rman/test_%U'; ALLOCATE CHANNEL CH2 DEVICE TYPE DISK FORMAT '/u02/rman/test_%U'; BACKUP incremental level 0 DATABASE plus archivelog delete input; RELEASE CHANNEL CH1; RELEASE CHANNEL CH2; } list backupset; #备份完毕,记录scn (备份时记录备份完成的SCN号,此SCN号作为数据库恢复的时间点,必须记录下来) #SCN号类似如下: rman 恢复操作 1、首次进行恢复 使用sys用户登录rman rman target sys/syscode #进入rman shutdown immediate #停止数据库 startup mount; #启动实例 run{ set until scn ********; #**为备份时记录的SCN号 restore database; #还原数据库 recover database; #恢复数据库 sql 'alter database open resetlogs'; #打开数据库 } 2、多次恢复 在使用备份文件恢复数据库,用open resetlogs方式打开数据之后,如果需要再次恢复数据库,需要指定数据库的incarnation. 使用sys用户登录rman rman target sys/syscode #进入rman shutdown immediate #停止数据库 startup mount; #启动实例 list backupset; #选择scn (备份时记录备份完的SCN号) #SCN号类似如下:

RMAN增量备份与恢复

增量备份计划案例 一、增量备份计划关键命令 星期日: RMAN> backup incremental level=0 database; 星期一: RMAN> backup incremental level=2 database; 星期二: RMAN> backup incremental level=2 database; 星期三: RMAN> backup incremental level=1 database; 星期四: RMAN> backup incremental level=2 database; 星期五: RMAN> backup incremental level=2 database; 星期六: RMAN> backup incremental level=2 database; 二、增量备份计划与恢复实例: 恢复管理器: Release 10.2.0.1.0 - Production on 星期六3月22 14:47:30 2008 Copyright (c) 1982, 2005, Oracle. All rights reserved.

连接到目标数据库: ORCL (DBID=1177145004) RMAN> backup incremental level=0 database; 启动backup 于22-3月-08 使用目标数据库控制文件替代恢复目录 分配的通道: ORA_DISK_1 通道ORA_DISK_1: sid=122 devtype=DISK 通道ORA_DISK_1: 启动增量级别0 数据文件备份集 通道ORA_DISK_1: 正在指定备份集中的数据文件 输入数据文件fno=00001 name=C:\ORACLE\ORADATA\ORCL\SYSTEM01.DBF 输入数据文件fno=00003 name=C:\ORACLE\ORADATA\ORCL\SYSAUX01.DBF 输入数据文件fno=00007 name=C:\ORACLE\ORADATA\ORCL\PERFSTAT.DBF 输入数据文件fno=00005 name=C:\ORACLE\ORADATA\ORCL\EXAMPLE01.DBF 输入数据文件fno=00002 name=C:\ORACLE\ORADATA\ORCL\UNDOTBS01.DBF 输入数据文件fno=00004 name=C:\ORACLE\ORADATA\ORCL\USERS01.DBF 输入数据文件fno=00006 name=C:\ORACLE\ORADATA\ORCL\TTT.DBF 通道ORA_DISK_1: 正在启动段 1 于22-3月-08 通道ORA_DISK_1: 已完成段 1 于22-3月-08 段句柄=C:\ORACLE\FLASH_RECOVERY_AREA\ORCL\BACKUPSET\2008_03_22\O1 _MF_NNND0_TAG20080322T144756_3Y9BWXK2_.BKP 标记=TAG20080322T144756 注释=NONE 通道ORA_DISK_1: 备份集已完成, 经过时间:00:01:45 完成backup 于22-3月-08 启动Control File and SPFILE Autobackup 于22-3月-08 段

oracle备份与恢复机制

谈ORACLE备份与恢复 经常听到有人说,某数据库备份方法好,某备份方法不好,或者说现在都流行用rman 来备份了,逻辑备份已经过时了,冷备份就更不值一提了,其实数据库的备份从来没有什么好坏之分、没有过时之说,合适才是最重要的,自己好才是真的好.各种方法各有长短,谁也代替不了谁,只有根据实际情况搭配使用,才能发挥最大的作用,否则只能是东施效颦. 1 . o r ac 1 e的备份,包括no a r chi v e I og模式的备份(冷备份)、arch i velog模式的备份(热备份、rman备份)、逻辑备份(不分模式). 1.1.冷备份: ~ 1)关闭数据库 s hu t d o wn; -一2)备份数据文件、控制文件、重做日志文件 一-A、查找备份文件的位置 SELEC T * FROM VSDATAFIL E ; —査数据文件 s el e ct * f r om v$cont r o 1 f il e ; —查控制文件 s e le c t * f r om vSlogf i 1 e; —査日志文件 ~ B、备份数据文件、控制文件、重做日志文件 $ copy D:\oracle\o r a data\or a 9 \ *. dbf d: \ b a k \ *. *; $ cop y D:\ora cle \ oradat a \ora9 \ *? c t 1 d : \ b a k\*? *: $ copy D:\oracle \o r adata\o r a9\*? I og d:\bak\*? *; 1.2.热备份: ~ 1)查询备份的数据文件与哪一个表空间有关 SELECT V$TAF3LESPACE ? NAME, VS DATAFILE. NAME FROM V$TA B LES P ACE J OIN V$DATAF I LE USING(TS#); ~ 2)备份数据文件 a 1 t er tablespace 表空间BEGIN BACKUP; $ COPY数据文件存放路径

数据库实验5 数据库的备份和恢复

实验五数据库的备份和恢复 [实验目的] 1.了解SQL Server的数据备份和恢复机制 2.掌握SQL Server的数据备份和恢复的方法,以便学生可以在课余时间在自己的机 器上继续完成实验要求。 [实验时数] 1 学时 [实验内容] 1.用企业管理器创建一个备份设备。 2.为学生选课数据库设置一个备份计划,要求每当CPU空闲时进行数据库备份。 3.为图书借阅数据库设置一个备份计划,要求每月1号进行数据库备份。 4.在企业管理器中恢复学生选课数据库。 5.修改学生选课数据库备份计划,要求每星期对数据库备份一次。 [实验方法] 1.创建、查看和删除备份设备 (1)创建备份设备 在企业管理器中,扩展要操作的SQL服务器,在管理文件夹中找到备份文件夹。用鼠标右键单击该文件夹后,在弹出菜单中选择“新建备份设备”项,如图5- 错误!未定义书签。所示。随后会出现如图5-39所示的备份设备属性对话框。 图5- 错误!未定义书签。备份文件夹的弹出菜单图5- 错误!未定义书 签。备份设备属性对话框 在备份设备属性对话框中,执行下列操作:输入备份设备的逻辑名字;确定备份设备的文件名;单击[确定]按钮。在确定备份设备的文件名时,需要单击文件名栏最右边的“…”按键,并在弹出文件名对话框中确定或改变备份设备的默认磁盘文件路径和文件名。 (2)查看备份设备的相关信息 查看备份设备的相关信息时,需要执行的操作是:在企业管理器中扩展服务器,选择管理文件夹和备份文件夹,在细节窗口中找到要查看的备份设备;用鼠标右键单击该备份设备,在弹出菜单上选择“属性”项,会弹出与图5-39相似的备份设备属性对话框;用鼠标

2016年9月1日rman备份恢复脚本

rman备份恢复 1.通过rman备份文件恢复spfile 2.通过rman备份文件恢复controlfile 3.通过rman备份文件恢复datafile 4.利用恢复回来的controlfile和datafile生成redolog 5.测试交易是否存在,并全备 我系统环境所有的文件如下: [oracle@fowaydbs]$ pwd /opt/oracle/10g/dbs [oracle@fowaydbs]$ ls initdw.ora init.ora [oracle@fowaydbs]$ls /opt/oracle/oradata 已没有任何资料 [oracle@fowaydbs]$ls /opt/oracle/admin 已没有任何资料 [oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/

2008_07_18 [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/ o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp 在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢? 没办法只能恢复了,可怎么恢复呢? 要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下. 参数文件,控制文件都没有怎么mount? 要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了. 在解决难题前先准备ORCL的必须的目录: [oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级: 学号: 姓名:

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 一、使用SQL Server Management Studio创建数据库的步骤如下: a.在磁盘上新建一个目录,如在C:盘中新建“MyDB“目录 b.在wimdows系统“开始“菜单中,依次选取”程序->Microsoft SQL Server 2005->SQL Management Studio” ,打开SQL Server Management Studio并连接到SQL Server 2005服务。 c.在“对象资源管理器“中单击SQL Server服务器前面的“+”号或直接双击数据库名称,展开该服务器对象资源树形结构,然后右键点击“数据库”文件夹,在弹出的快捷菜单上选择“新建数据库”选项 d.在打开的“新建数据库”对话窗口中输入数据库名称“教学管理”,在该窗口中“数据库文件”设置部分可以修改数据文件和日志文件的文件名、初始大小、保存路径等。

RMAN备份经典理解

ORACLE RMAN增量备份经典理解2014-03-29 09:37:46 分类:Oracle Oracle中,增量备份时分等级的,级别从0开始,一级一级递增,不过实际上用的最多的也就是0级和1级了,0级增量备份是后面级别的增量备份的基础,0级备份实际上就是一个完全备份,与普通的完全备份唯一的不同点是0级备份可以作为其他级别增量备份的基础,而普通的完全备份是不能的。 从级别1开始,Oracle的增量备份分为差异增量备份和积累增量备份两种,其中差异增量备份备份的是自上一次同级别的差异备份或者是上一次更高级别的备份完成之后的数据库发生改变的数据块;而积累增量备份则是备份的自上一次上一级增量备份完成以来数据库发生改变的数据块。在《Backup and Recovery User’s Guide》的“增量备份”一节中有两幅图很形象的描述了这两个增量备份之间的异同: 差异增量备份图示

积累增量备份图示 -------------------------------------------------------------------------------------> > rman 全备与0、1级增量备份 1、简单来说,rman全库备份只需要backup database;(未压缩),或者backup as compressed backupset database; (压缩)。即可完全备份,如下: RMAN> backup database; Starting backup at 08-OCT-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1

实验八数据库的备份与恢复

实验八数据库的备份与和恢复 一、实验目的: 1.掌握数据库备份和恢复的概念 2.熟练掌握数据库备份和恢复的实现方法 实验环境: SQL Server 2005 二、实验内容及步骤 说明:本示例用例的表结构如下所示: Student (sno, sname, sex,sage,dept, oldgrade, advisor) Teacher (tno, tname, dept, salary, title) Course (cno, cname, descry, dept, credit) SC (sno, cno, grade) 以上数据库表的含义为: Student—学生:sno(学号),sname(学生姓名),sex(性别),sage(年龄),dept(系),oldgrade(高考成绩),advisor(导师) Teacher—教师:tno(教师编号),tname(教师姓名),dept(所在系),salary(工资),title(职称) Course—课程:cno(课程号),cname(课程名),descry(课程说明),dept(开课系),credits(学分) SC—成绩:sno(学号),cno(课程号),grade(成绩) 1.利用企业管理器实现数据库备份和恢复 (1)创建、查看和删除备份设备 ●创建备份设备 图1 图2 在企业管理器中,扩展要操作的SQL 服务器,在管理文件夹中找到备份文件夹。用鼠标右键单击该文件夹后,在弹出的菜单中选择“新建备份设备’项,如图1所示。随后会出现如图2所示的备份设备属性对话框。 在备份设备属性对话框中,执行下列操作:输入备份设备的逻辑名称;确定备份设备的文件名;单击“确定”按钮。 在确定备份设备的文件名时,需要单击文件名栏最右边的“…”按钮,并在弹出的文件名对话框中确定或改变备份设备的缺省磁盘文件路径和文件名。 ●查看备份设备的相关信息 查看备份设备的相关信息时,需要执行的操作是:在企业管理器中扩展服务器,选择管理文件夹和备份文件夹,在细节窗口中找到要查看的备份设备;用鼠标右键单击备份设备,在弹出的菜单上选择“属性”项,会弹出与图3-82相似的备份设备属性对话框;用鼠标单

ORACLE数据库备份与恢复详解

ORACLE数据库备份与恢复详解 Oracle的备份与恢复有三种标准的模式,大致分为两大类,备份恢复(物理上的)以及导入导出(逻辑上的),而备份恢复又可以根据数据库的工作模式分为非归档模式(Nonarchivelog-style)和归档模式(Archivelog-style),通常,我们把非归档模式称为冷备份,而相应的把归档模式称为热备份,他们的关系如下所示 三种方式各有优点,我们做个比较(这个是用Fireworks画的,有点糙):

$A: 现在先来介绍一下逻辑备份方式的方法,利用Export可将数据从数据库中提取出来,利用Import则可将提取出来的数据送回到Oracle数据库中去。理论基础:Oracle 提供的Export和Import具有三种不同的操作方式(就是备份的数据输出(入)类型): 1,表方式(T) 可以将指定的表导出备份; 2,全库方式(Full) 将数据库中的所有对象导出; 3,用户方式(U) 可以将指定的用户相应的所有数据对象导出; *在导入导出备份方式中,提供了很强大的一种方法,就是增量导出/导入,但是它必须作为System来完成增量的导入导出,而且只能是对整个数据库进行实施。增量导出又可以分为三种类别: 1,完全增量导出(完全备份)(Complete Export) 这种方式将把整个数据库文件导出备份;exp system/manager inctype=complete file=20041125.dmp(为了方便检索和事后的查询,通常我们将备份文件以日期或者其他有明确含义的字符命名) 2,增量型增量导出(增量备份)(Incremental Export) 这种方式将只会备份上一次备份后改变的结果;exp system/manager inctype=incremental file=20041125.dmp 3,累积型增量导出(差异备份)(Cumulate Export) 这种方式的话,是导出自上次完全增量导出后数据库变化的信息。exp system/manager inctype=cumulative file=20041125.dmp 通常情况下,DBA们所要做的,就是按照企业指定或者是自己习惯的标准(如果是自己指定的标准,建议写好计划说明),一般,我们采用普遍认可的下面的方式进行每天的增量备份: Mon:完全备份(A) Tue:增量导出(B) Wed:增量导出(C) Thu:增量导出(D)

相关主题
文本预览
相关文档 最新文档