首页 > 数据库 > 数据库开发技术 > DB2数据库用户表空间重置目录地址
(一).目前表空间位置:
迁移目的地址:
当前存储问题:
(二).备份表空间并通过备份文件还原数据库表空间,在此过程中重置表空间位置:
错误:SQL2421
不允许表空间级备份,因为未启用前滚恢复
数据库要能进行在线(logretain),增量备份(trackmod),需要修改相应的参数,参数修改之后,与数据库相连的所有应用断开了,修改才会生效。 此时,数据库处于暂挂状态,需要做一次离线备份
解决:
(a).查看日志的归档方式:db2
get db cfg|grep LOGARCHMETH
OFF 指定不使用日志归档方法。如果 logarchmeth1 和logarchmeth2 都设置为 OFF,则认为数据库正在使用循环日志记 录,且不可前滚恢复。这是缺省值。
(b).修改日志为归档方式:
其中修改userexit
on 失败,查看DB2解释,该参数不再使用
(c).再次查看:
(d).重启
(e).对数据库进行完全脱机备份:
(f).表空间在线备份:
db2 backup db BCCS
tablespace ccpopt online to /u01/db2inst1/TBS/BCCS
db2 backup db BCCS
tablespace CCPCOMM online to /u01/db2inst1/TBS/BCCS
(g).通过备份的表空间文件进行复原表空间并进入重置目录状态
db2 restore database
BCCS tablespace \(ccpopt\) from /u01/db2inst1/TBS/BCCS taken at 20160922122914
redirect
出现这种错误,通过db2
force application all关闭所有应用
(h). 配置新的目录地址
db2 "set
tablespace containers for 3 using (file '/u01/db2inst1/TBS/BCCS/ccpopt'
78336)"
78336来源于原有表空间分页数量:
(i). 继续复原
db2 restore
database BCCS continue
(j).通过归档日志前滚数据库,保证是最新的
db2 rollforward
database BCCS to end of logs and stop
(三)结果:
原有位置的表空间文件已被移走
新的位置创建了新的表空间:
存储也得到了改善:
若不需要归档日志则将归档日志改回循环日志,否则空间很快使用完
db2
update db cfg for BCCS using LOGARCHMETH1 OFF
最后重启DB2。
(四) 附:
迁移另一个表空间ccpcomm,步骤同上。
(k). db2 restore database BCCS tablespace
\(ccpcomm\) from /u01/db2inst1/TBS/BCCS taken at 20160922123206 redirect
(l). db2 "set tablespace containers for 4
using (file '/u01/db2inst1/TBS/BCCS/ccpcomm' 41600)"
(m). db2 restore
database BCCS continue
(n). db2 rollforward database BCCS to end of logs
and stop
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30487710/viewspace-2125316/ ,如需转载,请注明出处,否则将追究法律责任。