假设有一个应用程序在尝试从数据库读取的非停止循环中。 我曾尝试以下,但它不工作:如何在使用DB2时脱机备份DB2数据库
db2 CONNECT TO SAMPLE
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
db2 TERMINATE
db2 DEACTIVATE DB SAMPLE
db2 BACKUP DATABASE SAMPLE
看来,如果(DEACTIVATE DB
)不会做任何事情,因为在一个循环的应用程序可以从数据库中仍读。
尝试备份时,我不断收到错误“数据库当前正在使用”。
当我做“QUIESCE DATABASE”时,它说“数据库已经是QUIESCED”。我无法停止非停止循环的应用程序,因此,在执行“强制连接所有”后,它将断开连接数秒,但随后又恢复为活动状态。 – genericMetal
这意味着应用程序连接的授权ID具有“QUIESCE CONNECT”特权,允许它连接到静默数据库。最常见的情况是,当应用程序使用实例所有者ID或类似的连接时,这本身就是一个坏主意。有没有简单的方法 - 你必须在网络层面阻止连接,例如通过更改实例端口(需要重新启动)或设置防火墙规则来阻止应用程序IP地址。 – mustaccio