跨云或自建Oracle物理备份与恢复

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

数据灾备(DBS)支持对Windows或Linux操作系统上的Oracle数据库进行物理备份,支持备份Oracle单实例、Data Guard Physical Standby、RAC等多种架构的Oracle数据库。

本文介绍Oracle物理备份,关于Oracle逻辑备份的信息,请参见跨云或自建Oracle逻辑备份与恢复

支持物理备份的Oracle架构

单实例、单实例ASM、Oracle Data Guard Physical Standby、Oracle RAC

说明
  • 为了保证备份成功,需要在备份前对Oracle的控制文件、参数文件、数据文件、归档日志、REDO日志文件进行检查。具体操作,请参见Oracle物理备份的准备工作

  • 您只需在RAC多台实例中任意选择一台实例机器上部署备份网关并输入对应设备上的目标Oracle SID号,即可完成整个RAC的备份。

前提条件

  • 已开启Oracle数据库的归档模式。具体操作如下:

    开启归档模式

    数据灾备(DBS)通过Oracle的RMAN工具进行数据库备份。Oracle数据库的归档模式默认为关闭状态,需将其开启才能进行备份。

    1. 使用系统管理员sysdba角色通过as sysdba命令登录Oracle数据库。

    2. 通过SQL命令ARCHIVE LOG LIST查询当前数据库的归档状态,返回示例如下:

      Database log mode              No Archive Mode  #非存档模式
      Automatic archival             Disabled
      Archive destination            USE_DB_RECOVERY_FILE_DEST  
      Oldest online log sequence     1    
      Current log sequence           2  
      说明

      Database log mode参数返回Archive Mode #存档模式,则表示当前已开启归档模式,开启归档模式步骤结束,无需进行后续操作。

    3. 如果归档模式未开启,请通过SQL命令SHUTDOWN IMMEDIATE关闭数据库,因为无法在OPEN状态下开启归档模式。

      警告

      请管理员在非业务高峰期进行此操作。

    4. 通过SQL命令STARTUP MOUNT启动数据库至MOUNT状态。

    5. 通过SQL命令ALTER DATABASE ARCHIVELOG开启归档模式。

    6. 再次通过SQL命令ARCHIVE LOG LIST查询归档状态,返回示例如下:

      Databaselog mode             Archive Mode #存档模式
      Automatic archival           Enabled 
      Archive destination          USE_DB_RECOVERY_FILE_DEST 
      Oldest online log sequence 1
      Next log sequence to archive 2
      Currentlog sequence        2
      说明

      开启后,Oracle默认的日志归档路径为闪回恢复区($ORACLE_BASE/fast_recovery_area),该目录默认仅有4 GB的空间,同时也是备份文件和闪回日志的默认路径。为避免该磁盘空间不足导致数据库服务异常,您可按需调整该目录的空间大小或修改日志归档路径。

    7. 通过SQL命令ALTER DATABASE OPEN启动数据库。

  • 已获取Oracle SID。具体操作,请参见获取Oracle SID

    获取Oracle SID

    • Linux

      执行如下命令,从系统进程信息中提取出正在运行的Oracle数据库实例的SID:

      ps -ef | grep ora_pmon_ | grep -v grep | awk -F "ora_pmon_" '{print "oracle sid: "$NF }' | grep -v print

      如下返回示例表示Oracle SID为orcl

      oracle sid: orcl
    • Windows

      在Windows的命令行界面中快速获取Oracle数据库实例的SID和服务名:

      sc query type=service | findstr SERVICE_NAME | findstr OracleService

      如下返回示例表示Oracle实例的SID为orcl,服务名为OracleServiceORCL

      SERVICE_NAME: OracleServiceORCL
  • 已在Oracle数据库所在的服务器上添加备份网关。具体操作,请参见添加备份网关

使用限制

由于DBS Oracle物理备份依赖于RMAN和控制文件来管理备份元信息。因此,为了保证备份和恢复的可靠性,使用DBS Oracle物理备份或恢复时,需注意以下限制:

  • 不支持为同一个Oracle数据库配置两个或更多备份计划,否则会导致恢复异常。

  • 按时间点进行Oracle恢复时,请勿删除指定时间点之前的最近一份全量备份集。如果删除了该备份集,会导致恢复异常。

步骤一:创建备份计划

具体操作,请参见创建备份计划

说明

购买时,选择数据库类型为Oracle,并选择备份方式为物理备份

步骤二:配置备份计划

  1. 登录数据管理DMS 5.0

  2. 在顶部菜单栏中,选择安全与规范(DBS) > 数据灾备(DBS) > 备份计划

    说明

    若您使用的是极简模式的控制台,请单击控制台左上角的2023-01-28_15-57-17.png图标,选择全部功能 > 安全与规范(DBS) > 数据灾备(DBS) > 备份计划

  3. 找到目标备份计划ID,单击右侧操作列下配置备份计划

  4. 配置备份源和目标页面,配置备份源信息与备份目标信息,并单击页面右下角的下一步

    image.png

    类别

    配置

    说明

    备份计划名称

    DBS会自动生成一个任务名称,建议配置具有业务意义的名称(无唯一性要求),便于后续识别。

    备份源信息

    备份方式

    默认为创建计划时购买的备份方式。本案例介绍Oracle物理备份。

    实例地区

    选择需要备份的实例所在地区。

    备份网关

    选择目标数据库的备份网关。添加备份网关的方法,请参见添加备份网关

    数据库类型

    默认为Oracle数据库。

    SID

    填入目标数据库的Oracle SID。更多信息,请参见获取Oracle SID

    登录数据库

    填入登录数据库的SQLPlus命令,格式为数据库账号/密码@实例名 as sysdba。例如,sys/password@orcl as sysdba

    说明

    您也可以直接填入 / as sysdba,若数据库环境禁用操作系统权限将导致无法登录,请仍使用数据库账号/密码@实例名 as sysdba格式登录。

    Oracle Home

    填入ORACLE_HOME的绝对路径。更多信息,请参见获取数据库程序目录

    说明

    本参数非必填。

    数据跨境合规承诺

    阅读并勾选合规承诺。

    备份目标信息

    备份目标存储类型

    备份目标存储类型,支持的选项:

    • DBS内置存储(推荐):无需创建存储空间,数据将自动存入DBS内置存储中,会根据存入DBS的数据量产生费用,计费方式请参见计费项

    • 用户OSS:您需要提前在OSS中创建存储空间(Bucket),更多信息,请参见控制台创建存储空间

    说明
    • 本示例为选择DBS内置存储,当您选择用户OSS时,您还需额外配置对象存储OSS Bucket名称参数,且只支持OSS标准存储。

    • 当您的存储数据量较大时,推荐您购买DBS存储包(包年包月)抵扣DBS内置存储费用。相比按量付费,DBS存储包更加优惠。

    存储方式

    存储方式,支持的选项:

    • 内置加密存储(推荐):使用行业标准的AES256算法(即256位高级加密标准)进行加密存储。

      在对象存储OSS中支持服务器端加密功能。上传文件(Object)时,OSS对收到的文件进行加密,再将得到的加密文件持久化保存;下载文件时,OSS自动将加密文件解密后返回给用户。更多信息,请参见服务器端加密

    • 非加密存储:不开启加密。

  5. 配置备份对象页面,默认选择备份整个实例,单击下一步

    说明

    选择备份整个数据库时,将会同时备份权限、存储过程等信息。

  6. 配置备份时间页面,配置备份时间等信息,并单击页面右下角的下一步

    配置

    说明

    全量备份频率

    按需选择周期备份单次备份

    全量备份周期

    勾选备份数据的周期,取值范围为星期一至星期日。每周最少备份1次,最多备份7次。

    全量备份开始时间

    选择备份开始时间,例如01:00,建议设置为业务低峰期。

    说明

    若到了指定备份时间点,仍有上次的全量备份任务在进行中,则会自动跳过一次备份。

    增量备份

    选择是否开启增量备份。

    说明

    开启该参数时,请确保目标数据库已开启Binlog,其中RDS MySQL已默认开启Binlog,自建数据库需要手动开启Binlog。

    该参数仅在全量备份频率参数为周期备份时显示。

    全量备份并行线程数上限

    填写全量备份并行线程数上限,您可以通过设置该参数调节备份速度,例如降低备份线程数,以减少对数据库的影响。

    备份网络限速

    网络带宽限制(默认为0,表示不限速),取值不限。

    增量备份间隔时间

    增量备份的间隔时间,系统会根据该时间间隔进行增量备份。如您将该间隔时间设置为10分钟,系统会每隔10分钟进行一次增量备份。

    备份成功后是否删除日志

    在备份成功后,是否从自建库中删除已成功备份的归档日志,支持的选项:

    • :在备份成功后,系统将从自建库中删除多少天前的归档日志,您还需配置删除多少天前的归档日志参数。默认为7天,表示在备份成功后,系统将在自建库中删除7天前的归档日志。

    • :不删除自建库中的归档日志。

    开启压缩

    选择是否开启压缩,支持的选项:

    • 开启(推荐):在备份时,对数据进行压缩,减少存储的空间。

    • 关闭:在备份时,不对数据进行压缩。

    备份集模式

    选择无入侵流式备份模式或秒级恢复挂载备份模式,支持的选项:

    • 无入侵流式备份模式:通过Oracle SBT(backup set)方式进行备份,通过虚拟化磁带接口流式备份上云,对源库无入侵,存储空间相对较少。

    • 沙箱实例挂载备份:通过RMAN执行Image Copy备份,备份数据将通过Fuse文件协议备份到OSS,备份期间数据不落盘,流式传输到OSS。若开启DBS沙箱功能,即可实现备份数据秒级挂载。

      说明

      您的服务器需要安装FUSE,否则会导致备份失败。

  7. 配置生命周期页面,输入全量备份数据在DBS内置存储中的保存时间。

    若您在上一步开启了增量备份功能,您还需要配置增量备份数据的保存时间,关于备份数据生命周期的更多信息,请参见如何管理生命周期

  8. 完成上述配置后,单击页面右下角的预检查并启动

  9. 在预检查对话框中显示预检查通过后,单击立即启动

    说明
    • 待备份计划状态变为运行中,表示备份计划已配置完成。

    • 如果备份计划出现异常或报错,建议您及时排查问题并修复。具体操作,请参见如何修复异常DBS备份计划。若按照文中修复建议仍未解决您的问题,请到DBS客户咨询群(钉钉群号:35585947)进行咨询。

后续操作

数据灾备(DBS)支持异机恢复、原机异位置恢复、原机原位置恢复。更多信息,请参见恢复Oracle物理备份

常见问题

Q:是否支持直接将一个Oracle数据库同时备份到不同的地域,以实现多地存储?

A:由于数据灾备(DBS)的备份功能是基于RMAN进行管理的,RMAN的备份元信息结构不支持交叉备份的形态。因此,暂无法直接将备份数据同时备份到不同的地域。