DB2数据库SYSTOOLSPACE状态为Offline诊断解决
1、1、问题诊断分析
查看表空间详情
$db2 list tablespaces show detail
输出结果中看到
Tablespace ID = 3 Name = SYSTOOLSPACE Type = Database managed space Contents = All permanent data. Regular table space. State = 0x4000 Detailed explanation:
Offline
查看表空间状态及所用容器
$db2pd -db db2test -tablespaces |more
由以上命令输出可以看到SYSTOOLSPACE的状态为0x00004000,UsedPgs和FreePgs都为0,所在目录为/db2testdb/config/db2test/NODE0000/DB2CNAPS/T0000003/C0000000.LRG查看该目录发现/db2testdb/config/db2cnaps/NODE0000/DB2TEST不存在T0000003目录,所以该表空间不可用,可以用重建的方式修复该问题
2、2、重建过程
1、停止使用该数据库的应用,确认停止完成
2、备份数据库(db2test用户操作)
$db2 force applications all
$db2 backup db db2test to /home/db2test
3、删除表空间
$db2start
$db connect to db2test
$db2 drop tablespace systoolspace
4、使用命令触发重新创建systoolspace表空间
$db2look -d db2test -u db2test -e -o db2test.sql
$db2 terminate
5、查看该表空间状态,确认该表空间已经重建
$db2 connect to db2test
$db2 list tablespaces show detail
6、应用启动,确认启动完成
3、3、应急回退步骤
$db2 restore db db2test from /home/db2test replace existing