ECC6.0+DB2下DBTABLOG表清理并释放表空间

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档