📢📢📢📣📣📣
哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10年DBA工作经验
一位上进心十足的【大数据领域博主】!😜😜😜
中国DBA联盟(ACDU)成员,目前从事DBA及程序编程
擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞
❤️❤️❤️感谢各位大可爱小可爱!❤️❤️❤️
前言
OGG登陆及启动进程报错,详细的处理过程分享给大家📣 1.登陆报错
✨1.1 报错现象
GGSCI (rhel64) 1> dblogin userid ogg,password ogg
2022-10-07 20:44:15 INFO OGG-03542 Failed to connect to the database. Verify that the connection string and following environment variables are correct:
TNS_ADMIN = /u01/app/oracle/product/11.2.0/dbhome_1/network/admin
LD_LIBRARY_PATH = /ogg:/u01/app/oracle/product/11.2.0/dbhome_1/lib:/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib:/lib:/usr/lib.
Error: OCI Error ORA (status = 12545-ORA-12545: Connect failed because target host or object does not exist
)
✨1.2 排查过程
从以上报错可以发现,OGG 21C 在登陆的时候,提示环境变量有问题,于是先排查环境变量
[oracle@rhel64 ~]$ more .bash_profile
export OGG_HOME=/ogg
export PATH=$PATH:$ORACLE_HOME/bin:$OGG_HOME
export LD_LIBRARY_PATH=$OGG_HOME:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib:/lib:/usr/lib
alias ggsci='cd $OGG_HOME;ggsci'
感觉没有什么问题,于是去查询官网,官网有如下的解释:
OGG 21c自带了客户端lib文件,如果软件位于中间层(某些特殊架构下,OGG软件与Oracle软件不在同一台服务器上),可以不需要安装Oracle客户端。但是自此,通过GGSCI连接数据库就需要指定TNS,环境变量则需要配置TNS_ADMIN的具体路径。
✨1.3 处理方法
将环境变量进行了变更,加入了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了
```bash
[oracle@rhel64 ~]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO
Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported versions on Jul 29 2021 03:59:23
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved.
GGSCI (rhel64) 2> dblogin userid ogg@MES,password ogg
Successfully logged into database.
📣 2.mgr 进程启动报错
✨2.1 报错现象
GGSCI (rhel64 as ogg@MES) 9> start mgr
Process creation error: Cannot find executable file './mgr'
✨2.2 排查过程
刚开始先排查是否编辑的mgr是否有问题,如下:
port 7809
DYNAMICPORTLIST 7810-7829
userid ogg@MES, PASSWORD ogg
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
ACCESSRULE, PROG *, IPADDR 12.*.*.*, PRI 1, ALLOW
参数说明:
PORT: 指定 Manager 使用的端口。
Dynamicportliist:配置了捕获和复制进程使用的端口范围。
AUTORESTART: 参数使抽取/复制进程失败后自动重启。
PURGEOLDEXTRACTS 参数指定:当根据 checkpoint 发现已经完成抽取和复制的 trail 文件将被自动删除,但保留最近8天。
ACCESSRULE:类似网络防火墙规则
以上确实是没有问题的,于是再次确认环境变量
确定每次登陆OGG的时候,是没有进入OGG的目录导致,环境变量误写导致,找不到目录
✨2.3 处理方法
修改环境变量为正确的,再次登陆编辑进程参数,启动OK
环境变量如下:
[oracle@rhel64 ~]$ vi .bash_profile
#加入以下变量
[oracle@rhel64 ~]$ vi ~/.bash_profile
export OGG_HOME=/ogg
export PATH=$PATH:$ORACLE_HOME/bin:$OGG_HOME
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
启动MGR进程,确认OK
[oracle@rhel64 ~]$ ggsci
Oracle GoldenGate Command Interpreter for Oracle
Version 21.3.0.0.0 OGGCORE_21.3.0.0.0_PLATFORMS_210728.1047_FBO
Oracle Linux 7, x64, 64bit (optimized), Oracle Database 21c and lower supported versions on Jul 29 2021 03:59:23
Operating system character set identified as UTF-8.
Copyright (C) 1995, 2021, Oracle and/or its affiliates. All rights reserved.
GGSCI (rhel64) 2> view param mgr
port 7809
DYNAMICPORTLIST 7810-7829
userid ogg@MES, PASSWORD ogg
AUTOSTART EXTRACT *
AUTORESTART EXTRACT *
PURGEOLDEXTRACTS /ogg/dirdat/*,usecheckpoints, minkeepdays 8
LAGREPORTHOURS 1
LAGINFOMINUTES 30
LAGCRITICALMINUTES 45
ACCESSRULE, PROG *, IPADDR 12.*.*.*, PRI 1, ALLOW
GGSCI (rhel64) 3> start mgr
Manager started.
GGSCI (rhel64) 5> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING