Oracle adg进行failover切换后,ogg如何恢复?

8 篇文章 0 订阅
1 篇文章 0 订阅
作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)
公众号:老苏畅谈运维
欢迎关注本人公众号,更多精彩与您分享。

上一篇文章(Oracle adg进行switchover主备切换后,ogg如何恢复?)是针对switchover切换,那如果adg是进行failover切换,则又该如何进行恢复OGG呢?

环境说明

主机名IP地址实例名数据库角色OGG角色数据库版本OGG版本
ora11g10.10.10.160ora11g主库源端11.2.0.419.1.0.0.4
ora11gdg10.10.10.41dgora11g备库/11.2.0.4/
11gbbed10.10.10.44dbbbed/目标端11.2.0.419.1.0.0.4

说明:10.10.10.160为主库,当前为OGG源端,10.10.10.41是10.10.10.160的备库,10.10.10.44为OGG的目标端。

failover切换对OGG影响

主备发生failover切换,通常是由于主库已经无法访问,如数据库损坏、系统损坏、存储或者服务器损坏等,导致主库已经无法正常访问,这时候只能进行failover切换,ogg只能在failover之后的新主库上进行抽取。

恢复方式1

如果原主库的OGG安装目录还能访问,则可以直接将OGG安装目录下所有文件拷贝到failover后的新主库上,然后进行OGG的同步恢复。

–failover后,10.10.10.41为新主库,当前测试表信息

sys@dgora11g> select sysdate,max(C_DATE) from szr.test_job;

SYSDATE 	    MAX(C_DATE)
------------------- -------------------
2024-08-20 00:09:33 2024-08-20 00:09:25

–将OGG安装目录下所有文件拷贝到新主库

--拷贝到相同路径下
[oracle@ora11g:/ogg]$ scp -r * 10.10.10.41:/ogg
PS:注意属主,权限

–新主库添加环境变量

$ vi .bash_profile
###OGG_HOME
export OGG_HOME=/ogg
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$OGG_HOME

–如果两边的数据库安装目录,实例名配置不一样,则修改配置文件里面的配置ORACLE_HOME,ORACLE_SID
–启动进程

GGSCI (ora11gdg) 1> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     STOPPED                                           
EXTRACT     STOPPED     DPCS        00:00:00      00:01:08    
EXTRACT     STOPPED     EXTCS       00:00:00      00:01:07    


GGSCI (ora11gdg) 2> start mgr
Manager started.


GGSCI (ora11gdg) 3> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     STOPPED     DPCS        00:00:00      00:01:20    
EXTRACT     STOPPED     EXTCS       00:00:00      00:01:18    


GGSCI (ora11gdg) 4> start dpcs

修改extcs的scn:

--修改extract的捕获scn为failover后的的scn(v$database视图中的STANDBY_BECAME_PRIMARY_SCN),否则抽取进程不会抽取数据
--查看备库failover成为主库时的scn(v$database视图中的STANDBY_BECAME_PRIMARY_SCN)
SQL> select STANDBY_BECAME_PRIMARY_SCN from v$database;
STANDBY_BECAME_PRIMARY_SCN
--------------------------
		   3854023
 
GGSCI (ora11gdg) 19> ALTER EXTRACT extcs  scn 3854023;
EXTRACT altered.


GGSCI (ora11gdg) 20> start extcs

Sending START request to MANAGER ...
EXTRACT EXTCS starting


GGSCI (ora11gdg) 21> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
EXTRACT     RUNNING     DPCS        00:00:00      00:00:03    
EXTRACT     RUNNING     EXTCS       00:00:00      00:00:08    
   

抽取进程启动正常后,看一下复制进程和测试表的数据变化

GGSCI (11gbbed) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REPCS       00:00:00      00:00:04    

SQL> select sysdate,max(C_DATE) from szr.test_job;

SYSDATE 	    MAX(C_DATE)
------------------- -------------------
2024-08-20 00:18:54 2024-08-20 00:18:38

可以看到,数据同步正常。

恢复方式2

如果原主库的OGG安装目录已经无法读取,则需要在新主库上重新安装OGG软件,并进行配置抽取和投递进程了。

OGG安装

环境变量配置

vi .bash_profile

##原有配置不变,增加ogg相关路径
export OGG_HOME=/ogg
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch:$OGG_HOME
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

使环境变量生效

source .bash_profile

创建相关目录

–源端和目标端都需创建

mkdir /ogg
chown oracle.oinstall /ogg

静默安装

–上传安装包并解压,使用静默安装。

$ unzip -q 191004_fbo_ggs_Linux_x64_shiphome.zip
$ cd fbo_ggs_Linux_x64_shiphome/Disk1/
$ cp response/oggcore.rsp .
$ vi oggcore.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_ogginstall_response_schema_v19_1_0
INSTALL_OPTION=ORA11g
SOFTWARE_LOCATION=/ogg
START_MANAGER=
MANAGER_PORT=
DATABASE_LOCATION=
INVENTORY_LOCATION=/ogg/oraInventory
UNIX_GROUP_NAME=oinstall
$ ./runInstaller -silent -showProgress -responseFile /home/share/fbo_ggs_Linux_x64_shiphome/Disk1/oggcore.rsp 
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 4517 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 7359 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2024-08-14_11-11-07AM. Please wait ...You have new mail in /var/spool/mail/oracle
$ You can find the log of this install session at:
 /u01/app/oraInventory/logs/installActions2024-08-14_11-11-07AM.log

Prepare in progress.
..................................................   10% Done.

Prepare successful.

Copy files in progress.
..................................................   36% Done.
..................................................   54% Done.
..................................................   77% Done.
..................................................   82% Done.
..................................................   88% Done.
....................
Copy files successful.

Link binaries in progress.
..........
Link binaries successful.

Setup files in progress.
..................................................   93% Done.
..................................................   95% Done.
..................................................   96% Done.
..................................................   98% Done.
..................................................   99% Done.

Setup files successful.

Setup Inventory in progress.

Setup Inventory successful.
..................................................   95% Done.
Successfully Setup Software.
..................................................   100% Done.

Finish Setup successful.
The installation of Oracle GoldenGate Core was successful.

配置mgr进程

–编辑参数

edit param mgr

PORT 7809 
DYNAMICPORTLIST 7810-7899
AUTORESTART ER *,RETRIES 5,WAITMINUTES 3
PURGEOLDEXTRACTS ./dirdat/*,usecheckpoints, minkeepdays 7
PURGEDDLHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
PURGEMARKERHISTORY MINKEEPDAYS 7, MAXKEEPDAYS 10
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
ACCESSRULE,PROG *,IPADDR 10.10.*.*,ALLOW

–启动mgr进程

GGSCI (ora11gdg) 7> start mgr
Manager started.


GGSCI (ora11gdg) 8> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           

配置抽取进程

edit param extcs

EXTRACT extcs
userid ggadmin,password ggadmin123
TRANLOGOPTIONS  dblogreader
LOGALLSUPCOLS
UPDATERECORDFORMAT compact
GETTRUNCATES
GETUPDATEBEFORES
NOCOMPRESSDELETES
NOCOMPRESSUPDATES
DBOPTIONS ALLOWUNUSEDCOLUMN
TRANLOGOPTIONS EXCLUDEUSER ggadmin
FETCHOPTIONS NOUSESNAPSHOT
EXTTRAIL ./dirdat/cs
DISCARDFILE ./dirrpt/extcs.dsc, APPEND, MEGABYTES 1024
discardrollover at 3:00
warnlongtrans 1h,checkinterval 5m
CACHEMGR CACHESIZE 1024MB, CACHEDIRECTORY ./dirtmp
REPORTCOUNT EVERY 60 SECONDS, RATE
DDL INCLUDE MAPPED
DDLOPTIONS ADDTRANDATA
DDLOPTIONS REPORT
TABLE SZR.*;

–重新添加extract

add exttrail  ./dirdat/cs, extract extcs, MEGABYTES 1024

–修改scn为STANDBY_BECAME_PRIMARY_SCN

GGSCI> alter extract extcs scn 3854023

配置投递进程

edit param dpcs

EXTRACT dpcs
DISCARDFILE ./dirrpt/dpcs.dsc, APPEND, MEGABYTES 1024
RMTHOST 10.10.10.44, MGRPORT 7809, COMPRESS
RMTTRAIL /ogg/dirdat/rt
PASSTHRU
table szr.*;

–重新添加pump

add extract dpcs EXTTRAILSOURCE  ./dirdat/cs
add rmttrail /ogg/dirdat/rt  extract dpcs MEGABYTES 1024

启动进程

–启动extract,pump进程

start extcs
start dpcs

查看同步情况

抽取进程启动正常后,看一下复制进程和测试表的数据变化

GGSCI (11gbbed) 7> info all

Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
REPLICAT    RUNNING     REPCS       00:00:00      00:00:04    

关注我,学习更多的数据库知识!
请添加图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老苏畅谈运维

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值