【发布时间】:2017-05-10 03:21:11
【问题描述】:
如何确定已恢复的数据库在完全恢复后将占用多少磁盘存储空间?这样做的目的是确保在尝试恢复数据库之前有足够的存储空间。
【问题讨论】:
标签: openedge progress-db
如何确定已恢复的数据库在完全恢复后将占用多少磁盘存储空间?这样做的目的是确保在尝试恢复数据库之前有足够的存储空间。
【问题讨论】:
标签: openedge progress-db
文档中有一个很好的例子。我把它拉在这里:
表 108. 示例 PROREST -list 输出
OpenEdge Release 10.2B1P as of Wed Oct 21 19:01:48 EDT 2009
Area Name: Schema Area
Size: 11264, Records/Block: 32, Area Number: 6, Cluster Size: 1
Area Name: Info Area
Size: 1024, Records/Block: 32, Area Number: 7, Cluster Size: 1
Area Name: Customer/Order Area
Size: 6656, Records/Block: 32, Area Number: 8, Cluster Size: 8
Area Name: Primary Index Area
Size: 112, Records/Block: 1, Area Number: 9, Cluster Size: 8
Area Name: Customer Index Area
Size: 256, Records/Block: 1, Area Number: 10, Cluster Size: 64
Area Name: Order Index Area
Size: 8192, Records/Block: 32, Area Number: 11, Cluster Size: 64
Area Name: Encryption Policy Area
Size: 20448, Records/Block: 32, Area Number: 12, Cluster Size: 64
Area Name: Audit Area
Size: 4608, Records/Block: 32, Area Number: 20, Cluster Size: 8
Area Name: Audit Index
Size: 8704, Records/Block: 32, Area Number: 22, Cluster Size: 8
使用 PROREST -list 的输出计算每个恢复区域的大小,如下所示:
area-size = (Size / records-per-block) * database-block-size
例如恢复的schema区域的大小为:
area-size = (Size / records-per-block) * database-block-size
1,441,792 = (11264 / 32) * 4096
1441792 将以字节为单位,因此将其除以 1024(或 1024 * 1024)得到千字节(或兆字节)等。
【讨论】:
你必须做一些数学运算,但你可以使用 prorest 的 -list 参数。
prorest -list <restoredb> <backupfile>
您将获得每个区域的列表以及每个区域的大小和记录。
Area Name: Schema Area
Size: 12345, Records/Block: 32, Area Number: 6, Cluster Size: 1
将大小除以每个块的记录,然后乘以块大小。对每个区域执行此操作,将它们相加,这应该是您的数据库大小。
【讨论】: