ECC6.0+DB2下DBTABLOG表清理并释放表空间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
适用情况:
ECC6.0
DB2 版本从V9.5升级到V10.1
一、从表DBTABLOG中删除数据,只保留1年数据。(时间自己定)
SE38 运行程序RSTBPDEL,后台运行程序。
二、打入DB6CONV程序
参考note1513862,下载附件中的文件解压,把解压文件放到如下目录:cp R000016.FW1 /usr/sap/trans/data
cp K000016.FW1 /usr/sap/trans/cofiles
运行STMS
传输即可。
三、运行程序DB6CONV重组表DBTABLOG。SE38 执行程序DB6CONV,参考note 362325
保存即可,选择合适的时间启动后台任务运行。
四、降低高水位
高水位降低后表空间大小没有减少。
五、缩小PRD#PROTD表空间
1、创建表空间PRD#PROTD1。
CREATE LARGE TABLESPACE "PRD#PROTD1" IN DATABASE PARTITION GROUP SAPNODEGRP_PRD PAGESIZE 16384 MANAGED BY AUTOMATIC STORAGE
USING STOGROUP "IBMSTOGROUP"
AUTORESIZE YES
INITIALSIZE 32 M
MAXSIZE NONE
EXTENTSIZE 2
PREFETCHSIZE AUTOMATIC
BUFFERPOOL "IBMDEFAULTBP"
DATA TAG NONE
OVERHEAD 7.500000
TRANSFERRATE 0.060000
NO FILE SYSTEM CACHING
DROPPED TABLE RECOVERY OFF;
2、把表空间PRD#PROTD的数据转移到表空间PRD#PROTD1。
运行会报错,如下:
SQL0551N "SAPPRD" does not have the required authorization or privilege to perform operation "CREATE TABLE" on object
缺少权限,给用户SAPPRD dbadm权限。
db2 grant dbadm on database to user SAPPRD
SE38 运行程序DB6CONV
3、删除表空间PRD#PROTD,容器也被删除,文件系统空间释放。
db2 drop tablespace PRD#PROTD
4、重建表空间PRD#PROTD。
CREATE LARGE TABLESPACE "PRD#PROTD" IN DATABASE PARTITION GROUP SAPNODEGRP_PRD PAGESIZE 16384 MANAGED BY AUTOMATIC STORAGE
USING STOGROUP "IBMSTOGROUP"
AUTORESIZE YES
INITIALSIZE 32 M
MAXSIZE NONE
EXTENTSIZE 2
PREFETCHSIZE AUTOMATIC
BUFFERPOOL "IBMDEFAULTBP"
DATA TAG NONE
OVERHEAD 7.500000
TRANSFERRATE 0.060000
NO FILE SYSTEM CACHING
DROPPED TABLE RECOVERY OFF;
5、把表空间PRD#PROTD1中的数据重新转回到表空间PRD#PROTD。
6、删除表空间PRD#PROTD1。
db2 drop tablespace PRD#PROTD1
7、去掉dbadm权限
revoke dbadm on database from user sapprd
六、前后对比变化
1、表空间PRD#PROTD从145G减少到256M,释放文件系统空间144G,数据库大小减少144G。
2、表空间PRD#PROTD的状态发生了变化。
RECLAIMABLE_SPACE_ENABLED的值从0变成1。
第三步到第五步,也可如下操作
1、rename old tablespaces
db2 rename tablespace PRD#PROTD to PRD#PROTD _OLD
db2 rename tablespace PRD#PROTI to PRD#PROTDI_OLD
2、创建表空间
通过DBACOCKPIT事务码创建表空间PRD#PROTD和PRD#PROTI,也可通过DDL语句找到创建表空间的语句在数据库层面创建。
3、通过DB6CONV程序转换表空间即可。
Tablespace to Be Converted“PRD#PROTD _OLD”,Target Data Tablespace“PRD#PROTD”,Target Index Tablespace“PRD#PROTDI”。
4、DROP旧表空间
db2 drop tablespace PRD#PROTD
db2 drop tablespace PRD#PROTI