千家信息网

OGG mgr 进程无法启动问题解析

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,在迁移数据库的时候,遇到一个比较奇怪的问题在ogg中运行 start mgr界面中提示mgr已经运行,但是通过 info all命令查看 mgr进程还是stop状态随后去dirrpt目录查看mgr进程
千家信息网最后更新 2025年01月20日OGG mgr 进程无法启动问题解析

在迁移数据库的时候,遇到一个比较奇怪的问题

在ogg中运行 start mgr

界面中提示mgr已经运行,但是通过 info all命令查看 mgr进程还是stop状态

随后去dirrpt目录查看mgr进程日志,发现ogg报错信息如下:

cd dirrpt

cat MGR.rpt


Source Context :

SourceModule : [ggdb.ora.sess]

SourceID : [/scratch/aime1/adestore/views/aime1_adc4150256/oggcore/OpenSys/src/gglib/ggdbora/ocisess.c]

SourceFunction : [oci_try]

SourceLine : [642]

ThreadBacktrace : [14] elements

: [/opt/ggs/libgglog.so(CMessageContext::AddThreadContext()+0x1e) [0x2adda13be06e]]

: [/opt/ggs/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...)+0x2cc) [0x2adda13ba44c]]

: [/opt/ggs/libgglog.so(_MSG_ERR_ORACLE_OCI_ERROR_WITH_DESC(CSourceContext*, int, char const*, char const*, CMessageFactory::Messa

geDisposition)+0x41) [0x2adda13a68b7]]

: [./mgr(OCISESS_context_def::oci_try(int, char const*, ...)+0x4e0) [0x4f2070]]

: [./mgr(OCISESS_context_def::logon(ggs::gglib::ggapp::CLoginName const&, ggs::gglib::ggapp::CDBObjName<(DBObjType)12> const&, ggs

::gglib::ggunicode::UString const&, int, bool, int, int, int)+0x86f) [0x4f346f]]

: [./mgr(DBOCI_init_connection_logon(ggs::gglib::ggapp::CLoginName const&, ggs::gglib::ggapp::CDBObjName<(DBObjType)12> const&, ch

ar const*, int, int, int, char*)+0xd6) [0x4d8b26]]

: [./mgr [0x4ebbf5]]

: [./mgr(gl_odbc_param(char const*, char const*, char*)+0x4c) [0x4ebf2c]]

: [./mgr(param_file_args(char*)+0x12d3) [0x4479e3]]

: [./mgr(init_functions(int, char**)+0x5f0) [0x448030]]

: [./mgr(main_loop(int, char**)+0x4c) [0x44e13c]]

: [./mgr(main+0xdc) [0x44e8bc]]

: [/lib64/libc.so.6(__libc_start_main+0xf4) [0x33a801d994]]

: [./mgr(__gxx_personality_v0+0x14a) [0x43a49a]]


2016-03-16 00:04:47 ERROR OGG-00664 OCI Error beginning session (status = 1034-ORA-01034: ORACLE not available

ORA-27101: shared memory realm does not exist

Linux-x86_64 Error: 2: No such file or directory).


2016-03-16 00:04:47 ERROR OGG-01668 PROCESS ABENDING.


看到这个错误感觉比较奇怪,Oracle实例没有启动的时候会报这个错误,但是我的实例已经启动了,为什么还是会报这个错误呢。

通过网络搜索资料也没有得到解决办法,随后便自己研究。

检查ogg用户,是否因为ogg用户组导致无法识别到实例:

[ggs@qfangsh3 dirrpt]$ id ggs

uid=1008(ggs) gid=1000(oinstall) groups=1000(oinstall),1001(dba),1004(asmdba)


检查ogg目录权限发现也没有问题。


查看mgr进程配置

GGSCI (qfangsh3) 2> view params mgr


DYNAMICPORTLIST 7840-7914

PORT 7809

PURGEOLDEXTRACTS /opt/ggs/dirdat/*****/*, USECHECKPOINTS, MINKEEPFILES 30

AUTORESTART ER *, RETRIES 3, WAITMINUTES 5

USERID ***, PASSWORD *******

PURGEDDLHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 30

PURGEMARKERHISTORY MINKEEPDAYS 3, MAXKEEPDAYS 5, FREQUENCYMINUTES 30

LAGREPORTHOURS 1

LAGINFOMINUTES 30

LAGCRITICALMINUTES 45


发现除了用户以外,也没有其他关于数据库的配置,此前怀疑ORACLE_HOME变量配置错误的想法也不攻自破了。

那么配置文件中没有相关参数的配置,ogg的mgr进程是通过什么来确定oracle实例呢?

后来想到是不是通过 ORACLE_SID 环境变量呢,就去检查一些环境配置,

结果发现ORACLE_SID配置成了另外一个节点的SID,修改正确,并且使其生效。


从新进入ogg客户端

./ggsci

start mgr

start *


GGSCI (******) 3> info all


Program Status Group Lag at Chkpt Time Since Chkpt


MANAGER RUNNING

EXTRACT RUNNING ****** 00:00:09 00:00:05

EXTRACT RUNNING ****** 00:00:00 00:00:02

EXTRACT RUNNING ****** 00:00:00 00:00:00

REPLICAT RUNNING ****** 00:00:00 00:00:06

REPLICAT RUNNING ****** 00:00:00 00:00:03


mgr进程正常启动,问题解决

遇到问题多想想,多检查一下,总是可以解决问题的


0