之路 on it Road.com

方法 1 - 使用 RMAN 进行正常还原和恢复

  1. 执行 ASM 主数据库的备份(Datafiles, Controlfile for Standby & Archivelogs)
$ rman target / 
RMAN> backup database format '/backup/database_%U.bkp';
RMAN> backup archivelog all format '/backup/archivelog_%U.bkp';
RMAN> backup current controlfile for standby format '/backup/stdb_cntl_%U.bkp';

注意:对于磁盘 RMAN 备份,请备份到文件系统。
我们还可以使用媒体管理器将备份直接备份到磁带。

  1. 使备用服务器上的备份片段可用:
    FTP 或者 SCP 备份片断到备用服务器。
    在执行 FTP 时,请确保仅以二进制模式执行。
    或者
    NFS 挂载然后将 NFS 挂载到备用服务器上,其名称与我们挂载到主数据库上的名称相同。
    或者
    如果备份在磁带上,请确保在备用服务器上进行适当的更改,以便我们可以在备用服务器上恢复备份。

  2. 创建备用参数文件和密码文件。
    复制主数据库参数文件并进行必要的更改:

db_unique_name='stnd_db'
instance_name='stnd_db'
standby_archive_dest='[location for archives coming from primary]'
db_file_name_convert='+DATA/prim_db/datafile/', '/u01/oradata/stnd_db/', '+DATA/prim_db/tempfile/', '/u01/oradata/stnd_db/' 
log_file_name_convert='+DATA/prim_db/onlinelog/', '/u01/oradata/stnd_db/'

使用与主数据库相同的密码为备用数据库创建密码文件

$ export ORACLE_SID=stand_db 
$ orapwd file=orapwstand_db password=oracle

4.在两台服务器上配置Oracle网络服务

In standby server
  - configure listener.
In Primary server
  - configure tnsnames for standby.
  - check connectivity using tnsping.
  1. 对备用数据库执行恢复和恢复。
    启动 Nomount 备用实例并从步骤 1 中执行的“备用控制文件”的备份中恢复备用控制文件。
$ export ORACLE_SID=stnd_db
$ rman target /
RMAN> restore standby controlfile from '/backup/stdb_cntl_3oqff2fb_.bkp';

我们必须使用选项“备用控制文件”,例如

RMAN> RESTORE STANDBY CONTROLFILE from ...

否则不使用转换参数 DB_FILE_NAME_CONVERT。

恢复 STANDBY CONTROLFILE 后,我们可以挂载 AUX 实例并验证使用了 DB_FILE_NAME_CONVERT 参数并显示正确的数据文件路径/名称。
例如:

RMAN> REPORT SCHEMA ;       ( or sql> select name from v$datafile ; )

挂载数据库

RMAN> Alter database mount;

如果备份片在完全相同的目录结构中,或者如果目录结构是 NFS 挂载在备用服务器上,则直接还原数据库,否则如果备份片位于不同的位置,我们需要手动对其进行编目。
例如:

RMAN> catalog backuppiece '/backup/database_2x21kd12.bkp';

恢复数据库

使用以下语法恢复数据库(使用 set newname)

RMAN> run { set newname for datafile 1 to '[new path]':
            Set newname for datafile 2 to '[newpath]';
            .
            .            
            restore database;
            Switch datafile all; }

恢复数据库

使用以下命令了解存档日志备份中可用的最后一个序列。
这我们恢复数据库直到该存档日志。

RMAN > list backup of archivelog all;

让我们假设备份中最后一个存档日志的最后一个序列是 50。
由于我们在这里恢复数据库直到存档日志序列 50,因此 UNTIL SEQUENCE 子句中的序列号应该是 50 (+1)

RMAN> Recover database until sequence 51;
  1. 配置主数据库以将档案传输到备用数据库。
    在主数据库中设置以下参数:
log_archive_dest_2='SERVICE=stnd_db'

执行日志切换并确保存档正在传输到备用目的地。

  1. 通过将数据库置于恢复托管模式来启动重做应用。
    在备用数据库中启动托管恢复过程:
SQL> Recover managed standby database disconnect from session;
使用RMAN在ASM主服务器的正常文件系统上创建物理备用

这篇文章介绍了在普通文件系统上使用 RMAN 为 ASM 中的主数据库创建物理备用数据库的详细步骤。

在这里可以使用以下两种方法创建备用数据库:

  • 使用 RMAN 进行正常还原和恢复。
  • 使用 RMAN 为备用数据库创建重复数据库。

方法一

  • 执行 ASM 主数据库的备份(数据文件、备用控制文件和存档日志)
  • 使备用服务器上的备份片段可用。
  • 创建备用参数文件和密码文件。
  • 在两台服务器上配置 Oracle 网络服务。
  • 在备用数据库上执行还原和恢复。
  • 配置主数据库以将档案传输到备用数据库。
  • 通过将数据库置于恢复托管模式来启动重做应用。

方法二

使用 RMAN Duplicate 功能创建备用数据库。
下面的帖子中概述了完成相同操作的步骤。

如何从 ASM 主节点创建物理备用

日期:2020-09-17 00:11:37 来源:oir作者:oir