DB2表空间状态异常解决方法

本文详细记录了一次因在DB2中错误使用nonrecoverable关键字导致表空间变为backuppending状态的问题及其解决过程。通过调整数据库参数、在线备份异常表空间至null并恢复默认设置,最终成功恢复正常状态。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在用DB2导数据的时候,为了恢复自增主键,进行备份和恢复时,因为错误使用了nonrecoverable这个关键字,导致数据库表空间异常,说是备份时出现了问题。查了好多资料发现有个帖子不错,特整理做笔记。
一、问题出现: 在数据库做了一个load作业,末尾未加参数:nonrecoverable,结果导致目标表所在的表空间变为backup pending状态(0X0020)
二、解决方法:
1.切换到数据库实例用户登录数据库,查看表状态(数据库实例:cmsdb)

db2 connect to cmsdb
db2 list tablespaces show detail

只要状态不是0X0000都是非正常的数据

2.查看数据库参数

db2 get db cfg for cmsdb|grep USEREXIT
db2 get db cfg for cmsdb|grep LOGRETAIN

3.修改数据库参数

db2 update db cfg for cmsdb using userexit on
db2 update db cfg for cmsdb using logretain on

4.空备异常表空间(异常表空间名:CRM_DATA1)

db2 backup database cmsdb tablespace CRM_DATA1 online to /dev/null

这一步要等几分钟的样子,几分钟没有结束有点怕了,不要怕要再等一下

5.恢复数据库参数

db2 update db cfg for cmsdb using userexit off
db2 update db cfg for cmsdb using logretain off

6.验证

db2 list tablespaces show detail

注意:第 2-5步要用数据库管理员的身份登录db2inst1
原文来自
https://blog.csdn.net/dingguanyi/article/details/77902485

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值