执行RMAN恢复的高级场景_通过网络还原和恢复文件

本文详细介绍了如何使用RMAN通过网络从物理备数据库还原和恢复Oracle数据库文件。内容涵盖RESTORE和RECOVER命令的使用,包括FROMSERVICE子句、SECTIONSIZE、加密和压缩选项。通过网络恢复有助于在主备数据库间同步和处理文件丢失情况。示例展示了如何恢复数据文件并向前滚动物理备数据库。
摘要由CSDN通过智能技术生成

RMAN让你通过经由网络连接到包含需要的文件的物理备数据库还原或恢复文件。你可以还原整个数据库,数据文件,控制文件,spfile或表空间。在需要同步主和备数据库的场景中通过网络还原文件是非常有用的。

使用备份集经由网络来还原或恢复文件。因此,可以使用多段备份,加密和压缩来改善备份和还原性能。

从Oracle数据库12c Release 1(12.1)开始支持通过网络还原和恢复文件。


1.关于通过网络还原文件

RMAN通过使用RESTORE命令的FROM SERVICE子语句经由网络从物理备数据库还原数据文件。

FROM SERVICE子语句提供被还原的文件所在的物理备数据库的服务名称。在还原操作过程中,RMAN在物理备数据库上创建需要被还原的文件的备份集,然后经由网络传输这些备份集到目标数据库。

使用RESTORE命令的SECTION SIZE子语句执行多段还原操作。为加密在物理备数据库上创建的备份集,在RESTORE命令之前使用SET ENCRYPTION命令指定要使用的加密算法。

为从物理备数据库作为压缩备份集来传输文件,在RESTORE命令中使用USING COMPRESSED BACKUPSET子语句。缺省情况下,RMAN使用设置在RMAN配置中的算法压缩备份集。可以通过在RESTORE语句前使用SET COMPRESSION ALGORITHM命令覆盖缺省的和设置不同的算法。


2.关于通过网络恢复文件

可以通过经由网络从主数据库上取得增量备份,然后应用这个增量备份到物理备数据库执行恢复。

RMAN作为TARGET连接到物理备数据库。恢复过程通过只还原数据文件中使用的数据块来优化。使用FROM SERVICE子语句指定从其中取得增量备份的主数据库的服务名称。

为在恢复过程中使用多段备份集,在RECOVER命令中指定SECTION SIZE子语句。为从主数据库作为加密的备份集传输需要的文件,在RESTORE命令前使用SET ENCRYPTION命令指定用来创建备份集的加密算法。

为压缩用来经由网络恢复文件的备份集,使用USING COMPRESSED BACKUPSET。RMAN压缩备份集当它在主数据库上创建它们的时候,然后传输这些备份集到目标数据库。


3.通过网络还原和恢复文件的场景

通过经由网络连接到物理备数据库来还原文件在某些场景中是有用的。这些场景包括以下:
1)你需要向前滚动物理备数据库让它与主数据库同步。
在主数据库上创建最近更改的增量备份之后,可以使用增量备份还原物理备数据库。

2)你想使用物理备数据库上相应的文件还原主数据库上丢失的数据文件,控制文件或表空间。也可以使用主数据库还原物理备数据库上的文件。


4.通过网络还原数据文件

通过经由网络连接到主数据库或物理备数据库使用RESTORE命令还原丢失或损坏的数据文件。

在这个示例中,主数据库的DB_UNIQUE_NAME是MAIN,物理备数据库的DB_UNIQUE_NAME是STANDBY。主数据库的数据文件sales.dbf已丢失。你想从物理备数据库还原这个数据文件。物理备数据库的服务名称是standby_tns。命令RESTORE和FROM SERVICE子语句让你通过使用物理备数据库中的数据文件还原主数据库中丢失的数据文件。主数据库和物理备数据库的密码文件是相同的。

使用以下步骤通过使用物理备数据库中的数据文件还原主数据库中的sales.dbf数据文件:
1)作为具有SYSBACKUP权限的用户连接到主数据库:
RMAN> CONNECT TARGET “sbu@main AS SYSBACKUP”;

2)使用AES128加密算法指定必须加密的备份集:
RMAN> SET ENCRYPTION ALGORITHM ‘AES128’;

3)确保物理备数据库中的tnsnames.ora文件中包含对应主数据库的条目。同时也确保主和备数据库上的密码文件相同。

4)通过使用物理备数据库上的数据文件还原主数据库上的数据文件。以下命令创建多段备份集来执行还原操作。
RESTORE DATAFILE ‘/oradata/datafiles/sales.dbf’
FROM SERVICE standby_tns
SECTION SIZE 120M;


5.使用RECOVER命令向前滚动物理备数据库

RMAN通过创建包含主数据库更改的增量备份向前滚动物理备数据库,经由网络传输增量备份到物理备数据库,然后应用增量备份到物理备数据库。所有对主数据库的数据文件的更改,从备数据文件头部中的SCN开始,都包括在增量备份中。

可以使用RECOVER … FROM SERVICE命令使用主数据库的数据文件来同步物理备数据库上的数据文件。这个命令刷新备数据文件和向前滚动到与主数据库相同的时间点。然而,备控制文件仍然包含比备数据文件更低的SCN值。因此,为了完成物理备数据库的同步,必须刷新备控制文件,然后在刷新的备控制文件中更新数据文件名称,在线redo日志文件名称和备redo日志文件名称。

如果网络资源有限制,那么可以使用BACKUP INCREMENTAL命令在主数据库上创建增量备份,然后使用增量备份向前滚动物理备数据库。


5.1.使用主数据库做的更改刷新物理备数据库

使用RECOVER STANDBY DATABASE命令和FROM SERVICE子语句来使用主数据库所做的更改刷新物理备数据库。

这个示例假设主数据库的DB_UNIQUE_NAME是MAIN,它的网络名称是primary_db。备数据库的DB_UNIQUE_NAME是STANDBY,它的网络名称是standby_db。

使用主数据库所做的更改更新物理备数据库:
1)确保满足以下前提条件:
a.Oracle网络连接在物理备数据库和主数据库之间已经建立。
可以通过在物理备数据库的tnsnames.ora文件中增加对应主数据库的条目来实现。
b.主和物理备数据库的密码文件是相同的。
c.主和物理备数据库的初始化参数文件中的COMPATIBLE参数设置为12.0。

2)启动RMAN,作为TARGET连接到物理备数据库。建议也同时连接到恢复目录。

以下命令作为TAGET连接到物理备数据库和作为CATALOG连接到恢复目录。到物理备数据库的连接使用sbu用户建立,它被授予SYSBACKUP权限。物理备数据库的网络服务名称是standby_db,恢复目录的网络服务名称是catdb。
CONNECT TARGET “sbu@standby_db AS SYSBACKUP”;
CONNECT CATALOG rman@catdb;

3)使用RECOVER STANDBY DATABASE命令和FROM SERVICE子语句向前滚动物理备数据库。

FROM SERVICE子语句指定滚动物理备数据库使用的主数据库的服务名称。备数据库在向前滚动操作之后会重启。

以下示例使用服务名称为primary_db的主数据库向前滚动物理备数据库:
RECOVER STANDBY DATABASE FROM SERVICE primary_db;

4)(只对Actvie Data Guard)执行以下步骤恢复redo数据和以只读模式打开物理备数据库:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE UNTIL CONSISTENT;
ALTER DATABASE OPEN READ ONLY;

5)在物理备数据库上启动管理恢复进程。
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

当使用Data Guard Broker时,使用以下命令启动管理恢复进程:
GMGRL> edit database standby_db set state=‘APPLY-ON’;




来源:《Oracle Database Backup and Recovery User’s Guide,19c》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值