- 论坛徽章:
- 0
|
首先请问楼主清空数据的同时是否释放空间.如你的表格没有做过RGZPFM
或表格的属性中Reuse deleted records . . . . . *YES 没有选YES的话.
那么即使你删除了所有表格的数据,这些表格的空间还是占用那么多的哦.
要是楼主你要求删除的同时释放表格的空间,那么请把表格的
Reuse deleted records . . . . . *YES 选为YES (用CHGPF命令修改)
或者你删除所有表格后,对每个表格进行命令RGZPFM.
以下提供删除整个LIB下的CLP程序:.如LIBAA 里有A1,A2,A3.三个表.
CLP程序名为:BBB
PGM
START:
CLRPFM FILE(LIBAAA/A1)
CLRPFM FILE(LIBAAA/A2)
CLRPFM FILE(LIBAAA/A3)
DLTOVR FILE(*ALL) (这句可要可不要)
ENDPGM
编译好的BBB CLP程序后.
可直接CALL 或使用SBMJOB 命令放在BATCH里面运行,这样是在线删除,所以在程序执行前,请在LIB LIST 上面增加你要删除数据的LIB
要是LIB里面的数据很大,清除的过程中占用很多时间的,
楼主可以工作计划的安排WRKJOBSCDE 让系统社定时间自行清除数据就可以了.
单这样程序要更改一下,如下 这样做建议使用两个CLP放到BATCH里面进行)
CLP程序BBB1
PGM
START:
SBMJOB CMD(CALL PGM(LIBAAA/BBB2)) +
JOB(BBB2) JOBQ(ZZPLIB/ZBATCHL3)
/*ZZPLIB/ZBATCH1这个请查询你的系统中那些Job Queues */
/*可使用命令WRKJOBQ 查询*/
ENDPGM
CLP程序BBB2
PGM
START:
ADDLIBLE LIB(LIBAAA) POSITION(*AFTER XXXLIB)
/* XXXLIB是代表你的系统操作时最前面的一个LIB.*/
/*上面的语句就是把你LIBAAA放在最前面*/
MONMSG MSGID(CPF2103)
CLRPFM FILE(LIBAAA/A1)
CLRPFM FILE(LIBAAA/A2)
CLRPFM FILE(LIBAAA/A3)
RMVLIBLE LIB(LIBAAA)
DLTOVR FILE(*ALL)
ENDPGM
[ 本帖最后由 leason 于 2005-12-8 14:12 编辑 ] |
|