如何在使用时将DB2数据库备份为OFFLINE

时间:2015-07-10 19:53:49

标签: db2 backup

假设有一个应用程序在不停止循环中尝试从数据库中读取。 我尝试了以下但它不起作用:

db2 CONNECT TO SAMPLE
db2 QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS
db2 TERMINATE
db2 DEACTIVATE DB SAMPLE
db2 BACKUP DATABASE SAMPLE

似乎(DEACTIVATE DB)没有做任何事情,因为循环中的应用程序仍然可以从数据库中读取。

我一直收到错误"数据库目前正在使用"在尝试备份时。

2 个答案:

答案 0 :(得分:0)

您必须确保没有应用程序连接到数据库(db2 list applications)。此外,您必须确保数据库不活动(db2 list active databases)。

请记住,静默或强制应用程序是异步任务。这意味着您执行其中任何一个,但是当返回控件时,并不意味着应用程序已断开连接。

典型情况是批量处理的回滚,当回滚需要几分钟时。

答案 1 :(得分:0)

QUIESCE DATABASE不会阻止新连接进入。我相信您至少有两种选择:

  1. 使用QUIESCE INSTANCE <instance> USER <username> RESTRICTED ACCESS IMMEDIATE FORCE CONNECTIONS。这将强制所有现有连接并限制对新连接的访问​​。只有USER中指定的用户才能连接。据推测,这将是您的管理帐户。

  2. 如果这是禁止使用,或者如果您无法阻止USER生成新连接,您可能需要(暂时)UNCATALOG DB和/或禁用{{1注册表变量以防止新连接。

  3. HTH。