以下为9.7和10.5版本中的online backup和nonrecoverable load兼容性测试结果
1. 先发起nonrecoverable load,后发起online backup时:
insert into xxx allow read access |
insert into xxx allow NO access |
replace into xxx allow NO access | |
SMS
|
backup等OnlBackup锁,
报SQL0911N,RC=68 失败 |
backup等Z锁,
报SQL0911N,RC=68 失败 |
backup等Z锁,
报SQL0911N,RC=68 失败 |
DMS
|
不冲突
|
不冲突
|
不冲突
|
2. 先发起online backup,再发起nonrecoverable load时:
insert into xxx allow read access | insert into xxx allow NO access | replace into xxx allow NO access | |
SMS | load等AlterTab锁,报SQL0911N,RC=68失败 | load需要的Z锁等表级别的IN锁,报SQL0911N,RC=68失败 | load需要的Z锁等表级别的IN锁,报SQL0911N,RC=68失败 |
DMS | 不冲突 | 不冲突 | load会HANG住一段时间,且这个时间不受locktimeout参数的控制(不会锁超时),直到(对应表)backup完成,才继续进行,并成功完成 |
其他情况,建议多做测试,以测试为准。load的参数很多,再加上SMS/DMS表空间情形复杂,信息中心反映的情况并不完整。另外多做测试的一个重要原因是,测出的结果不冲突,不代表没有兼容性问题,Db2开发人员对于兼容性的定义是没有冲突,所以这一点上来讲,nonrecoverable load即使在DSM表空间下,仍然和online backup"冲突",不过很多情况下察觉不到,这里的冲突可能有信号量、消息队列,都是OS级别的资源冲突,而非锁等,所以不会有锁超时的报错。