AS/400上命令RGZPFM的作用及用法梳理
时间:2015-11-17 ┊ 阅读:7,084 次 ┊ 标签: 编程 , 经验 , 问题
在as/400上我们有时可能会遇到一种情况,一个物理file里已经没有数据了,但占用的空间依然很大?
file info view1:
Object Type Attribute
#38323 *FILE PF-DTA
file info view2:
Object Type Size
#38323 *FILE 1234536864
但数据只有寥寥几条记录:
Line ....+....1....+....2....+....3...
#38323
000001 1004871181I019345741024950069xxxx
000002 200487118100853 00001
000003 3004871181A03428130000000xxxxxxxx
000004 1004871182I019345744045691849xxxx
000005 200487118200853 00001
000006 3004871182A03428130000000xxxxxxx
000007 1004871186I019345752089918583xxx
000008 200487118600853 00001
000009 3004871186A03428130000000
****** ******** End of report ********
这是为什么呢?这是因为大部分的数据已经被deleted,但空间没被释放。
查看一下file desc info:
Current number of records . . . . . . . . : 9
Number of deleted records . . . . . . . . : 1234561421
是,没看错,竟然有这么多已经删除的记录。
那么怎么样让已经删除的记录把空间也同时释放了呢?这时候我们就用上RGZPFM了。
在command line run命令:RGZPFM FILE(Lib/#38323)
屏幕一闪完成并得到消息:Data in member CCUZ reorganized.
这样整理完成,再看一下file info:
Object Type Size
#38323 *FILE 36864
file 的size已经变为36864了。
Reorganize Physical File Mbr (RGZPFM):
The Reorganize Physical File Member (RGZPFM) command removes deleted
records from (compresses) one member of a physical file in the
database, and it optionally reorganizes that member.
RGZPFM的作用就是重新调整物理文件成员,把已经删除的记录占用空间释放掉。
本文所引用数据仅供参考,谢谢。