免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4418 | 回复: 15
打印 上一主题 下一主题

请教:关于一次清除lib下所有表的数据问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-07 13:38 |只看该作者 |倒序浏览
各位朋友,如何一次将lib下所有表的数据清空,有朋友说用cl可以,如何作呀,请朋友们指教。

论坛徽章:
0
2 [报告]
发表于 2005-12-07 13:39 |只看该作者
clrpfm 表名

论坛徽章:
0
3 [报告]
发表于 2005-12-07 13:55 |只看该作者
楼上说的只能一个表一个表清,不能满足楼主说的一次全部清掉,偶也不知道更好的办法,期待中……但怀疑没有楼主说的可以一次全部清掉的方法。

论坛徽章:
0
4 [报告]
发表于 2005-12-07 14:00 |只看该作者
清空LIB下所有的database ,要写CL程序了。

论坛徽章:
0
5 [报告]
发表于 2005-12-07 14:45 |只看该作者
如何写呢,请朋友们讲一个范例呀,再次感谢。

论坛徽章:
0
6 [报告]
发表于 2005-12-07 14:59 |只看该作者
PGM
DSPFD..........将一个LIB下所有PF名输出到一个表内
RCVF  ......... 读取该表   
CLRPFM  ..........读一个 清空一个
ENDPGM


如果你有WDS的话就比较简单了 做个OPTION就可以了

论坛徽章:
0
7 [报告]
发表于 2005-12-07 23:10 |只看该作者
谢谢。

论坛徽章:
0
8 [报告]
发表于 2005-12-08 09:28 |只看该作者

CLRPFM  ..........读一个 清空一个
ENDPGM

------------------------
在CLRPFM与ENDPGM加一个MONMSG,加一个RPG
如果有CLR不成功的,PRINT 一个LIST!!
这样公保险一些!

论坛徽章:
0
9 [报告]
发表于 2005-12-08 13:56 |只看该作者
首先请问楼主清空数据的同时是否释放空间.如你的表格没有做过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 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2005-12-09 17:18 |只看该作者
谢谢楼上几位朋友的解答。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP