千家信息网

[RMAN]异机恢复实验

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,一、 准备工作1. 环境设定源库: IP 192.168.131.100 SID:orcl目标库: IP 192.168.131.101 安装与源库相同版本数据库软件(不创建实例)2. 准备工作源库创
千家信息网最后更新 2024年09月22日[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安全错误 数据库的锁怎样保障安全 微信公众号要服务器吗 宁海计算机软件开发项目 荒野大镖客2更换服务器 党政机关网络安全宣传 轨道 网络安全风险隐患 无法连接到管理服务器 戴尔服务器连接显示器有几种接口 公司数据库操作笔试题 ecshop安装 数据库 惠普服务器哪家值得信赖 全加固服务器技术含量 网络安全应急响应机制建设 服务器多久重置一次 注册上海网络技术公司 武冈计算机网络技术怎么样 方舟生存进化服务器如何自己建 张店纺织软件开发价格 服务器怎么设置管理员 边锋网络技术在深圳有吗 数据库在网上使用的作用 黄骅麻将软件开发 闵行区会计软件开发价格咨询 5e网络安全生态体系标准 安徽软件开发能赚多少钱 我的世界神奇宝贝服务器下载 上海正规软件开发检测中心 武汉大学16网络安全专业 高阶管理服务器 软件开发外包人天怎么收费 软件开发有事物是指什么
0