OCP版本:Version: 4.3.0-20240711151555
observer版本:oceanbase-4.2.1.6-106000022024042414.el7.x86_64.rpm
使用的是企业版 OceanBase
- 问题复现:
当前租户备份情况与归档信息,如下:


该租户最近的备份与归档是在2024年3月。
2024年10月17号,做一次备份,信息如下:

查看OCP任务列表,会发现,一直卡在第一步, Start log backup if necessary,一段时间后,大概10分左右,会报错,信息如下:


OCP租户显示归档状态,并没有发生变化

查看系统表,log是已经开启了,与OCP任务中报错,不符合。
select TENANT_ID , TENANT_NAME , LOG_MODE from DBA_OB_TENANTS WHERE TENANT_ID = 1070 ;

- 问题原因:
备份目录,最开始是如下:

个人猜,备份中断长时间,会把CLOG,目录清除,data目录里面也只剩check_file 了。之后,再次发起备份,备份目录变化成如下:

- 问题解决:
在linux,创建新的备份目录,如1070_bak。
ALTER SYSTEM NOARCHIVELOG TENANT XXXXXX;------关闭租户归档模式 ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///XXX/XXX/XXX/tenant_incarnation_1/1070_bak/clog' TENANT = XXXXXX; ------重新指定归档日志路径 ALTER SYSTEM SET DATA_BACKUP_DEST= 'file:///XXX/XXX/XXX/tenant_incarnation_1/1070_bak/data' TENANT = XXXXXX; ------重新指定备份文件路径 ALTER SYSTEM BACKUP TENANT = XXXXXX; ------发起备份
这样就有了一次最新的备份,但因为我们用的是临时的备份目录,在用OCP,备份,会默认用租户ID(1070)目录来保存,所以,成功备份后,在改回原来的目录,就可以在OCP发起新的备份。
ALTER SYSTEM NOARCHIVELOG TENANT XXXXXX;------关闭租户归档模式 ALTER SYSTEM SET LOG_ARCHIVE_DEST='LOCATION=file:///XXX/XXX/XXX/tenant_incarnation_1/1070/clog' TENANT = XXXXXX; ------指定原有归档日志路径 ALTER SYSTEM SET DATA_BACKUP_DEST= 'file:///XXX/XXX/XXX/tenant_incarnation_1/1070/data' TENANT = XXXXXX; ------指定原有备份文件路径 使用OCP进行备份
后续就正常了。