暂无图片
OGG 生成def 文件报错:OGG-00768 Failed to Map database character to ULibCharSet
我来答
分享
kamner
2021-12-09
OGG 生成def 文件报错:OGG-00768 Failed to Map database character to ULibCharSet

【环境】

CentOS 7.9

MySQL 8.0

GoldenGate 19.1.0.0.3


【问题】

执行命令“./defgen paramfile ./dirprm/defgen.prm”,报错如下:


Source Context :
SourceModule : [ggdb.mysql.util]
SourceID : [../gglib/ggdbmysql/mysqlutil.c]
SourceMethod : [MYSQLUTIL_check_err]
SourceLine : [560]
ThreadBacktrace : [15] elements
: [/ogg/libgglog.so(CMessageContext::AddThreadContext())]
: [/ogg/libgglog.so(CMessageFactory::CreateMessage(CSourceContext*, unsigned int, ...))]
: [/ogg/libgglog.so(_MSG_String_UInt32_String(CSourceContext*, int, char const*, unsigned int, char const*, CMessageFactory::MessageDisposition))]
: [./defgen(MYSQLUTIL_check_err(short, char const*, ...))]
: [./defgen(MYSQLUTIL_get_database_charset())]
: [./defgen(DBUTIL_getDatabaseMetadata(ggs::gglib::ggunicode::UString const*, ggs::gglib::ggapp::CDatabaseMetadata const**, ggs::gglib::ggunicode::UString&))]
: [./defgen(gl_odbc_param(char const*, char const*, char (&) [2048]))]
: [./defgen(get_infile_params())]
: [./defgen()]
: [./defgen(ggs::gglib::MultiThreading::MainThread::ExecMain())]
: [./defgen(ggs::gglib::MultiThreading::Thread::RunThread(ggs::gglib::MultiThreading::Thread::ThreadArgs*))]
: [./defgen(ggs::gglib::MultiThreading::MainThread::Run(int, char**))]
: [./defgen(main)]
: [/lib64/libc.so.6(__libc_start_main)]
: [./defgen()]

2021-12-09 09:28:24 ERROR OGG-00768 Failed to Map database character to ULibCharSet. SQL error (0).

2021-12-09 09:28:24 ERROR OGG-01668 PROCESS ABENDING.



mysql> SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME = 'mytestdb';
+----------------------------+------------------------+
| DEFAULT_CHARACTER_SET_NAME | DEFAULT_COLLATION_NAME |
+----------------------------+------------------------+
| utf8 | utf8_general_ci |
+----------------------------+------------------------+
1 row in set (0.01 sec)


根据文章 (Doc ID 2283833.1)的描述,OGG 19.1 应该是支持 utf8的,为什么还会报这个错?


我来答
添加附件
收藏
分享
问题补充
4条回答
默认
最新
薛晓刚

两端都是mysql吗?如果都是mysql可以不用ogg。两边字符集一致吗?

mysql到oracle可以用。

暂无图片 评论
暂无图片 有用 0
打赏 0
kamner

mysql to oracle,现在还没到两边字符集的问题,源端生成def文件就报错了

暂无图片 评论
暂无图片 有用 0
打赏 0
kamner

mysql 5.6、5.7之前部署过是没有问题的

暂无图片 评论
暂无图片 有用 0
打赏 0
范伟林

12c以上ogg版本都不需要用def文件了,表结构默认会抽取到trail文件的;以前11g版本的时候ogg才用到而已

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
mysql5.7实例每次异常关闭后,重启报PID file already exists
回答 1
已采纳
判断一下文件是否存在,存在就删除或者直接在启动脚本里先删除一遍pid文件
MYSQL 是否有锁设置并发更新数?
回答 1
innodbthreadconcurrency,如果设置为0,则表示不限制,mysql数据库服务器会尽可能地处理请求非0的话,表示并发数,建议设置小于等于cpu核数;
mysql 怎样批处理插入数据库,只提交一次?
回答 2
已采纳
官方文档https://dev.mysql.com/doc/refman/8.0/en/commit.htmlSTARTTRANSACTIONorBEGINstartanewtransaction.C
mysql除了双一模式外,是否还有其他常用的组合?
回答 1
1.备份多个库,恢复多个库:在备份时,备份所有需要的数据库,在恢复时,恢复所有备份的数据库。2.热备份:在数据库运行中进行备份,不需要停机。热备份通常通过复制二进制日志实现。3.备份时并发读写:通过锁
OGG中Lag at Chkpt 和Time Since Chkpt的区别
回答 1
TimeSinceCheckpoint指ogg的extract或replicat进程产生最近的一个检查点,再从这个检查点到目前为止有多长时间没有更新了,即最近一个检查点与当前系统时间的时间差。该值可以
MySQL可以自定义变参存储函数吗?
回答 3
已采纳
mysql支持自定义函数,可带0N个参数。使用时,和系统函数的用法一样。
MySQL现在用的还多呢?
回答 1
已采纳
类MySQL很多。纯MySQL互联网公司非常多。去IOE的那些客户还有部分,因为他们都搞信创去了
mysql做数据库开发,写存储过程, 用什么比较好?
回答 5
sqlyog,navicat都是蛮好的工具。如果熟练的话,使用文本编辑器也是可以的。
有个mycat下面有100个分片借点,假如现在我第100个节点宕机,那请问本来应该写入第100号节点的数据会怎样
回答 2
1.对于应用来说是丢失链接,因为应用的请求是通过mycat去分发的。应用只会认为,mysql无法连接,执行的事务失败。2.对于mysql来说突然宕机,对于宕机的服务器来说,内存的东西丢掉了,写入日志的
锁定 FOR UPDATE 是否允许通过 MySQL 中的另一个连接来执行简单的 SELECT 语句?
回答 1
已采纳
可以。