最开始用的脚本是,凌晨一点自动备份
db2 connect to HRBB user db2inst1 using db2inst1
db2 quiesce db immediate force connections
db2 connect reset
db2 terminate
db2 force applications all
db2 backup database HRBB
这样偶尔会成功,但是大部分情况下还会报 sql1035N,数据库正在使用。于是换成下方的脚本
db2stop force
sleep 10
db2start
db2 backup database HRBB
连续好几天都 是报 SQL1035N 。。 测试环境测试一点问题没有。
这是死锁导致的问题吗?
数据库重启了应该不是吧?
我找到了 sql1035n 的官方文档。
SQL1035N
数据库当前正在使用。
说明
存在下列其中一种情况:
1已经对该数据库打开了连接,这导致尝试的操作无法继续。这在以下情况下可能会发生:
已请求独占使用该数据库,但同一进程中的另一用户已将该数据库用作共享数据库。
已请求独占使用该数据库,但该数据库已被用作独占数据库(两个不同的进程尝试访问同一个数据库)。
已达到数据库的最大连接数。
另一个系统上的另一个用户正在使用该数据库。
2该数据库是被显式激活的,这导致该操作无法继续。
3数据库处于活动状态,因为它处于 WRITE SUSPEND 状态。
无法处理该命令。
用户响应
1有效选项是:
稍后在不使用数据库时重新提交该命令。
更改权限以与当前的用户匹配或等到不再使用该数据库为止。
等到不互斥使用数据库为止。
等待另一个系统上的其他用户与该数据库断开连接。
发出 QUIESCE DATABASE DEFER WITH TIMEOUT <分钟数> 命令和 CONNECT RESET 命令以释放数据库连接并禁止应用程序用户重新连接。DEFER 选项将等待应用程序,直到它们落实当前工作单元而不是回滚所有正在运行的事务为止。
发出 LIST APPLICATIONS 命令以列示数据库连接。发出 FORCE APPLICATION ALL 命令以释放数据库连接。注意:FORCE APPLICATION ALL 是异步命令,即使它仍然在继续清除连接,它也可能会成功返回。在该命令完成前需要经过一段不定的时间。
2使用 DEACTIVATE DATABASE 命令将数据库取消激活。
3发出 SET WRITE RESUME FOR DATABASE 命令,以便对该写操作继续执行写操作。
请重新发出此命令。
有关命令语法的更多信息以及相关主题,请使用诸如“强制应用程序”、“将数据库取消激活”和“停顿数据库”之类的短语在信息中心(http://publib.boulder.ibm.com/infocenter/db2luw/v9)中进行搜索。
实在是解决不了, 求助各位大大,给个方向
收起