日期:2014-05-16  浏览次数:20407 次

DB2 常见问题处理

?

1. DB2 数据表挂起解决办法:

?

情况1: db2 drop column 后, 会把表挂起, ?在命令行中连接到数据后, ?

db2 reorg table <表名> 可以使表解除挂起状态

?

情况2:如果是应用对表操作导致,可以执行下面一句
?????db2 set integrity for <表名> check immediate unchecked

?

情况3:有时候是数据库还原开来后有表操作不了
?报错:DB2 SQL error: SQLCODE: -668, SQLSTATE: 57016, SQLERRMC: 1;DB2ADMIN.NP_USER_ROLE
?
尝试?

? ? db2 set integrity for?<表名>??immediate checked

?

? 如果不行, 可以尝试情况2的命令, 不过建议最好排查一下什么原因引起的

?

2. DB2表空间操作常用命令

?

对数据库表空间操作时, 首先需要通过db2 connect 连接上要操作的数据库

2.1 . 查看表空间

?

2.1.1 查看全部表空间

? db2 list tablespaces

? 命令返回一组列表<格式如下>

?

? Tablespace ID ? ? ? ? ? ? ? ? ? ? ? ?= 0 ;?表空间标识

? Name ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = SYSCATSPACE ;?名称

Type ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? = Database managed space ; 类型

Contents ? ? ? ? ? ? ? ? ? ? ? ? ? ? = All permanent data. Regular table space. ;?内容

State ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?= 0x0000 ; 表空间状态

Detailed explanation: ; 状态的解释

? ? ? Normal ;?

?

?2.1.2 查看指定表空间容器信息

? ?db2 list tablespace containers for <表空间标识>?

?

?

?2.2. 创建表空间

?

?2.3. 重命名表空间

? ?db2 renaem tablespace <表空间名称> TO <新的表空间名称>

? ?这个命令在替换表空间, 做备份比较有用

?

?2.4. 删除表空间

? ?db2 drop tablespace <表空间名称>

?

?2.5. 备份表空间

?