暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

GBase 8a单机由于事务日志translog损坏导致无法启动的分析和处理

墨天轮DB 2022-04-29
646

GBase 8a单机,其事务是记录在事务日志translog里的,如果因某些原因出现损坏。而在数据库启动时,会尝试redo, 而此时translog日志损坏,导致卡住或报错。删除日志文件后,可以正常启动。

GBase 8a单机因为不涉及到MPP,在早期版本的事务支持就比集群略好一些,且当时的版本没有做到很好的保护,如果进程或服务器意外宕机、重启、磁盘空间满或断电等情况发生,可能导致事务日志有部分内容没有刷到磁盘,由于事务日志translog损坏导致无法启动的分析和处理。

现象

数据库system,log里在启动时,出现redo操作信息,包含flush刷新信息,但一直没有完成。

解决方案

停掉进程,然后将事务日志删除或挪走,然后再重启服务。

建议现场,除非硬件故障,断电等情况,否则重启时,一定先停掉数据库服务,然后再重启reboot。

事务日志位置

安装目录/server/translog/tranalog, 同时会出现一个flush字样的文件。

单机事务介绍

默认是不开启事务的,其translog大小也一直是0. 数据库参数也是不使用。

gbase> show variables like '%tx%'; +-------------------------+-------------------------------------+ | Variable_name | Value | +-------------------------+-------------------------------------+ | gbase_tx_log_dir | /home/gbase8/GBase/server/translog/ | | gbase_tx_log_flush_time | 90.000000 | | gbase_tx_log_mode | NO_USE,NO_STANDARD_TRANS | | tx_isolation | REPEATABLE-READ | +-------------------------+-------------------------------------+ 4 rows in set (Elapsed: 00:00:00.00) gbase> ^CAborted [gbase8@gbase8a ~]$ cd GBase [gbase8@gbase8a GBase]$ ll total 8 drwxrwxr-x 2 gbase8 gbase8 56 Sep 4 05:54 config drwxrwxr-x 2 gbase8 gbase8 6 Sep 4 05:54 docs drwxrwxr-x 2 gbase8 gbase8 101 Sep 4 05:54 install_config drwxrwxr-x 3 gbase8 gbase8 37 Sep 4 05:54 install_templet -rw-r--r-- 1 gbase8 gbase8 3351 Sep 4 05:54 license.txt drwxrwxr-x 3 gbase8 gbase8 21 Sep 4 05:54 log drwxrwxr-x 2 gbase8 gbase8 6 Sep 4 05:54 misc -rw-rw-r-- 1 gbase8 gbase8 446 Sep 4 05:54 readme.txt drwxrwxr-x 7 gbase8 gbase8 72 Sep 4 05:54 server drwxrwxr-x 4 gbase8 gbase8 49 Sep 4 05:54 tmpdata drwxrwxr-x 3 gbase8 gbase8 21 Sep 4 05:54 userdata [gbase8@gbase8a GBase]$ cd server/ [gbase8@gbase8a server]$ ll total 4 drwxrwxr-x 4 gbase8 gbase8 4096 Sep 4 05:54 bin drwxrwxr-x 3 gbase8 gbase8 19 Sep 4 05:54 include drwxrwxr-x 3 gbase8 gbase8 19 Sep 4 05:54 lib drwxrwxr-x 4 gbase8 gbase8 35 Sep 4 05:54 share drwx------ 2 gbase8 gbase8 22 Sep 4 05:54 translog [gbase8@gbase8a server]$ cd translog/ [gbase8@gbase8a translog]$ ll total 0 -rw------- 1 gbase8 gbase8 0 Sep 4 05:54 translog [gbase8@gbase8a translog]$

开启事务

增加或修改配置参数,然后重启服务

gbase_tx_log_mode=USE,STANDARD_TRANS
[gbase8@gbase8a config]$ vi gbase_8a_gbase8a.cnf [gbase8@gbase8a config]$ gbase.server restart Shutting down GBase.... SUCCESS! Starting GBase. SUCCESS! [gbase8@gbase8a config]$ gbase GBase client Free Edition 8.6.2.43-R7-free.110605. Copyright (c) 2004-2020, GBase. All Rights Reserved. gbase> show variables like '%tx%'; +-------------------------+-------------------------------------+ | Variable_name | Value | +-------------------------+-------------------------------------+ | gbase_tx_log_dir | /home/gbase8/GBase/server/translog/ | | gbase_tx_log_flush_time | 90.000000 | | gbase_tx_log_mode | USE,STANDARD_TRANS | | tx_isolation | REPEATABLE-READ | +-------------------------+-------------------------------------+ 4 rows in set (Elapsed: 00:00:00.00) gbase> ^CAborted

查看translog,已经开始使用了。

[gbase8@gbase8a GBase]$ cd server/translog/ [gbase8@gbase8a translog]$ ll total 4 -rw------- 1 gbase8 gbase8 4 Sep 4 06:38 translog [gbase8@gbase8a translog]$ cat translog [gbase8@gbase8a translog]$ xxd translog 0000000: 0000 0000 .... [gbase8@gbase8a translog]$
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论