引言

本文提供CDS带外环境下相关配置,保护和恢复Oracle的所需步骤。

目的是提供Oracle数据库配置前的详细说明,Actifio环境下发现和配置Oracle数据库,执行还原和恢复,以及配置Oracle数据库进行克隆以支持测试和开发的功能。

本文假设读者熟悉Actifio软件,特别是在发现主机、应用程序或数据库并将其置于CDS保护之下。

读者

本文需要读者是一个:

•使用Actifio Desktop管理Oracle数据库的系统管理员或备份管理员。

•负责Oracle数据保护的数据中心所有者。

•其他用户,并对Actifio Desktop具有不同级别的访问权限。

  • 介绍

以下是Oracle保护前的预先检查知识。这些预先检查将确保Out-of-Band环境中的正确操作。检查和配置步骤包括:

l  验证Oracle侦听器状态

l  验证Oracle数据库的运行状态


预先检查Oracle SID条目


使用Actifio Desktop发现Oracle数据库

l  执行数据库备份和成功验证


配置Advanced Actifio设置


数据库还原和恢复功能

l  用于测试和开发的数据库克隆配置

  • 支持列表

使用Actifio CDS的当前软件版本,通过带外方式为Oracle提供完整的备份、还原和恢复。

通过FC或ISCSI协议 Actifio以永久增量的方式来提供合成全备份,需要注意的是,这种为带外的方式(带内与带外实现方式截然不同,也是支持的),CDS的带外方式作为旁挂,不接入到oracle主机和存储的中间层进行使用。

支持的版本包括:

Oracle版本:10g,11g,12c

支持的oracle配置包括:

文件系统

独立的ASM

ASM方式的RAC

Exadata

支持的文件系统:

Linux RHEL,SLES,AIX,HPUX,Solaris和Windows。其他操作系统会陆续支持。

  • Actifio如何备份

在详细介绍预配置步骤之前,需要首先深入了解Actifio如何提供永久增量备份。

一旦Actifio Connector安装在数据库服务器上,通过Desktop将能够发现所有需要保护的Oracle数据库实例。并显示在Actifio Desktop的导航界面。

发现Oracle之后,创建SLA来定义整个数据生命周期。例如,定义备份到Snap Pool的频率以及希望保留多久的时间。Snap Pool的数据以原始格式保存,提供即时数据检索。

然后将同样的方法应用于DedupPool。定义什么时候要执行Dedub备份,以及我们希望保留到Dedup Pool多久。DedupPool是为了长期保留并且为全局重删。这是一个非常好的长期保留数据的方案。可以满足任何异地保存和灾备的需求。

一旦应用了SLA,备份作业将根据定义的SLA频率开始运行。

首次运行备份时,Actifio将根据配置,通过FC或iSCSI将staging disk挂载到Oracle数据库服务器。Actifio调用RMAN,运行RMAN
0级Image Copy备份。Image
Copy 进行整个数据库和所有数据文件的block级备份,附加上数据文件的格式。

一旦0级Image Copy备份完成,在staging
disk上生成一个备份映像,随后拍摄一个快照,并在Actifio内保存一个完整的时间点拷贝。然后,从生产服务器上卸载并删除这些拷贝数据。

第二次运行备份时,对于以后的每个实例,Actifio将再次将相同的staging disk mount到Oracle服务器。然后调用RMAN
1级增量备份,仅备份被更改的block。然后通过RMAN增量MOD功能会将该增量与上个全备份合成,在staging disk上创建一个新的完整副本。随后Actifio创建一个新的快照,存储这个时间点的拷贝,最后再次卸载staging disk。

因此,当需要从Snap Pool,DedupPool或远程站点访问任何时间点数据时,每个副本都是完整副本并可立即使用,大大缩短恢复时间。

举个例子,对于大型数据库,数据库通常每周末进行一次全备份,并每天进行一次增量备份。因此如果设置了30天的SLA,则最终将拥有至少5个全备份副本以及所有增量。在Actifio中,你将只有一个全备份副本以及所有的增量。

这种方法从根本上减少了全备份的时间。例如,对于1TB的数据库,在周末将不会备份数小时。It also frees up your incremental backups after the first time with less
I/O moving forward,因此备份时间将减少到半小时或一小时。

Actifio在节省存储方面也提供了巨大的好处,因为Actifio只保存增量数据。Snap
Pool里的数据只存储一两天或三天的数据以提供即时访问。之后,数据复制到Dedup Pool进行更长期的保留。

另一个好处涉及到了传统的Oracle备份格式,如果备份集以传统的Oracle备份格式存储。那么当我们从传统备份集运行RMAN还原和恢复时,RMAN首先必须将其转换为数据文件格式,然后才能启动还原和恢复。

使用Actifio解决方案,文件保存为Image Copy,它保留了数据文件格式。RMAN跳过从备份的文件格式到数据文件格式的转换过程直接进入还原和恢复。所以恢复将比传统方法快得多

Actifio也跟踪Database Incarnation。Database Incarnation是非常重要的,因为如果你通过full
restore和recover恢复到以前状态,Database Incarnation就会发生变化,日志序列被重置。这意味着,在full restore和recover完成后,任何之前的备份都无用了。

当备份运行时,Actifio会自动跟踪Incarnation number的变化。如果Incarnation发生变化,下一次的备份将是0级备份,重新完成一个全量备份,然后继续增量。以上这些不必进行配置更改,Actifio的整个备份架构是完全自动的,不必编写脚本,也不必做任何事情。一旦你配置了用户名和密码,RMAN将会被整合,所有过程将会自动进行。

  • 归档日志备份

大多数大型企业环境中,不会非常频繁地进行数据库备份。这是因为运行RMAN进程会对数据库环境造成很大的影响,并可能会中断业务运行。因此,大多数数据库备份将在维护时段期间运行,通常是在凌晨并每12小时或每24小时运行一次。Actifio的备份窗口可能需要1到2个小时,或多达4个小时,这取决于数据库的大小。

因此,保护​​的归档日志变得非常重要。根据系统环境需要采用不同的备份方式。如果单实例数据库,归档日志在文件系统上。在这种情况下,Actifio可以通过保护归档文件目录来保护归档日志。或者使用staging disk来做RMAN的备份,即提供staging disk到oracle中,作为oracle归档日志的第二目的地。

Actifio已经提供了脚本模板,指导如何使用RMAN来备份归档到Staging disk然后进行保护。Post-script脚本用来清除归档,保证不断增长的归档日志不会撑满系统,Post-script脚本在SLA中配置运行。

因此,通过Actifio数据库备份策略以及归档备份,将有益于整库恢复,即时恢复或归档日志恢复到任意时间。

  • Oracle备份前预检

在发现和保护的Oracle数据库之前,需要对的Oracle环境执行一系列预检,以确保Actifio正常运行。这些预检应该在所有标准的Oracle生产环境中执行。

首先验证生产数据库服务器上是否安装了Connector。这是用来调用RMAN执行备份和恢复过程的服务。

确认Oracle监听已启动并正在运行。当调用RMAN时,需要使用服务来连接到生产数据库。

另外,还有一些命令可以用来确保数据库正常运行。例如pmon,pmon是数据库的进程监视器,可以调用它来验证是否正常运行。如果这些命令中的任意一个提示有错误,需要在继续进行Actifio备份之前改正。

当Actifio执行Oracle数据库自动发现时,将在/etc/oratab文件中查找指定条目。准备来说,将查找数据库的SID条目。通常在oracle安装期间,数据库SID的条目被写入oratab文件。如果数据库是手动创建的,那么这些条目可能会丢失。因此,验证此条目以正确发现Oracle数据库非常重要。

在这个例子中,oasm是数据库的SID名称,在语句的结尾是Y,表示重新启动后会自动启动数据库。这个开关被oracle用来调用它的脚本来自动启动数据库。

继续执行其他的Oracle数据库预检步骤。

Su - oracle(切换到oracle的os用户)。

或许需要设置数据库环境变量:

export ORACLE_HOME = <oracle home path>(可以从/etc/oratab获得)

查看Oracle SID值:

export ORACLE_SID = <数据库实例名称>(可通过ps -ef | grep pmon获取)

设置PATH:

export PATH = $ ORACLE_HOME/bin:$ PATH

Actifio执行其备份时,会备份Oracle数据库结构的所有组件,包括数据文件,控制文件和参数文件。因此,需要验证数据库是否正在使用spfile运行。

在验证数据库正在使用spfile运行之后,将需要确保的归档日志已启用,这是必须的,因为Actifio调用RMAN备份,并且需要归档日志。

对于oracle备份帐户,可以创建一个默认帐户,或者直接使用现有用户。在SLA应用和保护过程中,Actifio会要求提供用户名和密码。另外,需要提供对此帐户的sysdba访问权限。

  • 创建TNS服务条目

TNS条目(tnsnames.ora文件)需要使用数据库服务器的正确IP地址以及正确的数据库名称进行修改。

tnsnames.ora文件中TNS服务条目被Actifio用来调用备份过程。(对于RAC,在所有节点上创建此条目)

tnsnames.ora文件路径如下:

$
ORACLE_HOME/network/admin或$ ASM_HOME/network/admin

编辑tnsnames.ora文件。在文件末尾添加图中的条目,并用正确的值修改<数据库服务器的IP>和<数据库名称>。

  • 验证TNS服务条目

在修改tnsnames.ora文件之后,执行tnsping来验证。

如果已经在DNS下创建了服务名称,则可以使用tnsping 这个服务名称。

另外,还需要验证为RMAN备份提供的数据库用户帐户,是否可以在命令行上以sysdba身份进行连接。

  • Verify Database Block Change Tracking

虽然是可选的,但Actifio强烈建议启用BCT。BCT可以通过从命令行查看v $ block_change_tracking来验证。

需要注意的是:企业版支持bct而标准版不支持。如果启用,不需要重启oracle服务,可在线更改。

  • 保护数据库

  • Oracle
    Database Protection

在完成Oracle预检后,现在可以选择需要保护的Oracle数据库,并应用适当的SLA来满足我们的备份要求。

在Actifio desktop中发现的oracle实例,会显示在导航窗格左侧的APP选项卡下。

导航中选中需要保护的数据库。从下拉列表中选择适当的SLA模板。该模板定义了快照,Dedup和复制的计划。

从下拉列表中选择一个资源配置文件。该配置文件定义用于将应用程序的数据存储到快照池,DedPool或远程池。

在凭证区域输入相应的RMAN备份用户名和密码,然后点击test按钮。

Test按钮将会让Actifio系统运行先前在Oracle生产环境中配置的预检查。系统将通过所有的预检,然后反馈是否有问题。如果在执行预检时没有显示错误消息,则可以继续保护数据库,点击保护按钮。

可以监视以下日志文​​件

/act/log/USDAgent.log – Connector日志

/act/log/rman_sid.log - 用于RMAN数据库备份

  • 高级选项

右上角的高级设置提供了一些可调参数,可以进行微调备份过程。下一张幻灯片中详细介绍一些这些设置。

高级设置对数据库备份进行微调。以下重点介绍以比较重要的选项:

Number
Of Channels:指定数据库服务器在执行备份时所使用的通道数量。默认值为3,应根据可用的系统核数进行调整。增加通道数量将提高备份性能。

Staging
Disk Size:非必选,但强烈建议设置staging disk的大小。如未指定,将使用系统默认值。

举个例子,假设一个数据库有15个数据文件,每个数据文件大小为10GB,每个数据文件中使用了4 GB。这种情况下,分配的数据库总大小为150 GB,实际使用的空间为60 GB。

计算staging disk的大小时,Actifio参考数据文件分配大小(150GB),并附加25%的空间产生187.5
GB的staging disk,以上是假定AutoExtend是OFF的前提。

如果AutoExtend为ON,每个数据文件允许增长到32 GB,直到最大为止会产生480 GB的总分配大小。staging disk计算现在生成一个600GB(480×1.25)的staging disk大小。

由于存储的差异等,强烈建议在计算staging disk大小时详细了解其存储和增长需求。

  • Oracle
    Advanced Settings

如上所述,Number Of Channels:可以增加通道数量来提高备份效率。此值基于服务器上可用的内核数量来修改,并要考虑到并行执行的其他数据库。

staging
disk size:如上所述,强烈建议根据存储利用率和预测的增长量来设置staging disk size。这会非常有效的使用系统资源。

RMAN
Log Location:可以为RMAN备份的输出log指备用位置,例如由默认的/var/act/log/rman<dbname>.log指定到其他地方。

高级设置提供“恢复验证”功能。虽然不建议,如果选择此项,RMAN会在备份和还原期间分析并验证每个数据文件中的每个数据块,验证是否有数据损坏。这将大大增加系统资源的使用,并会降低备份和恢复效果。

另外,如果客户有单独的CATALOG库,我们需要CATALOG DBNAME,CATALOG DB USER和CATALOG DB PASSWORD。

其他可能涉及到的高级设置:

OracleNamed
Listener:很多情况下,每个数据库可能会有单独的监听。Actifio支持此环境。各自的数据库使用各自的监听。这种环境下如果不指定各自的监听,actifio无法连接数据库。

RMAN
backup not skip:设置是否跳过离线和不可访问的表空间的备份。在用户的测试库中常有这样情况。

Oracle
Service Name :在tnsnames.ora文件中指定新的服务名称以供Actifio正常备份。

Cluster
Nodes:

语法:

Failoverchoice:NodeIP:Servicename:Role

1:172.16.16.21:svc_orarac2_act:F

1表示备份故障切换的优先级。

IP地址是故障切换节点的地址,后跟故障切换节点的服务名称。

F(failover)定义了为故障切换。

但是如果节点列表中被标记为“M”维护节点。指定“F”的节点会在维护节点不可用时按顺序进行尝试。一旦为M的维护节点变为可用,故障恢复备份节点将恢复为维护节点。

当备份运行时,受保护的节点不可访问,Actifio将查看此列表,查找已定义的优先级,并开始访问列表中指定的节点。

“Do
not Unmap”选项,是否要将临时staging disk映射到主机并保持映射。在第一个Job期间映射的LUN,所有后续作业将重新使用相同的LUN。默认情况下,该选项被选中。

Connector
Options留空,这是Actifio的支持选项。

Actifio Connector必须安装并在所有的配置为故障切换的主机节点上。保护仅从一个节点设置。

高级设置,Cluster Nodes

Failoverchoice:NodeIP:Servicename:Role

Failoverchoice:是用户想要尝试切换的节点顺序。

NodeIP:要运行备份的节点的IP

Servicename:是Actifio RMAN备份在tnsnames.ora中创建和指定的服务的名称。可以是为Actifio备份创建的专用服务或该节点上数据库的SID名称。

Role: F(failover)或M(maintenance)

  • 归档日志保护

  • Oracle
    Archive Log protection

Actifio的解决方案中,保护Oracle Archive Log主要有两种方式。

如果是standalone数据库,可以用带外的方式保护归档目录。为存档日志目录制定策略进行备份。

或者让oracle直接归档到staging disk,再通过actifo备份走。

Optionally,
the operator may mount a permanent staging disk from Actifio to the database
server.  From there, configure the RMAN
archive backup script to backup onto the staged Actifio disk.  Alternatively, the operator could configure
an Actifio pre-script to run the archive backup on the Actifio mounted disk.

Lastly,
protect the mounted staging disk through the Actifio CDS, and configure
snapshot protection of the staging disk based on an appropriate SLA.

如果需要,可以在oracle中把staging disk配置成归档的第二目的地。

配置过程。

了解归档日志所需要的存储空间非常重要。因此需要计算归档日志的大小。

另外,了解归档日志生成频率频率也很重要。图中命令计算归档日志生成速率。

  • 恢复步骤

以下是执行完整数据库恢复所需的详细步骤。

这些步骤适用于将数据库恢复到原机、异机。这些都会创建相同的存储结构。

首先,在Desktop中确定要恢复的实例,正确的时间点副本。

当提交mount操作时,Actifio会创建一个新的flash
copy,并根据配置使用FC或Iscsi协议。

由于数据库down机,将需要进行必要的编目cataloging。首先,恢复的参数文件,这是恢复数据库必需的。此外,还需要恢复数据文件,控制文件以及所需的归档日志。

按策略执行RMAN备份时会跟踪日志序列号。当备份结束时,比较并检查序列关系,并且备份归档日志,以便始终覆盖该时间点。

如果已单独备份存档日志,那么在打开数据库之前,将再次从同一时间点进行归档日志的备份。

首先mount最新的备份快照并且恢复的参数文件。指定参数文件位置路径。

然后,从pfile文件创建spfile。

最后,使用spfile启动数据库到nomount。

启动到nomount状态后,继续从actifio的mount点恢复控制文件。

恢复后,启动数据库到mount。

启动到mount,catalog挂载目录下的数据文件目录和归档日志目录。编录并完成注册。

然后,将数据库恢复到适当时间点。cd到Actifio mount的归档目录,按照图中命令进行恢复。

这时候如果没有其他归档日志需要前滚,则可以用resetlogs选项打开数据库。这就是基于时间点的数据库恢复。

如果需要执行表空间或数据文件恢复,则使用相同的步骤进行恢复。Mount快照,进行catalog编录,完成前面所述步骤。

  • 开发测试clone

以下介绍用于测试和开发的clone功能。

Actifio提供了一组基本的,预配置好的脚本,创建生产库虚拟clone来用于测试和开发目的。虚拟克隆可以mount到生产服务器上,也可以mount到任意其他满足条件的服务器上。虽然脚本是以标准格式的,但很可能需要定制才能在实际生产环境中运行。

可以自定义这些脚本来打开数据库,既可以使用大内存,也可以使用小内存。也就是说,可以根据资源来合理分配内存并使用clone。

customerClone.sh是执行clone的主要脚本。其中几个参数需要在执行过程中确认。

这些参数包括新的SID名称(允许使用相同的名称或不同的名称创建虚拟数据库副本)。

还必须提供ORACLE_HOME路径,并可以选择性提供Image Copy的挂载路径。。

根据这些参数,customerClone.sh调用其他一些脚本。克隆过程中,首先读取参数文件,并创建一个新的参数文件。如果有自定义的部分,则会将这些设置应用于新的虚拟克隆。

数据库启动,并为克隆创建新的控制文件,并提供挂载的数据文件的位置。然后以可读可写模式打开数据库。

因此,通过clone进行mount,在目标服务器上是不需要存储空间的,并可以在5到10分钟内启动数据库。

关于customerClone.sh脚本还需要考虑一些其他配置项。默认情况下,控制文件最大文件设置为500.这可能不够大,例如有5000个文件的环境。就需要自己定制修改了。

此外,performance logs默认为3.如果希望增加日志数量,也是需要根据情况修改的。

Actifio如何保护和管理Oracle-带外篇的更多相关文章

  1. Oracle注入之带外通信

    Oracle注入之带外通信和DNSLOG注入非常相似,例如和mysql中load_file()函数实现无回显注入非常相似. 下面介绍这个技术中常用的函数和使用. 环境这里准备两台测试,一台注入点的靶机 ...

  2. TCP带外数据

    传输层协议使用带外数据(out-of-band,OOB)来发送一些重要的数据,如果通信一方有重要的数据需要通知对方时,协议能够将这些数据快速地发送到对方.为了发送这些数据,协议一般不使用与普通数据相同 ...

  3. ipmitool+python应用处理大量带外地址

    ipmitool 是一种可用在 linux 系统下的命令行方式的 ipmi 平台管理工具,它支持 ipmi 1.5 规范(最新的规范为 ipmi 2.0),通过它可以实现获取传感器的信息.显示系统日志 ...

  4. 服务器BMC(带外)

    服务器除了装linux,windows系统外,相应还有一个可通过网线(服务器默认带外地址--可改)连接具体厂商服务器的BMC(Baseboard Management Controller,基板管理控 ...

  5. 网络IPC:套接字之带外数据

    带外数据(Out-of-band data)是一些通信协议所支持的可选特征,允许更高优先级的数据比普通数据优先传输.即使传输队列已经有数据,带外数据先行传输.TCP支持带外数据,但是UDP不支持.套接 ...

  6. oracle 删除外键约束 禁用约束 启用约束

    oracle 删除外键约束 禁用约束 启用约束 执行以下sql生成的语句即可 删除所有外键约束 Sql代码  select 'alter table '||table_name||' drop con ...

  7. 番外篇--Moddule Zero多租户管理

    番外篇--Moddule Zero多租户管理 2.1.1 关于多租户 强烈建议阅读这个文件前阅读多租户文档. 2.1.2 启用多租户 ASP.NET Boilerplate和module-zero可以 ...

  8. UNIX网络编程——带外数据小结

    TCP没有真正的带外数据,不过提供紧急模式和紧急指针.一旦发送端进入紧急模式,紧急指针就出现在发送到对端的分节中的TCP首部中.连接的对端收取该指针是在告知接收进程发送端已经进入紧急模式,而且该指针指 ...

  9. UNIX网络编程——TCP带外数据小结

    带外数据概念实际上时向接收端传送三个不同的信息:(1)发送端进入紧急模式这个事实.接收进程得以通知这个事实的手段不外乎SIGURG信号或select调用.本通知在发送进程发送带外字节后由发送端TCP立 ...

随机推荐

  1. Python36 二进制文件读写问题

    在Python36中写如下代码: __author__ = '-------'#-*- coding: utf-8 -*-import struct fo = open("myfile.tx ...

  2. Vmware网络不可达

    1. ifconfig -a   查看当前的网卡 2. cd  /etc/sysconfig/network-scripts/ 3. 打开对应网卡名称文件, 具体修改内容参考(https://www. ...

  3. 1—ARM中的寄存器

    ARM共有37个寄存器.其中31个通用寄存器和6个状态寄存器. 一般通用寄存器R0-R12 R0-7为未分组寄存器:R8-12为分组寄存器. 未分组寄存器:在任何模式下,指向的都是同一个32位的物理寄 ...

  4. 学号 20175223 《Java程序设计》第9周学习总结

    目录 教材学习内容总结 教材学习中的问题和解决过程 1. 输出文件时过多输出. 代码调试中的问题和解决过程 1. 问题:费马素性检验程序. [代码托管] 学习进度条 参考资料 目录 教材学习内容总结 ...

  5. mysql 的存储过程_多字段

    mysql 的存储过程 一.准备工作 新建一个表 /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server V ...

  6. Python03(Linux和Python简介)

    Trainning-day02回顾1.rmdir : 删除空文件夹2.rm :删除文件或者文件夹 -r 删除目录以及其内容 -i 删除前的提示 -f 强制删除3.通配符 * 匹配任意多个任意字符 ?匹 ...

  7. 在执行hadoop fs命令时,出现WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误

    错误呈现: 解决过程: (参考链接:https://www.cnblogs.com/kevinq/p/5103653.html) 1.输出hadoop的详细日志,并执行hadoop fs命令来查看错误 ...

  8. 我的自定义框架 || 基于Spring Boot || 第一步

    今天在园子里面看到一位大神写的springboot做的框架,感觉挺不错,遂想起来自己还没有一个属于自己的框架,决定先将大神做好的拿过来,然后加入自己觉得需要的模块,不断完善 目前直接复制粘贴过来的,后 ...

  9. Python实现12306自动查票程序

    这是在网上扒拉过来的,原文链接: http://blog.csdn.net/An_Feng_z/article/details/78631290 目前时间2018/01/04 文中各种接口均为可用,亲 ...

  10. v-echart 按需加载

    import 'v-charts/lib/style.css';import VeBar from 'v-charts/lib/bar' // 条形图import VeRadar from 'v-ch ...