时区问题导致定时备份无法执行

【问题描述】

数据库时区与操作系统时区不一致,导致定时备份无法执行。通过查看数据库作业历史信息,发现配置好的全量备份、增量备份、定期清理备份文件的作业未执行,作业历史信息中没有作业执行相关信息,查看数据库 dba_jobs 视图也没有相关执行信息。查看操作系统时区和时间发现操作系统时间是通过 date -s 命令设置导致操作系统时间与 +8:00 时区时间一致,故而比数据库时间快 1 小时。

【问题原因】

定时备份是依据数据库时区来决定的,如果数据库的时区与操作系统的时区不一致会影响定时备份是否被执行。

【问题解决】

  1. 修改操作系统时区为 Asia/Shanghai,再次查看时间恢复正常,且与数据库时间一致。
  2. 重启数据库服务后,再次测试调整定时备份时间,发现备份执行成功。

可以通过校验 dm_svc.conf 文件中 TIME_ZONE=(480) 的值与操作系统 timedatectl 获取的时区是否一致;一致后如果定时备份还是未能成功执行,需要重启一次数据库服务,再次修改或重新创建定时备份等操作来确认定时备份是否会成功执行。