千家信息网

[RMAN]异机恢复实验

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,一、 准备工作1. 环境设定源库: IP 192.168.131.100 SID:orcl目标库: IP 192.168.131.101 安装与源库相同版本数据库软件(不创建实例)2. 准备工作源库创
千家信息网最后更新 2026年11月03日[RMAN]异机恢复实验

一、 准备工作


1. 环境设定

源库: IP 192.168.131.100 SID:orcl

目标库: IP 192.168.131.101 安装与源库相同版本数据库软件(不创建实例)

2. 准备工作

源库创建完整备份集(含控制文件、数据文件、归档文件)。

为简单起见,源库和目标库端目录结构保持一致。如果不一致,在恢复过程中则注意修改相关路径。

二、 实验实施

1. 主库进行备份

RMAN> run{

sql 'alter system archive log current';

backup database format '/backup/dbfull_%d_%u_%s.bak' plus archivelog format ' '/archivelog/archfull_%d_%u_%s.bak';

backup current controlfile format '/backup/ctl_%d_%T_%s.bak';}

2. 复制源库 spfile 到目标端相同目录下

( 1 )源库进行复制

$ cd $ORACLE_HOME/dbs

$ scp spfileorcl.ora oracle@192.168.131.101:$ORACLE_HOME/dbs

( 2 )目标库修改 spfile

这一步不是必须的。

如果目标库与源库路径保持一致,则不需要进行任何修改。如果路径不一致的话,则需要保证以下路径正确:

n Audit_file_dest : ORACLE 审计输出的 debug 日志路径

n Control_files :控制文件路径

n db_recovery_file_dest : FRA 路径(如果指定 FRA 的话)

n log_archive_dest_1 :日志归档路径

注: spfile 是二进制文件,不能直接编辑。如果要修改,则需要通过 spfile 创建 pfile, 然后对 pfile 进行修改,再通过 pfile 创建 spfile 。

3. 目标库启动 nomount

$ export $ORACLE_SID=orcl

$ sqlplus / as sysdba

SQL> startup nomount

启动 nomount 状态需要 spfile 。如果源库的 spfile 没有放在 $ORACLE_HOME/dbs 目录下,则需要执行 :

SQL> startup nomount from spfile='/url/spfileorcl.ora';

4. 使用 RMAN 还原 controlfile

$ rman target /

RMAN> restore controlfile from '/backup/ctl_ORCL_20181022_31.bak';

不管有几个控制文件,都会被恢复到相应路径下。

5. 开启数据库到 mount 状态

开启数据库到 mount 状态需要读取 controlfile

SQL> alter database mount;

6. 修复数据库

在这个环境中,源库和目标库的路径保持一致,因此这里可以直接用原路径修复。如果目标库与源库路径不同的话,则需要通过 SET NEWNAME FOR DATAFILE 命令来为数据文件重新设定路径(注意 SET NEWNAME 必须要放在 run 块中执行)。

RMAN> restore database;

此时,数据文件都已经修复到相应路径下

7. 恢复数据库

RMAN> recover database;

archived log thread=1 sequence=13

RMAN-00571: ====================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ====================================================

RMAN-03002: failure of recover command at 10/22/2018 03:39:24

RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 13 and starting SCN of 1052433

这里的报错是正常的,因为我们创建的热备份是不一致备份,源库的归档过来了,但是 redo 日志没有随备份集过来,因此恢复数据库肯定恢复不到原来的状态。这个错误提示你想要继续恢复的话还需要线程 1 生成的 sequence13 的 redo log 。如果你要保持一致的话,必须复制源库的重做日志文件。

此时,数据库已经恢复完成了

8. 打开数据库

SQL> alter database open resetlogs;

-------------- end ------------------


路径 数据 文件 数据库 目标 一致 备份 日志 状态 目录 控制 相同 环境 准备 工作 实验 不同 二进制 命令 实例 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 中智农互联网科技 有格互联网科技 互联网和科技技术 互联网科技视频 上海喔噻互联网科技 重庆科技学院互联网 镁科技互联网资讯平台 海南购全球互联网科技 互联网之后的科技是什么 湖北码尼互联网科技有限公司电话 和信科技工业互联网 晓花互联网科技有限公司网址 杭州壁岐互联网科技有限公司 众安科技工业互联网合作 伍佰万互联网科技怎么赚钱 云南省自由互联网科技有限公司 广州互联网高科技取餐柜 上海万顺科技互联网有限公司招聘 陕西彩京云互联网科技有限公司 科技互联网企业在行动 科技互联网 广东万易互联网科技有限公司惠州分公司 科技类互联网 互联网科技英文 杭州互联网科技公司 北京互联网络科技有限公司 南京欣网互联网科技 四川狮子座互联网科技 济南华为互联网科技产业总部基地 上海钢联属于互联网科技股吗
0