Oracle利用闪回数据库(flashback)功能修复Failover后的DG环境

0    388    1

Tags:

👉 本文共约6844个字,系统预计阅读时间或需26分钟。

前言部分

导读和注意事项

各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,\~O(∩_∩)O\~:

① Failover后DG环境的恢复方法(重点)

② DG的基本维护操作

③ GC客户端软件的安装

④ 利用GC快速搭建一套DG环境

⑤ Failover和Switchover的区别

⑥ 其它维护操作

本文简介

10月23和24日考完了OCM,感觉过关的法则就是“真题+多练”,练习过10来遍,基本就可以考过了。OCM的考试内容除了GC这块小麦苗没有接触过,其它内容基本都算熟。基本命令熟记于心,不熟的命令可以立马找到官方文档,善用OEM和SQL Developer工具。所以,想快速通过OCM考试的朋友可以私下联系小麦苗,小麦苗会把自己的经验全都教给大家。

好了,废话不多说了。最近小麦苗的DBA宝典微信群里,有朋会友问到了Failover操作后,如何恢复到最初的DG环境。这个问题,小麦苗大概知道利用闪回可以实现,只是没有做过实验,或者曾经做过实验,只是没有记录文档,反正就是年纪大了,想不起来了。好吧,最近就抽个时间把这个实验做一遍。有不对的地方,依然请大家指出。

2017-11-06_151651

实验准备

实验环境介绍

实验环境为练习OCM的虚拟机环境:

项目Source DBTarget DB
DB 类型单机单机
DB VERSION11.2.0.3.011.2.0.3.0
DB 存储FSFS
OS版本及kernel版本OEL linux 5.4 32OEL linux 5.4 32
DB_NAMEPROD1PROD1
ORACLE_SIDPROD1SBDB1
ORACLE_HOME/u01/app/oracle/product/11.2.0/dbhome_1/u01/app/oracle/product/11.2.0/db_1
hosts文件10.190.104.111 edsir4p1.us.oracle.com edsir4p1 10.190.104.28 edsir1p8.us.oracle.com edsir1p8

实验目标

备库执行FAILOVER后,通过闪回数据库技术重新恢复DG环境,而不用重新搭建DG。

实验过程

利用GC快速搭建DG环境

小麦苗手头的DG环境是在一个主机上,测试多有不便,刚好,最近练习OCM的环境还在,就用练习OCM的环境来做这个实验吧。若已经有DG环境的朋友可以略过该小节内容。

安装GC客户端软件

1、起动GC服务器,首先确保EMREP数据库处于OPEN状态,监听也已经启动,GC服务器启动日志为:/u01/app/gc_inst/em/EMGC_OMS1/sysman/log/emctl.log

cd /u01/app/oracle/Middleware/oms11g/bin

./emctl start oms

2、安装agent

https://10.190.104.28:4900/agent_download/ 从这里下载

右键保存到桌面。

a、在需要安装agent的机器上mkdir /u01/app/agentbase 创建目录,并将agentDownload.linux文件cp到/u01/app/agentbase目录下,并且赋予可执行权限。

b、在服务端OMS启动的情况下,在客户端执行:

./agentDownload.linux -b /u01/app/agentbase -m edsir1p8.us.oracle.com -r 7799 -y

安装过程中要输入偶数机上OMS的密码

c、安装完成要用root执行:

[root@edsir4p1 \~]## sudo /u01/app/agentbase/agent11g/root.sh

没有root密码要使用sudo执行,注意:一定要执行该脚本,它会设置一些文件的权限(该脚本会把\$AGENT_HOME/bin/nm*的几个文件的所有者修改为root。)。如果不执行,那么搭建DG可能会报错:“ERROR: NMO not setuid-root (Unix-only)”

d、进入/u01/app/agentbase/agent11g/bin

./emctl status agent 检查同步状态

./emctl upload agent 上传同步

./emctl secure agent 重新注册agent,用于安装时密码输错

过程如下所示:

使用GC快速搭建物理备库

从浏览器打开https://10.190.104.28:7799/em/,使用sysman用户进行登录。

使用sys用户登录PROD1数据库。

等待大约10分钟即可自动完成DG的搭建和配置工作。期间,可以查看主库和备库的告警日志以及数据文件夹的大小来预估搭建完成时间。

创建完成后:

启用实时应用

开启主备库闪回

告警日志:

此时,备库并没有开启闪回,需要在备库上手动开启闪回:

实验1

实验1、PROD1意外宕机,SBDB1执行Failover操作变为主库;然后将PROD1利用闪回数据库功能闪回到SBDB1变为主库的SCN时间点,然后将PROD1转换为备库,最后利用switchover转换为最初的环境。\<===PROD1需要开启闪回

Failover操作

切换之前确保监听使用静态监听、fal_client、fal_server、log_archive_dest_1和log_archive_dest_2参数已正确配置。

主库操作:

备库操作:

Primary重新加入

Failover后的Primary数据库,实际上已经失去了和DG的关联,如果Primary故障严重,是难以保障对应的归档数据可以顺利传输的。如果希望Primary重新回到DG环境,关键就是恢复的时间点。要求Primary回到Standby切换角色的那个时间点,理论上就可以“延续”操作。

查询原备库变为新主库的SCN

在原备库端,查看v\$database视图,可以看到这个库成为primary的具体时间。

原主库执行闪回操作

注意:重新加入的原Primary是不能恢复角色的,而是只能先成为Standby角色。应用后续的日志达到同步。

Oracle DG在发生Failover之后,当主库解决问题,是不可以直接回到DG环境的。这个过程往往需要一些辅助组建的配合。如RMAN、Flashback,都可以简化重回DG的过程时间。

注意:如果原主库查询不到test_bylhr2表的数据,则需要仔细检查监听使用静态监听、fal_client、fal_server、log_archive_dest_1和log_archive_dest_2参数已正确配置。

执行switchover切换成初始环境

新主库:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复