这里写自定义目录标题
问题
最近有需要把历史的数据,导入新的分区表。但是在执行的过程中遇到了问题。一个亿左右的数据。看一下脚本。
db2 load client from data.del of del
MODIFIED BY coldel0x0f insert into mytable
loda数据的时候没有在意,参数设置。等再次查询大量数据的时候页面提示 SQLCODE -290。官方提示-290 是表空间挂起。
使用如下命令查询,
db2 list tablespaces
查看结果,其中一个表空间的状态,State = 0x0020。表空间挂起的解决方案就是备份表空间。不明白为什么表空间挂起就需要备份。而不是解挂或者别的方案。
网上查了一下解决方案,就是备份一下表空间。可是我怎么也不明白为啥load会导致表空间挂起。
后来看了一下load 的三种格式明白了原因。
查看了这篇博客里的内容明白了。
DB2 LOAD的三种模式 COPY NO, COPY YES和NONRECOVERABLE
需要执行
`backup db <database_name> tablespace <tablespace_name> online to /dev/null`
命令解决这个问题。
参考内容
备份完毕之后,表空间挂起的问题解决。
后续如果需要load数据,需要
db2 load client from data.del of del
MODIFIED BY coldel0x0f insert into mytable NONRECOVERABLE