作者:IT邦德
中国DBA联盟(ACDU)成员,10余年DBA工作经验
擅长主流数据Oracle、MySQL、PG、openGauss运维
备份恢复,安装迁移,性能优化、故障应急处理等
可提供技术业务:
1.DB故障处理/疑难杂症远程支援
2.Mysql/PG/Oracle/openGauss
数据库部署及数仓搭建
•••
微信:jem_db
QQ交流群:587159446
公众号:IT邦德
文章目录
这篇文章介绍了Oracle OGG 维护的常见故障,以帮助管理员更好地管理和维护 OGG 系统。
1.EXTRACT启动报错OGG-02912
1.1.故障现象
我们在部署完OGG,配置好extract进程后,无法启动查看日志则报此错误
ERROR OGG-02912 Patch 17030189 is required
on your Oracle mining database
for trail format RELEASE 12.2 or later
1.2.处理办法
在 OGG 家目录下存在"prvtlmpg.plb"脚本,
可以在源库执行 @/prvtlmpg.plb 此问题可以解决。
# su - oracle
$ cd $OGG_HOME
$ ls -lrt prvtlmpg.plb
-rwxr-xr-x 1 oracle oinstall 9487 May 27 2015 prvtlmpg.plb
$ sqlplus / as sysdba
SQL> @prvtlmpg.plb
=========================== WARNING ==========================
You MUST stop all Integrated Captures that belong to this mining
user before proceeding!
================================================================
Enter Integrated Capture mining user: ogg
Installing workaround...
No errors.
No errors.
No errors.
Installation completed.
SQL>
SQL> exit;
GGSCI (ogg1 as ggsadmin@orcl) 61> start extract ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
GGSCI (ogg1 as ggsadmin@orcl) 62> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT RUNNING EXT1 00:00:00 00:00:01
2.大事务导致的进程夯住
2.1.故障现象
一些事务更新比较频繁的表,或者有局部事务提交比较大的事务,会经常发生
ERROR OGG-05302 Oracle GoldenGate Delivery for Oracle,
CZ_PROD.prm: An error occurred while doing commit handling的报错
导致EXTRACT及REPLICAT进程夯住后进程挂掉

2.2.处理办法
登录到OGG的目标库:更新检查点信息,启动进程即可
dblogin userid username,password pwd
upgrade checkpointtable ogg.checkpointtab
3.触发器及外键未禁用报错
3.1.故障现象
目标端如果未禁用触发器及外键否则OGG启动后,会报错:OGG-01154、OGG-06439、OGG-01169 Encountered an update where all key columns for target table *** are not present

3.2.处理办法
--找到触发器
select OWNER,object_name
from dba_objects
where object_type = 'TRIGGER'
and status = 'INVALID';
--目标端禁用触发器
SELECT 'alter trigger '||owner||'.'||trigger_name||' disable'||';'
from dba_triggers
WHERE owner='TFT'
--目标端禁用约束
select 'alter table rpt.'||TABLE_NAME||
' enable validate constraint '||CONSTRAINT_NAME||';'
from dba_constraints
where owner='RPT'
and VALIDATED='NOT VALIDATED';
-- 目标端删除外键
SELECT 'ALTER TABLE rpt.'|| D.TABLE_NAME ||
' DROP constraint '|| D.CONSTRAINT_NAME||';'
FROM DBA_constraints d where owner='RPT'
and d.CONSTRAINT_TYPE='R';
4.trail文件损坏
4.1.故障现象
Extract正在写入跟踪,并且记录开头和结尾周围的部分已损坏
两次Extracts错误地写入了同一组trail文件
xtract Pump正在写入跟踪文件,
并且在更新其检查点文件之前以及数据刷新到跟踪之后崩溃
存储、内存等硬件原因或IO子系统问题,文件写丢失
等原因都会导致trail文件损坏

4.2.处理办法
先切EXTRACT,最后切REPLICAT
当前文件序列号是114 rba32437
##EXTRACT进程修改
alter extract EMSQLIP,etrollover
#pump进程修改
alter extract DMSQLIP,extseqno 115,extrba 0
#repicat进程修改
因为在修改之前trail的文件号是5,所以这里是6.
rep是指定他生成的新号 开始, 在做etrollover时, 命令输出会自带提醒
alter replicat RPALMBI7,extseqno 6,extrba 994
5.客户端变量导致OGG登陆报错
5.1.故障现象

5.2.处理办法
OGG 21c自带了客户端lib文件,
如果软件位于中间层(某些特殊架构下,OGG软件与Oracle软件不在同一台服务器上),
可以不需要安装Oracle客户端。
但是自此,通过GGSCI连接数据库就需要指定TNS,
环境变量则需要配置TNS_ADMIN的具体路径。
将环境变量进行了变更,加入了TNS_ADMIN变量,登陆的时候要指定TNS名,修改后的变量如下:
[oracle@rhel64 ~]$ vi ~/.bash_profile
export OGG_HOME=/ogg
export PATH=$PATH:$ORACLE_HOME/bin:$OGG_HOME
##加入了TNS_ADMIN
export TNS_ADMIN=$ORACLE_HOME/network/admin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
export LD_LIBRARY_PATH=$OGG_HOME:$LD_LIBRARY_PATH
alias ggsci='cd $OGG_HOME;ggsci'
[oracle@rhel64 ~]$ source ~/.bash_profile
同时要增增加tns的配置,tns配置如下:
```bash
[oracle@rhel64 ~]$ more $ORACLE_HOME/network/admin/tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/dbhome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
MES =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rhel64)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = MES)
)
)
于是再次登陆就OK了
6.生产经典架构

从以上报错可以发现,OGG 21C 在登陆的时候,提示环境变量有问题,于是先排查环境变量
目标端选择:在经典模式下
OGG集成模式的运行方式与经典模式存在显著差异。
在经典模式下,Extract进程会直接分析Redo或Archive日志文件,
并从中产生Trail文件。
远端选择:集成模式
集成模式则利用LogMinor服务处理日志数据,
生成的Trail文件是通过这种方式得到的。
此外,集成模式下的Extract进程并不消耗Oracle的PGA(程序全局区),
而是使用了SGA(共享池内存)中的Stream Pool部分,
并通过参数`DBOPTION INTEGRATEDPARAMS(max_sga_size 1024)`
来限制使用的内存大小。
这两种模式在性能和资源使用上有所不同,
因此在选择合适的模式时需要根据具体需求进行考虑。
7.总结
Oracle GoldenGate (OGG) 是一个强大的数据复制和数据同步方案,被广泛使用于企业级应用中。在持续不断地使用 OGG 进行数据同步的同时,我们也需要进行相应的维护和管理工作,以确保 OGG 的稳定和可靠性。
点击左下角,阅读原文获取OGG部署大全


文章转载自IT邦德,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




