DB2里面如何将表空间从Backupinprogress回到Noraml状态?

DB2备份时候一直显示多个表在backup in progress这个状态,如何更新到normal状态。
不重启数据库的话可以直接更新吗?
DB2 list tablespaces show detail
........
State                                = 0x0800
   Detailed explanation:
     Backup in progress

参与22

3同行回答

朱向东朱向东课题专家组高级工程师某银行
出现这个状态可能是由于备份操作未能正常完成或终止导致的,可以用db2 list utilities show detail命令来查看当前正在运行的备份任务,找到与这些表相关的备份任务。如果备份任务已经停止,可以尝试使用db2 update table schema.tablename using online命令将这些表的状态更新...显示全部

出现这个状态可能是由于备份操作未能正常完成或终止导致的,可以用db2 list utilities show detail命令来查看当前正在运行的备份任务,找到与这些表相关的备份任务。
如果备份任务已经停止,可以尝试使用db2 update table schema.tablename using online命令将这些表的状态更新为 "normal" 状态。
如果表的状态仍然没有更新,可以尝试使用db2 update table schema.tablename using online reset status命令强制更新表的状态。

收起
银行 · 2023-05-23
cfpl_900cfpl_900联盟成员数据库管理员安信证券
要解除DB2表空间的"backup in progress"状态,可以按照以下步骤进行操作:确认备份是否正在进行:使用db2pd命令查询当前数据库备份的状态,确认备份是否正在进行。db2pd -d -tablespaces 如果Backup Pending列中有表空间,则表明备份正在进行。在此情况下,无法解除"backup in pr...显示全部

要解除DB2表空间的"backup in progress"状态,可以按照以下步骤进行操作:

  1. 确认备份是否正在进行:使用db2pd命令查询当前数据库备份的状态,确认备份是否正在进行。
db2pd -d  -tablespaces   

如果Backup Pending列中有表空间,则表明备份正在进行。在此情况下,无法解除"backup in progress"状态。

  1. 中止备份操作:使用db2 "force application"命令强制终止备份操作。需要注意的是,这可能会导致数据不一致,因此应该在确定备份已经失效后才进行操作。
db2 "force application agent_id"   

其中,agent_id是备份进程的ID号。

  1. 解除"backup in progress"状态:使用db2 "rollforward"命令执行日志前滚操作,以将表空间恢复到正常状态。
db2 "rollforward db  to end of logs and complete"   

其中,为要恢复的数据库名称。

需要注意的是,以上操作可能会对数据库的完整性和可用性产生影响,因此应该在备份和恢复操作之前进行充分的备份和测试。

收起
证券 · 2023-05-29
AcdanteAcdante技术总监SHFY
备份的时候这个状态是正常的。在DB2中,当一个表空间处于Backup Pending状态时,这个表空间将不能进行任何的更新操作。使用以下命令将表空间从Backup Pending状态回到Normal状态:RESTORE DATABASE TABLESPACE END-OF-LOGS其中,是要恢复的数据库名称,是要恢复的表空间名称。执...显示全部

备份的时候这个状态是正常的。
在DB2中,当一个表空间处于Backup Pending状态时,这个表空间将不能进行任何的更新操作。使用以下命令将表空间从Backup Pending状态回到Normal状态:
RESTORE DATABASE TABLESPACE END-OF-LOGS
其中,是要恢复的数据库名称,是要恢复的表空间名称。
执行该命令后,DB2会把这个表空间中的所有表恢复到最后备份之后的状态,并且将表空间的状态从Backup Pending改为Normal。

需要注意的是,在执行该命令之前,需要确保该表空间的备份已经完成并且结束。在表空间备份期间,DB2会将该表空间的状态设置为Backup Pending,以确保备份数据的一致性。如果执行该命令时,备份还没有完成,则会导致表空间恢复失败。

收起
互联网服务 · 2023-05-23
  • 不知道为啥,备份备着备着自己退出了,才会出现这个backup in progress。想重置到normal状态,但是又怕数据库被搞奔溃了。
    2023-05-26
  • 匿名用户
    备份中断了么?那没事,更新一下状态即可
    2023-05-26
  • neilrule  neilrule回复 匿名用户
    从外面备份服务器备份的。备份连接中断了出现了这个问题。
    2023-06-01

ChatGPT 回答

在DB2备份时,如果备份过程中出现了多个表在backup in progress状态,这通常意味着这些表正在备份中,备份尚未完成。如果您想要更新这些表的状态为normal,可以尝试以下方法:

  1. 等待备份完成:如果您不想重启数据库,可以等待备份完成。一旦备份完成,这些表的状态将自动更新为normal。
  2. 取消备份:如果您确定这些表不需要备份,可以取消备份。您可以使用以下命令取消备份:
db2 "backup tablespace <tablespace_name> online cancel"

这将取消指定表空间的备份,并将其状态更新为normal。

  1. 强制备份完成:如果备份过程中出现了问题,导致备份无法完成,您可以尝试使用以下命令强制备份完成:
db2 "rollforward db <database_name> to end of logs and complete"

这将强制将数据库恢复到日志的末尾,并完成备份。这可能需要一些时间,具体取决于数据库的大小和备份的进度。

需要注意的是,以上方法都需要谨慎操作,以免对数据库造成不必要的损害。在执行任何操作之前,请务必备份数据库,并确保您具有足够的权限和经验。

提问者

neilrule
系统运维工程师zhou
擅长领域: 服务器存储数据库

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2023-05-23
  • 关注会员:4 人
  • 问题浏览:1865
  • 最近回答:2023-05-29
  • X社区推广