为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:05134284044-20230417-187846-20040
【操作系统】:kylin v10
【CPU】:x86
【问题描述】*:
目前备份情况:
每天23点开始备份,每周5全备,其他增量备份,每周一个轮询,删除7天前的备份
经常发生备份然后死锁的问题,怎么进行排查。
这里是归档备份和增量备份放到一个时间了?建议把各个备份任务和备份清理的时间错开,如果有第三方备份的话,建议也要和数据库本身的备份时间分开,避免锁争抢
数据库的../log下有,详细的备份日志,看看归档和数据库备份报错的详细说明,发个截图出来
不同备份要错开的,如果已经有备份在运行,后续发起的备份就会提示这个错误。
总结下目前情况,23点会定时发起一个数据库备份,而每整点会发起一个归档日志备份。
目前看只有23点的时候,同时发起两次备份的时候会有Deadlock的这个问题。
我自己在测试环境简单测试了下,在disql交互式下开启两个会话,其中1个执行"backup database full backupset '/home/dmdba/FullBak';",然后另外1个会话执行"backup archive log all delete input backupset '/home/dmdba/archbak';",后发起会话的v$sessions.state='WAIT',也没有死锁的情况。
尚不清楚Deadlock的原因。
同一时段,只能一个备份运行。

将备份任务安排在业务低峰期(如凌晨)进行,最大程度减少与业务事务的冲突。