Oracle Secure Backup管理员指南 第1章 基本概念

作者: 不剪发的Tony老师
毕业于北京航空航天大学,十多年数据库管理与开发经验,目前在一家全球性的金融公司从事数据库架构设计。CSDN学院签约讲师以及GitChat专栏作者。csdn上的博客收藏于以下地址:https://tonydong.blog.csdn.net


1.1 Oracle安全备份特性

Oracle安全备份提供了保护文件系统数据和Oracle数据库文件的可靠、集中式磁带备份管理。使用Oracle安全备份的SBT接口可以通过恢复管理器RMAN备份与还原数据库文件。Oracle安全备份几乎支持SAN与SCSI环境中的各种磁带驱动器和磁带库。

Oracle安全备份可以完成以下操作:

    集中管理分布式、混合平台环境中的磁带备份与还原操作。不需要使用NFS或者CIFS,可以在网络的任何位置访问本地与远程文件系统,以及任何磁带设备
    在Linux与Windows平台上备份数据到OCFS或者从OCFS还原数据
    加密所有存储数据
    使用通配符和排除列表指定需要备份的数据
    执行多级增量备份
    执行数据库双工备份,将相同数据备份到多个磁带设备。可以为每个数据副本指定不同的介质簇或者磁带设备
    创建跨越多个带卷的备份。带卷是介质的单位,例如8mm磁带
    通过自动磁带驱动器共享优化磁带资源
    快速数据恢复。Oracle安全备份使用直接块定位与直接存取恢复,避免了定位文件时不必要的磁带块读取。它在恢复目录中维护了所有备份数据的磁带位置记录,用于快速检索
    维护安全并限制可执行数据管理操作的用户的权限。默认使用SSL在管理域中进行主机认证和通信
    管理介质从一个位置转向另一个位置的轮转
    使用用户定义的策略自动执行磁带复制

1.2 管理域、目录数据与配置文件

管理域是为了执行备份与还原操作而作为一个共同单元进行管理的主机网络。Oracle安全备份在管理服务器的OSB主目录中将管理域的信息组织成一个分层文件结构。OSB主目录是指Oracle安全备份的安装目录。

图1-1显示了一个Oracle安全备份主目录的结构。该目录结构在所有平台上都相同,但是UNIX和Linux上默认的主目录为/usr/local/oracle/backup,Windows上默认为C:\Program Files\Oracle\Backup。

图1 管理服务上的目录

Oracle安全备份管理数据包含管理域内的每个实体的配置数据,例如用户类、磁带设备或者介质簇。如图1-1所示,配置目录包含几个子目录,每个目录代表OSB维护的对象。在每个对象目录内,OSB维护了描述相应对象属性的文件。

Oracle安全备份目录包含备份相关的信息。目录admin/history/host目录包含以管理域主机命名的子目录。每个子目录存在一个存储备份目录数据的文件。OSB支持大于2GB的备份目录文件。该支持仅限于支持大于2GB文件的操作系统和文件系统。

本地主机和NDMP主机备份目录占用的空间大小不同。以下三个部分之和可以估算本地备份的备份目录空间预期增长,单位为字节:

    (新建文件和目录的数量)*(43 + 文件名称平均长度)
    (被修改的已有文件数量)*(27字节,用于统计记录)
    (未修改的已有文件数量)* 0.5

 

以下三个部分之和可以估算第三方NDMP文件备份的备份目录空间预期增长,单位为字节:

 

    (新建文件和目录的数量)*(53 + 文件名称平均长度)
    (被修改的已有文件数量)*(27字节,用于统计记录)
    (未修改的已有文件数量)* 0.5

NDMP的每个备份文件还会在NDMP位置文件中占用16字节,无论该文件是新建文件、被修改文件或者未修改文件。

注释:Oracle安全备份在备份过程中会创建一个临时的目录副本。计划管理服务器存储空间时必须考虑该临时副本。

Oracle安全备份自动保护备份目录内容和配置文件。在安装过程中,Oracle安全备份调度必要的备份作业以备份这些文件。如果丢失了备份目录数据,例如磁盘失败,可以从磁带还原最近备份的目录数据,然后还原其他的数据。

 

通常,应该通过obtool或者Oracle安全备份Web工具访问配置数据和备份目录。避免通过文件系统直接访问包含这些数据的文件。

 
 

1.3 Oracle安全备份后台进程

Oracle安全备份后台进程是执行Oracle安全备份操作的后台处理程序。一些后台进程一直在运行,另外一些则只在执行特定作业时运行,并在完成后退出。

注释:在Windows操作系统中,只有后台服务进程是一个Windows服务。其他后台进程不是服务。
 

1.3.1 后台进程类型

管理域使用各种后台进程执行备份、还原以及配置任务。在Linux或者UNIX中,后台进程位于Oracle安全备份主目录的etc子目录中;在Windows中,后台进程位于bin子目录中。

表1-1列出了Oracle安全备份后台进程以及它们运行与何种角色的主机中。

表1-1 按主机类型分布的Oracle安全备份后台进程
 

 

1.3.1.1 后台服务进程

服务进程observiced提供多种服务。它在管理服务器、介质服务器以及客户端上持续运行。

在管理服务器中,observiced响应后台调度进程的请求运行作业,清除日志文件和记录文件,并且为其他主机提供Oracle安全备份配置数据的访问。observiced还用作认证中心,接受主机认证签名请求,并返回签名认证。observiced在初始化时启动调度进程和Apache网络服务进程。

当在介质服务器或者客户端运行时,observiced代表管理域中的成员,允许执行主机的远程管理,并处理认证操作。发送请求的主机的身份证书用于验证它允许调用相应操作。

在所有主机上,后台服务进程通常作为系统启动的一部分启动。在UNIX和Linux上,通常使用/etc/init.d中的项启动,而在Windows系统中,服务通过服务控制管理器启动。
 

1.3.1.2 后台调度进程

调度进程obscheduled是Oracle安全备份的调度器。调度进程在管理服务器上持续运行。

调度进程管理每个计划备份,维护一个包含所有可用磁带设备的列表,在磁带设备可用时为它们分配备份作业。该进程接收来自obtool用户以及响应RMAN命令的SBT接口的作业创建请求。

调度器策略控制如何安排备份请求。
 

1.3.1.3 后台索引进程

索引进程obixd管理每个客户端的备份目录。索引进程在管理服务器上间断运行。

索引进程在任何备份结束时启动,将obtar生成的索引数据导入备份目录中。此外,obixd在还原或者浏览操作必须访问备份目录时启动。
 

1.3.1.4 Apache网络服务进程

网络服务进程obhttpd为Oracle安全备份提供Web工具。该进程在管理服务器上持续运行。

网络服务进程由observiced进程启动,服务进程observiced通常作为系统启动的一部分启动。
 

1.3.1.5 后台NDMP进程

后台NDMP进程obndmpd实现了NDMP磁带服务并且提供了介质服务器与客户端之间的数据通信。该进程运行在客户端和介质服务器中。它将数据连接控制传递给一个子进程,以便能够保持响应由obtar发送的控制消息。

在活动备份或者还原操作期间存在两个运行的obndmpd实例。如果同一个主机既是介质服务器又是客户端,则存在三个obndmpd实例:一个作为控制器、一个作为数据服务,还有一个作为搬运器。
 

1.3.1.6 后台机械手进程

机械手进程obrobotd操作磁带库中的磁带。该进程在介质服务器上间断运行。

当Oracle安全被组件,例如obtar,必须与磁带库交互时,它请求介质服务器上的observiced启动一个obrobotd实例。机械手进程执行所有的磁带目录操作,介质移动,等等。每次obrobotd调用管理一个磁带库。obrobotd在磁带库的所有用户关闭连接后退出。
 

1.3.1.7 后台代理进程

代理进程obproxyd为SBT备份和还原操作验证用户访问。代理进程在操作期间运行在包含SBT库访问的主机上。代理进程的调用与平台相关。

代理进程使用调用SBT库的进程的操作系统用户标识以及本地主机名决定用于备份操作的Oracle安全备份账户。如果存在该操作系统用户和主机的预授权,相关的Oracle安全备份用户允许执行RMAN备份,并且该登录被通过。
 

1.3.2 文件系统备份时的后台进程交互

图1-2提供了一个管理服务器、介质服务器以及客户端上后台进程之间关系的简单图形说明。

图1-2 管理域中的后台进程


图1-2中的介质服务器显示了一个obtar实例,但是obtar自身不是一个后台进程。它是备份或者还原操作期间操作数据和磁带服务的Oracle安全备份底层引擎。当用户在obtool或者Web工具中提交命令时,Oracle安全备份在内部将它们翻译成obtar命令。

假设observiced进程运行在所有主机上,管理服务器上的observiced进程已经启动了obscheduled和obhttpd进程,并且一个客户端文件系统备份作业已经创建并调度。Oracle安全备份后台进程与obtar的交互如下:

    在管理服务器上,obscheduled发送一个运行备份作业的请求到observiced。
    管理服务器上的observiced发送一个装载所需带卷的请求到介质服务器上的obrobotd。
    管理服务器上的observiced发送一个调用obtar的请求到介质服务器上的observiced。
    介质服务器上的obtar建立一个客户端上obndmpd和介质服务器上bondmpd之间的数据连接。备份数据通过数据连接进行传输并写入磁带。obtar通常运行在介质服务器上。如果介质服务器没有运行Oracle安全备份软件,则obtar运行在管理服务器上。一个介质服务器没有运行Oracle安全备份的示例就是基于NDMP的数据存储设备。
    obtar发送备份目录信息到管理服务器上的obixd,然后终止。
    在管理服务器上,observiced发送一个作业状态更新到obscheduled。

 

1.4 预设值与策略

Oracle安全备份预设值和策略(defaults and policies)控制管理域内的操作方式。策略的设置在管理服务器中进行维护。

Oracle安全备份策略分为几个策略类。每个策略类包含了描述特定部分操作的策略。与管理备份和还原功能相关的策略类如下:

    备份加密策略。这些策略控制磁带备份的加密。例如,可以指定是否强制加密备份、密钥长度以及密钥管理。
    后台进程策略。这些策略控制后台进程和服务的行为特性。例如,可以指定是否审计登录和控制索引进程如何更新备份目录。
    设备策略。这些策略控制在设备搜索时如何自动检测设备。
    索引策略。这些策略控制Oracle安全备份如果生成和管理备份目录。例如,可以指定清除备份目录的时间间隔。
    日志策略。这些策略控制管理域中的历史日志。例如,可以指定哪些时间应该在活动日志中进行记录:全部、仅备份操作、仅还原操作,等等。
    介质策略。这些策略控制管理域范围内的介质管理。例如,可以为介质簇null中的成员磁带指定一个保留期。
    NDMP策略。这些策略指定NDMP预设值。例如,可以指定一个用于认证Oracle安全备份到每个NDMP服务器的口令。
    操作策略。这些策略控制各种备份与还原操作。例如,可以设置调度队列中的RMAN备份作业等待资源可用的时间。
    安全策略。这些策略控制管理域的安全。
    调度器策略。这些策略控制调度器的行为。例如,可以指定调度器分派备份作业的频率。
    Vaulting策略。这些策略控制作为数据保护策略一部分的磁带流转方式。
    带卷复制策略。这些策略控制带卷复制的方式。例如,可以控制带卷是否应该通过网络进行或者仅在一个本地主机上进行。

 

1.5 备份映像与介质

要理解Oracle安全备份,必须理解物理备份文件与存储文件的备份介质之间的关系。图1-3描述了备份文件与带卷的关系。概念如下:

    数据块是每次写入操作写入介质的数据量。
    带卷是介质的单位,例如一个8mm磁带。
    备份片段是位于物理带卷上的备份映像的一部分。
    备份映像是一次备份操作的结果。


图1-3 备份映像、备份片段与带卷

 

图1-4描述了卷组与介质簇之间的关系。概念如下:

 

    卷组是一个备份映像跨越的一个或者多个物理卷组成的逻辑组。
    介质簇是共享相同属性的带卷的逻辑分类。例如,一个介质簇中的带卷共享相同的命名模式以及写入数据和保留数据的策略。

图1-4 带卷、卷组与介质簇

使用Oracle安全备份执行文件备份时,将会生成一个卷组,拥有一些共同的特性,由备份关联的介质簇进行定义。
 

1.5.1 数据块与块因子

通常,磁带驱动器按块写入数据。磁带驱动器每次操作写入一个块,在块之间存在间隙。磁带在写入操作期间持续运行。

数据块的块大小就是写入时的块大小,单位为字节。在一次备份或者还原操作期间的所有读写块具有相同的块大小。数据块的块因子表示该块包含的521字节记录的数量。例如,Oracle安全备份默认的块因子(128)表示128*512字节或者64KB的磁带块大小。

最大块因子是块因子的上限值。该上限主要用于还原操作,此时Oracle安全备份必须在不清楚磁带实际块大小时选择一个初始块大小。最大块因子将初始块大小限制为磁带设备和底层操作系统都允许的值。

当Oracle安全备份开始执行备份时,基于几个因素决定使用的块大小。按照优先级顺序,包括:

    使用obtar -b选项指定的块因子。该选项也可以被指定为operations/backuooptions策略的一部分。如果指定了该选项,将会覆盖其他因素。
    磁带驱动器的配置。可以在配置磁带驱动器时指定使用的块因子和最大块因子。
    通过media/blockingfactor策略与media/maxblockingfactor策略设置的管理域范围内的块因子和最大块因子。
    默认的块因子(128)和最大块因子(128),也就是64KB的块大小。

当通过以上因素指定块因子时,必须通过以下测试:

 

    块大小必须小于等于最大块大小。
    块大小必须是磁带驱动器和附属点支持的大小。

 

当Oracle安全备份开始执行还原操作时,它不知道需要使用的块大小。由于读取过小的块将会导致错误和磁带复位,Oracle安全备份首次读取时总是读取最大可能的块大小。该值由media/maxblockingfactor策略或者磁带驱动器配置进行设置。因此,最大块因子,必须总是大于等于要还原的最大块大小。

在首次读取备份映像后,Oracle安全备份比较请求的数据与实际的块大小,并调整随后的读取块大小以匹配磁带。
 

1.5.2 备份映像与备份片段

每次备份操作都会产生一个备份映像。如图1-5,备份映像是由至少一个备份片段组成的文件。

图1-5 备份映像与备份片段

备份映像通过备份ID进行唯一标识。同样,备份片段通过备份片段ID唯一标识。示例1-1显示了lsbu命令输出的ID为1的备份映像的结果。

示例1-1 备份映像

ob> lsbu 1
      Backup       Backup  Volume            Volume          File Sect Backup
   Date and Time       ID  ID                Tag                #    #  Level
2008/07/13.11:56:58     1  VOL000003              ADE203        1    1      0

示例1-2显示了lssection命令输出的属于示例1-1的备份映像的备份片段。

示例1-2 备份片段

ob> lssection --vid VOL000003 --file 1
   BSOID  Volume         File Sect  Level  Client        Created     Attributes
     107  VOL000003         1 1         0  brhost2       07/13.11:56 never expires
 

1.5.3 带卷

带卷(volume)是物理的介质块,例如一盒磁带。Oracle安全备份通过唯一的带卷ID标识每个带卷,获取带卷ID的方式参考下文。

除了带卷ID之外,带卷还可以拥有带卷标签(volume tag)。带卷标签是一个字母数字字符,最多31个字符,通常来自磁带盒上的UPC条形码标签。许多磁带库配有条形码阅读器,以便Oracle安全备份不需要装载并阅读卷标(volume label)就可以识别一个磁带。Oracle安全备份记录了卷标签与它包含的备份镜像之间的关系。
 

1.5.3.1 备份映像与卷标

卷标(volume label)通常包含一个带卷ID,例如lev0-0001,以及一个带卷标签(volume tag),即条形码。这两个属性唯一标识一个磁带。Oracle安全备份通常在第一次写入磁带时创建一个卷标。备份映像的第一个块被称为备份映像标签(backup image label)。它包哈文件号、片段号以及备份映像的拥有者。

显示卷标时,带卷相关的信息显示在标题Volume label下,备份映像相关的信息显示在标题Backup Image label下。这些信息属于单个卷标的不同部分。

对于Oracle安全备份调度系统生成的带卷,还可以看到例如介质簇和带卷过期策略的信息项。

Oracle安全备份的备份映像遵从IEEE POSIX.1数据归档格式。Oracle安全备份在一个标记的卷组中记录每个备份映像的文件编号,从1开始。

当Oracle安全备份在一个带卷中写入多个备份映像时,它在每个备份映像之后放置一个磁带文件标记。在最后一个备份映像之后,写入一个磁带文件标记,然后是一个数据结束(EOD)标记,再加2个磁带文件标记。图1-6演示了包含2个备份映像的带卷的格式。

图1-6 一个带卷上的两个备份映像


备份映像、卷标以及特殊的End of Data/End of Volume标签具有共同的格式,并且包含了带卷和备份映像的数据。卷标具有双重角色,即是带卷的标记,也是带卷中第一个备份映像的标签。同样备份映像标签包含关于下一个备份映像的信息和一个来自卷标的卷信息副本。因此,Oracle安全备份不必倒带读取卷标就可以获取卷信息。

假设图1-6中的带卷即是卷组中的第一个卷。第一个备份映像的卷标可能如示例1-3所示。

示例1-3 备份映像1

Volume label:
 Volume ID:         VOL000014
 Owner:             jane
 Host:              chicago
 File number:       1
 Section:           1
 Sequence number:   1
...

第二个备份映像的卷标可能如示例1-4所示。

示例1-4 备份映像2

Volume label:
 Volume ID:         VOL000014
 Owner:             jane
 Host:              chicago
 File number:       2
 Section:           1
 Sequence number:   1
...

在Oracle安全备份创建一个备份映像之后,它指向该卷中的的EOD标签之前。EOD标签包含前一个备份映像标签数据的副本,除了按1递增的文件号之外。Oracle安全备份使用EOD标签为下一个备份映像提供卷ID、备份映像文件号以及序号,不需要倒回带卷。

在Oracle安全备份读取一个备份映像之后,它指向该卷中刚刚读取的备份映像后面的磁带文件标记之后,下一个备份映像的卷标之前。
 

1.5.4 卷组

Oracle安全备份允许单个备份映像跨越多个带卷。卷组(volume set)是一个或者多个带卷的组合,第一个带卷延续到第二个带卷,第二个带卷延续到第三个带卷,等等。

卷组中的每个带卷拥有一个比前一个带卷大1的带卷序号。因此,在单个连接会话中可以备份或者还原大量的数据。

当Oracle安全备份读写多个带卷时,它使用以下数据记录卷组中带卷的正确顺序:

    EOV标签。如果一个备份映像跨越了一个带卷并延伸到随后的带卷,Oracle安全备份使用一个特殊的EOV标签结束第一个带卷。该标签包含下一个带卷的卷ID。在一个卷组中,除了最后一个带卷外,每个带卷以一个EOV标签结束。最后一个带卷以一个EOD标签结束。
    序号。序号,记录在卷标中,表示带卷在卷组中的顺序。第一个带卷的序号为1。
    片段号。片段号,记录在卷标中,表示跨越多个带卷的备份映像的各个片段的顺序。

图1-7描述了一个包含3个备份映像的卷组。备份映像2跨越了2个带卷。

图1-7 跨越多个带卷的单个备份映像


第一个备份映像的部分卷标可能如示例1-5所示。

示例1-5 备份映像1,片段1

Volume label:
 Volume ID:         VOL000014
 Owner:             jane
 Host:              chicago
 File number:       1
 Section:           1
 Sequence number:   1

第二个备份映像的第一个片段的部分卷标可能如示例1-6所示。

示例1-6 备份映像2,片段1

Volume label:
 Volume ID:         VOL000014
 Owner:             jane
 Host:              chicago
 File number:       2
 Section:           1
 Sequence number:   1

第二个备份映像的第二个片段的部分卷标可能如示例1-7所示。

示例1-7 备份映像2,片段2

Volume label:
 Volume ID:         VOL000015
 Owner:             jane
 Host:              chicago
 File number:       2
 Section:           2
 Sequence number:   2

第三个备份映像的第一个片段的部分卷标可能如示例1-8所示。

示例1-8 备份映像3,片段1

Volume label:
 Volume ID:         VOL000015
 Owner:             jane
 Host:              chicago
 File number:       3
 Section:           1
 Sequence number:   2
 

1.5.5 介质簇

介质簇(Media Family)是卷组的一个命名分类。分类使得创建时间不同的带卷共享相同的属性。这样可以将一个介质簇映射到一种典型的备份操作。
 

1.5.5.1 介质簇属性

一个介质簇中的每个带卷共享以下属性:

    带卷标识序列。Oracle安全备份在以下情况时为带卷写入一个唯一标识:第一次写入带卷;从头开始覆盖带卷。带卷ID由一个固定部分,通常是介质簇的名称,以及一个序号组成。例如,假设介质簇为full_backup,带卷ID可能为full_backup-000029。默认序第一个列号为1。每一个连续的带卷序号按1递增。但是,如果删除了一个介质簇并创建了一个同名的介质簇,带卷序号重置为1。
    带卷过期策略。过期策略(expiration policy)定义了带卷何时可以被覆盖和回收。介质簇可以拥有以下互斥的过期策略之一:内容管理的过期策略,使用RMAN保留期参数决定的带卷过期策略,用于Oracle数据库备份。这种介质簇只能存储Oracle数据库备份;时间管理的过期策略,借助用户定义的保留期。时间管理的介质簇既可以存储数据库备份,也可以存储文件系统备份。对于文件系统备份,如果没有指定介质簇,默认使用介质簇null。对于RMAN备份,默认使用介质簇RMAN-DEFAULT。Oracle安全备份首先写入一个带卷时,为带卷赋予与备份操作关联的介质簇。带卷可能未到期并存在未使用的胶带。只有同一介质簇的备份能够添加到该带卷中。每次备份都添加到介质簇中最近使用的带卷中。如果该带卷已满或者关闭,则写入另一个带卷。Oracle安全备份也可以选择一个可循环的带卷用于备份。当一个卷组过期时,Oracle安全备份自动将其中的每个带卷看作可覆盖和可循环的。如果卷组是内容管理的,一个带卷可以在其他带卷之前过期。
    写入窗口。写入窗口时卷组允许更新而保持打开的时间段,通常是用于添加另一个备份映像。写入窗口在第一个带卷的带卷创建时间打开,并且在写入窗口期到达后关闭。如果备份在写入窗口关闭时写入磁带,备份将会执行,但是以后的备份不能写入磁带。在写入窗口关闭时间之后,Oracle安全备份不允许更新卷组,直到卷组过期,或者手动去标签(unlabel)。
    流转策略。流转策略定义了备份在整个介质生命周期内的物理管理。它决定了带卷从被写入的初始活动位置转移值另一个位置,再到下一个位置,直到重新使用的顺序和时间。

介质簇的属性在带卷创建时间被应用到带卷。介质簇属性是带卷属性的一部分。第一次写入数据后,不能再更改带卷属性,除非重写带卷。如果更改了介质簇属性,这些更改不会应用到已经创建的带卷。
 

1.5.5.2 介质簇中的带卷

创建介质簇时,指定了如何产生带卷ID。

当Oracle安全备份为带卷打标签(label)时,基于带卷序列文件的内容指定带卷ID。该文件位于管理服务器中,位置由带卷的介质簇决定。通常,该文件位于Oracle安全备份主目录下的admin/state/general子目录中。

定义介质簇时,可以通过以下方式指导Oracle安全备份分配带卷ID:

    介质簇的默认带卷序列文件。大多数情况下应该使用该文件。每个介质簇的带卷序列文件位于admin/state/family/family_name目录中。例如,定义了一个名为new_data的介质簇,则文件位于admin/state/family/new_data目录中。Oracle安全备份创建带卷ID的规则为介质簇名称,加上一个破折号,再加上一个6位序列号,第一个序列号为000001。例如,定义了一个名称为new_data的介质簇,Oracle安全备份创建一个名为vol-sequence带卷序列文件。该文件的第一个带卷ID为new_data-000001。每次指定一个ID时,按1递增。也即是说,下一个带卷ID为new_data-000002,以此类推。
    用户定义的带卷序列文件。Oracle安全备份在安装过程中创建一个默认的带卷序列文件,位于管理服务器的admin/state/general子目录中。该文件的第一个带卷ID为VOL000001。每次分配一个ID后,按1递增。也就是说,下一个分配的带卷ID为VOL000002,依次类推。如果指定了自己的带卷序列文件,Oracle安全备份忽略默认的带卷序列文件,而使用用户定义的文件。可以指定该文件的完整路径。Oracle安全备份不会自动创建该文件,必须手动进行创建。可以使用文本编辑器定义带卷ID的前缀。每个带卷ID文件可以包含单个带卷ID。带卷ID最大长度为31个字符。可以指定开头的几个字符以帮助带卷分类。例如,可以指定以下前缀:前缀8mm标识一个磁带设备创建的带卷,DAT标识另一个磁带设备创建的带卷;前缀INCR或者FULL标识用于完全备份或者增量备份的带卷;操作人员姓名的缩写,例如la。如果用户定义的序列号不包含任何数字,Oracle安全备份在序列号后添加一个1,并且每次使用之后递增1。
    用户定义的带卷ID。可以使用mkmf命令的--vidunique选项指定一个明确的带卷ID。例如,可以为先前创建的部分不可读的磁带创建自定义的带卷ID。可以再次执行备份,并且使用--vidunique选项指定一个按顺序排列的带卷ID。同样可以使用restore命令的--vid选项以确保读取了正确的带卷。

 

1.5.5.3 带卷过期策略

创建介质簇时,可以指定带卷过期策略,它决定了带卷何时可以被覆盖和重用。如图1-8所示,带卷可以使用内容管理的过期策略或者时间管理的过期策略。

图1-8 带卷过期策略

1.5.5.3.1 内容管理的过期策略

RMAN备份可以使用基于内容管理的过期策略的带卷,但是文件系统备份不能使用这种带卷。内容管理的带卷的过期由备份片(backup piece)的属性决定。当带卷上的每个备份片都被标记为已删除,带卷可以复用。内容管理的卷组中的带卷可以在其它带卷未过期时过期。

由于内容管理的带卷使用用户定义的RMAN保留设置,RMAN指示Oracle安全备份何时将备份片标记为已删除。实际的备份片不会从带卷中删除,只是更新了Oracle安全备份目录中的属性值。

如图1-8所示,可以通过RMAN或者Oracle安全备份接口删除备份片。使用Oracle安全备份工具删除备份片会导致RMAN资料库中元数据与磁带内容不一致。如果RMAN备份被Oracle安全备份删除,或者由于其他原因导致备份不可用或丢失,应该立即使用RMAN的CROSSCHECK命令更新资料库。

1.5.5.3.2 时间管理的过期策略

时间管理的介质簇中的带卷在到达带卷过期时间后过期。此时,Oracle安全备份自动将卷组中的每个带卷看作可被覆盖的。

如图1-8所示,Oracle安全备份通过以下内容相加计算带卷过期时间:

    卷组中第一个带卷的创建时间。这是Oracle安全备份在第一个带卷写入文件号为1的备份映像的时间。
    写入窗口期。这是用户定义的带卷可被写入的时间段。卷组中的带卷共享相同的写入窗口。
    保留期。这是用户定义的带卷不能被覆盖的时间段。卷组中的带卷共享相同的保留期。如果没有配置写入窗口,保留期从第一个磁带写入开始;如果配置了写入窗口,保留期从写入窗口关闭开始。保留期的设置阻止覆盖介质簇中的带卷,直到指定时间之后。如果一个带卷已满,并且Oracle安全备份继续写入随后的带卷,这些带卷具有相同的保留期。

例如,设置一个介质簇的写入窗口为7天,保留期为14天,则卷组中的所有带卷数据从写入窗口关闭后保留14天。如果Oracle安全备份在1月1日中午首次写入第一个带卷,并且随后写入了20个其它的带卷,则所有的21个带卷在1月22日中午过期。

文件系统备份和RMAN备份都可以写入时间管理的带卷。也就是说,时间管理的带卷可以包含文件系统备份和RMAN备份片的混合。如果将RMAN备份写入时间管理的带卷,时间惯了的过期策略将会覆盖RMAN中的保留设置。
 

1.6 作业与请求

在Oracle安全备份中,备份或者还原请求(request)与作业(job)不同。请求是一个本地存储的备份或还原操作描述,它还不能运行。作业是一个已经提交到调度进程的请求,它能够运行。

调度程序策略决定了调度程序如何处理备份和还原作业。

注释:本节描述文件系统备份与还原作业。关于数据库备份与还原作业,参考“第4章 使用RMAN与Oracle安全备份”。

图1-9显示了Oracle安全备份用户创建一个请求式备份或者还原作业的过程。

图1-9 备份与还原请求与作业


图1-9描述的过程包含以下步骤:

    用户创建一个文件系统备份或者还原请求。例如,用户提交一个备份客户主机brhost2的/home目录的请求。Oracle安全备份在用户的Web工具或者obtool会话中维护一个备份与还原请求的队列。用户可以查看或者修改该队列。当用户终止会话时,未发送到调度程序的请求将会丢弃。
    如果需要,用户可以修改队列中的请求。例如,用户可以删除一个作业请求。
    用户将备份请求发送到管理服务器上的调度程序(obscheduled)。当用户发送一个文件系统备份或者还原请求到调度程序后,该请求成为一个作业。每个作业被赋予一个唯一名称。
    在预定时间,后台服务进程运行该作业。

 

1.6.1 创建作业

本节进一步描述如何创建一个请求式或者预定的文件系统备份与还原作业。以下事件导致Oracle安全备份创建作业:

    Oracle安全备份默认每五分钟检查一次各个备份计划中定义的触发器。对于当天触发的每个触发器,为计划中列出的每个数据集创建一个作业。注释:可以通过调度程序的applybackupsfrequency策略更改检查触发器的频率。在作业描述中,Oracle安全备份将其指定为一个数据集作业,为它赋予一个数字作业标识符,例如15。
    每次创建一个请求式请求并点击“Go”按钮或者在obtool中使用backup --go命令将请求发送到调度程序时,Oracle安全备份创建一个数据集作业。它使用用户名作为前缀,赋予该作业一个标识符,例如,admin/15。
    在数据集作业的预定开始时间,Oracle安全备份读取数据集,然后为它包含的每一个主机创建一个从属作业。在作业描述中,Oracle安全备份将其称为一个备份作业。Oracle安全备份赋予每个备份作业一个标识符,前缀为父作业(数据集)ID,加上一个点号(.),然后是一个唯一的小数字。例如,15.1可能是计划作业15的一个从属作业。
    每次显式请求Oracle安全备份还原数据并点击“Go”按钮或者在obtool中使用restore --go命令将请求发送到调度程序时,Oracle安全备份为每个需要读取的备份映像创建一个还原作业。Oracle安全备份为每个作业赋予一个标识符,例如admin/15。如果Oracle安全备份为一次还原请求创建了多个作业,它会将每个作业标记为依赖于前一个作业的成功执行,除了第一个作业外。这样做的结果就是,如果一个作业失败了,依赖于它的后续作业也被标记为失败。

到达执行作业的时候,调度程序决定执行作业最重要的准则是用户指定的调度优先级。调度程序优先调度更高优先级的作业,假如该作业所需资源全部可用的话。例如,如果调度程序拥有20个就绪的作业,Oracle安全备份运行具有最小优先级数字的作业(数字越小,优先级越高)。
 

1.6.2 作业日志

Oracle安全备份为每个作业维持一个日志。该日志描述了高层级别的事件,例如作业的创建、调度以及完成时间。可以通过Oracle安全备份Web工具或者obtool查看日志。
 

1.6.3 作业记录

Oracle安全备份为每个作业维护一个运行记录(Transcript)。该记录描述了作业操作的详细信息。Oracle安全备份在第一次调度作业时创建该记录,并在作业处理过程中更新记录。当作业需要操作人员的协助时,Oracle安全备份使用该记录提示帮助请求。
 

1.6.4 作业汇报

作业汇报(Job Summary)是Oracle安全备份产生的,用于描述文件系统备份与还原作业状态的文本文件报告。每个报告包含4个部分,通过作业状态进行区分:

    作业当前可以运行(但还没有开始)
    作业正在运行
    作业成功完成
    作业被取消、被废弃或者失败

可以创建一个作业汇报计划,用于Oracle安全备份生成多个报告,每个包含不同时间段或者活动内容。创建作业汇报计划时,可以选择以下选项:

    作业汇报的唯一名称
    生成作业汇报的日期
    作业汇报发送邮件的接收者
    作业汇报跨越的时间段起始时间。结束时间总是汇报的生成时间
    作业汇报的内容