热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Oracle—RMAN备份

RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文

RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文

一.RMAN备份相关概念

1.RMAN备份中表空间不需要处于backup模式下,它备份数据文件,归档日志文件,控制文件,spfile和备份集片,但不备份联机重做日志文件,临时文件和口令文件。

2.备份集由备份片组成,可以包含一个或者多个备份片。备份片可以在操作系统中直接看到,其大小和操作系统有关,32位的操作系统最大文件是4G。

3.数据文件备份集支持完整和增量备份,即只备份使用过的块,而归档日志文件备份集不支持这个。

4.在RMAN下的常用查看命令,show all查看备份的默认参数,report schema查看数据表空间和数据文件的信息,list back查看已经备份文件的信息。

在show all中有个默认控制文件备份问题,控制文件备份默认是不备份的,

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

如果备份系统表空间的文件,那么无论是off还是on状态,控制文件自动备份。

5.常用参数,maxpiecesize规定备份片的大小,maxsetsize备份集的大小,filesperset表示一个备份集中所含有的输入文件个数,%U=%u_%p_%c生成唯一的名称。

6.在RMAN备份中,可以把备份文件分成两块,一块是数据文件备份集,另一块是归档日志文件,控制文件和spfile在一起的压缩打包文件。

推荐阅读:

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

二.RMAN备份的方式

1.非归档模式下,必须进行一致性的备份,执行RMAN一致性备份要求数据库处于加载模式下,并且干净的关闭,备份可以是完整的或者增量的。

2.在归档模式下,可以一致性备份也可以非一致性备份,在非一致性备份中必须备份归档日志文件,备份可以是全部的,局部的,完整的或者增量的。

备份可以分为全部的,局部的,完整的或者增量的备份,,只有RMAN可以实现增量备份。

三.RMAN备份各种文件

(一)备份数据文件

Report schema可以看到各种表空间和数据文件等的信息。

RMAN> report schema;

Report of database schema for database with db_unique_name WILSON

List of Permanent Datafiles

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

File Size(MB) Tablespace RB segs Datafile Name

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

1 760 SYSTEM *** /u01/oradata/wilson/system01.dbf

2 580 SYSAUX *** /u01/oradata/wilson/sysaux01.dbf

3 135 UNDOTBS1 *** /u01/oradata/wilson/undotbs01.dbf

4 28 USERS *** /u01/oradata/wilson/users01.dbf

5 100 EXAMPLE *** /u01/oradata/wilson/example01.dbf

6 20 PAUL *** /u01/oradata/wilson/paul01.dbf

7 20 SUN *** /u01/oradata/wilson/sun01.dbf

8 2 SMALLUNDO *** /u01/oradata/wilson/smallundo1.dbf

9 100 ASSM *** /u01/oradata/wilson/assm_1.dbf

10 100 MSSM *** /u01/oradata/wilson/mssm_1dbf

11 10 PAUL *** /u01/oradata/wilson/paul02.dbf

List of Temporary Files

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

File Size(MB) Tablespace Maxsize(MB) Tempfile Name

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

1 29 TEMP 32767 /u01/oradata/wilson/temp01.dbf

2 100 MYTEMP 100 /u01/oradata/wilson/mytemp01.dbf

或者在sql*plus下也可以看到

SQL> select file#,name from v$datafile;

FILE# NAME

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

1 /u01/oradata/wilson/system01.dbf

2 /u01/oradata/wilson/sysaux01.dbf

3 /u01/oradata/wilson/undotbs01.dbf

4 /u01/oradata/wilson/users01.dbf

5 /u01/oradata/wilson/example01.dbf

6 /u01/oradata/wilson/paul01.dbf

7 /u01/oradata/wilson/sun01.dbf

8 /u01/oradata/wilson/smallundo1.dbf

9 /u01/oradata/wilson/assm_1.dbf

10 /u01/oradata/wilson/mssm_1dbf

11 /u01/oradata/wilson/paul02.dbf

11 rows selected.

使用下面的命令都可以备份成功,

RMAN> backup datafile 4 format='/u01/backup/md_%U';

或者

RMAN> backup datafile '/u01/oradata/wilson/users01.dbf' format='/u01/backup/md_%U';

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00004 name=/u01/oradata/wilson/users01.dbf

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/md_1hoi1t5t_1_1 tag=TAG20130823T202948 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

(二)备份表空间

和备份数据文件一样,report schema来查看表空间的信息。只有命令上有点区别,如下

RMAN> backup tablespace sun format='/u01/backup/ts_%U';

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

input datafile file number=00007 name=/u01/oradata/wilson/sun01.dbf

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/ts_1ioi1tdv_1_1 tag=TAG20130823T203407 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

(三)备份控制文件

1.开启自动备份控制文件

RMAN> show all;

RMAN configuration parameters for database with db_unique_name WILSON are:

CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';

。。。。。。

可以看到默认情况下是off的,修改为on,

RMAN> configure controlfile autobackup on;

new RMAN configuration parameters:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

new RMAN configuration parameters are successfully stored

再查看确认一下,

RMAN> show all;

RMAN configuration parameters for database with db_unique_name WILSON are:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';

对于CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/ctl_%F';命令可以控制文件备份到所需要的地址上。

这个自动备份控制文件,会把spfile也一起备份的。

2.直接备份,但是其不会备份spfile,命令如下,

RMAN> backup current controlfile;

Starting backup at 23-AUG-13

using channel ORA_DISK_1

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current control file in backup set

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/tmp/back/1joi1unc_1_1 tag=TAG20130823T205612 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04

Finished backup at 23-AUG-13

3.可以在备份数据文件或者表空间时来添加备份,但是其不会备份spfile,命令如下

RMAN> backup datafile 4 include current controlfile;

或者

RMAN> backup tablespace sun include current controlfile;

(四)备份spfile

在开启自动备份控制文件时,会自动备份spfile。

也可以用如下命令备份,

RMAN> backup spfile format '/u01/backup/sp_%U';

Starting backup at 23-AUG-13

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=44 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 23-AUG-13

channel ORA_DISK_1: finished piece 1 at 23-AUG-13

piece handle=/u01/backup/sp_1qoi23po_1_1 tag=TAG20130823T222247 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

Finished backup at 23-AUG-13

Starting Control File and SPFILE Autobackup at 23-AUG-13

piece handle=/u01/backup/ctl_c-3925834152-20130823-0a comment=NONE

Finished Control File and SPFILE Autobackup at 23-AUG-13

可以看到虽然命令只是备份spfile,但是控制文件也被备份了。

(五)备份归档日志文件

备份归档日志文件是把全部内容复制下来,命令如下,

RMAN> backup archivelog all format='/u01/backup/ac_%U' delete all input;

delete all input是把原来的归档日志文件删除掉。

在执行这个命令时,会检查归档日志文件是否损坏,如果发现一个地方的归档日志文件损坏,那么自动会读取另一个地方好的归档日志文件,若都有损坏,就拒绝备份。

为了确保归档日志的一致性,在对归档日志文件做备份时,做了如下的操作,

1.在备份命令开始后,首先是运行alter system archive log current命令,把联机重做日志文件复制到归档日志文件中。

2.对归档日志文件进行备份或者是数据文件和归档日志文件一起备份。

3.再一次运alter system archive log current命令(由于上一步会的时间可能会很长,这个时间段又会产生重做信息,所以要把联机重做日志文件再复制到归档日志文件中)。

4.再做一次归档日志文件的备份

或者用下面的命令,

backup archivelog sequence between 139 and 141 thread 1 delete (all) input;

可以选择sequence的备份范围;

或者

backup archivelog from time "sysdate-15" until time "sysdate-7";

可以选择时间的范围来备份归档日志文件;

或者在备份数据文件时把归档日志文件一起备份,

backup database plus archivelog format=’/u01/backup/db_%U’。

更多见


推荐阅读
  • 本文介绍 DB2 中的基本概念,重点解释事务单元(UOW)和事务的概念。事务单元是指作为单个原子操作执行的一个或多个 SQL 查询。 ... [详细]
  • 本文介绍了如何使用Flume从Linux文件系统收集日志并存储到HDFS,然后通过MapReduce清洗数据,使用Hive进行数据分析,并最终通过Sqoop将结果导出到MySQL数据库。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 解决Win7安装SQL Server时NetFx3启动失败的问题
    在使用Win7系统安装SQL Server时,部分用户可能会遇到“启动Windows功能NetFx3时出错”的提示。本文将详细介绍这一问题的原因及解决方法。 ... [详细]
  • Spring 切面配置中的切点表达式详解
    本文介绍了如何在Spring框架中使用AspectJ风格的切面配置,详细解释了切点表达式的语法和常见示例,帮助开发者更好地理解和应用Spring AOP。 ... [详细]
  • 本文回顾了作者初次接触Unicode编码时的经历,并详细探讨了ASCII、ANSI、GB2312、UNICODE以及UTF-8和UTF-16编码的区别和应用场景。通过实例分析,帮助读者更好地理解和使用这些编码。 ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 字符串学习时间:1.5W(“W”周,下同)知识点checkliststrlen()函数的返回值是什么类型的?字 ... [详细]
  • 探索Web 2.0新概念:Widget
    尽管你可能尚未注意到Widget,但正如几年前对RSS的陌生一样,这一概念正逐渐走入大众视野。据美国某权威杂志预测,2007年将是Widget年。本文将详细介绍Widget的定义、功能及其未来发展趋势。 ... [详细]
  • 自Emacs 24.1版本起,Emacs引入了ELPA(Emacs Lisp Package Archive)作为其内置的包管理系统,用于管理和安装来自互联网的扩展插件。本文将指导您如何配置Emacs以使用MELPA这一知名且丰富的第三方插件源。 ... [详细]
  • 本文详细介绍了 ASP.NET 中用于文件上传的控件及其使用方法,包括常见的 FileUpload 控件和其他相关技术。 ... [详细]
  • 本文介绍如何使用命令行工具查看和解析 iOS 应用崩溃日志,包括 UUID 和错误代码位置的详细步骤。 ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 本文介绍了一种在ANSI C中动态分配二维数组的方法。通过创建指针数组并为每个指针分配连续空间,可以灵活地管理内存。文章还讨论了一些常见的错误和注意事项。 ... [详细]
  • `valueOf` 方法(即 `Object.valueOf`)用于返回指定对象的原始值。如果该对象没有对应的基元值,则直接返回对象本身。此方法在需要将对象转换为基本类型时非常有用,例如在数值运算或字符串拼接等场景中。通过深入了解 `valueOf` 的工作原理及其应用场景,开发者可以更好地处理数据类型转换问题,提高代码的健壮性和可读性。 ... [详细]
author-avatar
拍友2502883387
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有