首批通过分布式安全可靠测评,为关键业务系统打造
OBServer 日志归档一直处于 BEGINING 状态的原因及解决方法
更新时间:2025-06-23 08:26
问题现象
在 SYS 租户下针对 1002 租户开启日志归档。
ALTER SYSTEM ARCHIVELOG tenant_name='xxx';
查看日志归档状态,发现 STATUS 长时间处于 BEGINNING 状态。
MySQL [oceanbase]> select * from cdb_ob_archivelog where tenant_id=1002\G
*************************** 1. row ***************************
TENANT_ID: 1002
DEST_ID: 1001
ROUND_ID: 1
INCARNATION: 1
DEST_NO: 0
STATUS: BEGINNING
START_SCN: 1720075177865499441
START_SCN_DISPLAY: 2024-07-04 14:39:37.865499
CHECKPOINT_SCN: 1720075177865499441
CHECKPOINT_SCN_DISPLAY: 2024-07-04 14:39:37.865499
COMPATIBLE: 1
BASE_PIECE_ID: 1
USED_PIECE_ID: 1
PIECE_SWITCH_INTERVAL: 86400000000
UNIT_SIZE: 1
COMPRESSION: none
INPUT_BYTES: 0
INPUT_BYTES_DISPLAY: 0.00MB
OUTPUT_BYTES: 0
OUTPUT_BYTES_DISPLAY: 0.00MB
COMPRESSION_RATIO: 0.00
DELETED_INPUT_BYTES: 0
DELETED_INPUT_BYTES_DISPLAY: 0.00MB
DELETED_OUTPUT_BYTES: 0
DELETED_OUTPUT_BYTES_DISPLAY: 0.00MB
COMMENT:
PATH: file:///xxxx/nfs/xxxx
1 row in set (0.74 sec)
问题版本
OceanBase 数据库 V4.x 版本。
问题原因
OBServer 未挂载 NFS(网络文件系统)或者权限有问题。
解决方法
确认租户日志流归档情况。
select *, scn_to_timestamp(checkpoint_scn) from Oceanbase.CDB_OB_LS_LOG_ARCHIVE_PROGRESS where tenant_id = 1002 and piece_id = 1;
从上图我们可以看出 1002 租户的 1025 日志流归档有异常。
注意
这里还有其他字段,为了截图方便隐藏了其他字段。
确认租户日志流 leader 节点。
select svr_ip from oceanbase.gv$ob_log_stat where tenant_id=1002 and ls_id=1025 and role='leader';确认日志。
在第 2 步获取的日志流 leader 所在的节点上查看 observer.log 日志,发现权限问题,最终定位是该节点上未挂载 NFS(网络文件系统)导致。
[2024-07-04 15:00:58.828801] INFO [STORAGE] mkdir (ob_storage_file.cpp:268) [55774][T1002_ArcSender][T1002][xxxxx-xxxxx-xxxxx-xxxxx] [lt=12] path exist(pos=10, path=/media/nfs) [2024-07-04 15:00:58.828822] WDIAG [STORAGE] mkdir (ob_storage_file.cpp:304) [55774][T1002_ArcSender][T1002][xxxxx-xxxxx-xxxxx-xxxxx] [lt=9][errcode=-4009] failed to create parent dir(ret=-4009, path=/media/nfs/ksxxxGateway, errno=13, errno="Permission denied") [2024-07-04 15:00:58.828830] WDIAG [STORAGE] mkdir (ob_storage.cpp:1159) [55774][T1002_ArcSender][T1002][xxxxx-xxxxx-xxxxx-xxxxx] [lt=7][errcode=-4009] failed to mkdir(ret=-4009, uri=file:///media/nfs/ksxxxGateway/piece_d1001r1p1/logstream_1025/log) [2024-07-04 15:00:58.828835] WDIAG mkdir (ob_backup_io_adapter.cpp:219) [55774][T1002_ArcSender][T1002][xxxxx-xxxxx-xxxxx-xxxxx] [lt=5][errcode=-4009] fail to mkdir!(ret=-4009, uri=file:///xxxx/nfs/xxxx/piece_d1001r1p1/logstream_1025/log, storage_info=0x7f624ff8a470) [2024-07-04 15:00:58.828842] WDIAG [ARCHIVE] build_archive_prefix_if_needed_ (ob_ar挂载 NFS(网络文件系统)。归档状态变为 DOING 。