DB2 LOAD命令中COPY NO/COPY的说明
2007-05-20 16:20:17 来源:WEB开发网核心提示: SQL0290N 不允许存取表空间, SQLSTATE=55039在手动对 USERSPACE1 表空间进行一次备份操作后,DB2 LOAD命令中COPY NO/COPY的说明(3),表空间状态将正常,再次尝试更新操作就会成功:E:TEST>db2 backup db sample
SQL0290N 不允许存取表空间。 SQLSTATE=55039
在手动对 USERSPACE1 表空间进行一次备份操作后,表空间状态将正常,再次尝试更新操作就会成功:
E:TEST>db2 backup db sample tablespace (userspace1)
备份成功。此备份映像的时间戳记是:20051230184841
命令完成后可以在当前目录下看到产生了一个 SAMPLE.3 的子目录,表明产生的是一个表空间级的备份。
E:TEST>db2 connect to sample
E:TEST>db2 list tablespaces
表空间标识 = 2
名称 = USERSPACE1
类型 = 系统管理空间
内容 = 任何数据
状态 = 0x0000
详细解释:
正常
而所产生这份关于表空间的备份可在数据库因前滚操作将表空间置为“复原暂挂”状态时用于将表空间状态恢复为正常,并恢复 LOAD 操作对该表的修改。如当前滚数据库超过 LOAD 时间点后,表空间将被置为复原暂挂状态:
E:TEST>
db2 restore db sample taken at 20051230174105
DB20000I RESTORE DATABASE 命令成功完成。
E:TEST>db2 rollforward db sample to end of logs and stop
SQL1271W 已恢复数据库 "SAMPLE",但在节点 "0"上有一个或多个表空间脱机
E:TEST>db2 connect to sample
E:TEST>db2 list tablespaces
表空间标识 = 2
名称 = USERSPACE1
类型 = 系统管理空间
内容 = 任何数据
状态 = 0x0100
详细解释:
复原暂挂
此时可利用这一表空间级的备份进行恢复操作:
E:TEST>db2 restore db sample tablespace (userspace1) taken at 20051230184841
DB20000I RESTORE DATABASE 命令成功完成。
E:TEST>db2 connect to sample
E:TEST>db2 list tablespaces
:
表空间标识 = 2
名称 = USERSPACE1
类型 = 系统管理空间
内容 = 任何数据
状态 = 0x0080
详细解释:
前滚暂挂
:
E:TEST>db2 rollforward db sample to end of logs and stop tablespace (userspace1)
前滚状态
输入数据库别名 = sample
节点数已返回状态 = 1
节点号 = 0
前滚状态 = 未暂挂
下一个要读取的日志文件 =
已处理的日志文件 = -
上次落实的事务 = 2005-12-30-10.47.10.000000
DB20000I ROLLFORWARD 命令成功完成。
E:TEST>db2 list tablespaces
:
表空间标识 = 2
名称 = USERSPACE1
类型 = 系统管理空间
内容 = 任何数据
状态 = 0x0000
详细解释:
正常
:
E:TEST>db2 update staff set id=335 where id=340
更多精彩
赞助商链接