2

How can I determine how much storage space on disk a restored database will consume once it has been fully restored? The purpose of this is to ensure that there is enough storage space before attempting to restore the database.

Tom Bascom
  • 13,405
  • 2
  • 27
  • 33
Preston Martin
  • 2,789
  • 3
  • 26
  • 42

2 Answers2

2

You'll have to do some math, but you can use prorest's -list parameter.

prorest -list <restoredb> <backupfile>

You'll get a list of each area along with its size and records per block.

Area Name: Schema Area
       Size: 12345, Records/Block: 32, Area Number: 6, Cluster Size: 1

Divide the size by the records per block, then multiply that by the block size. Do that for each area, add them up, and that should be your database size.

TheDrooper
  • 1,182
  • 1
  • 7
  • 14
2

There's a nice example in the documentation. I'll pull it in here:

Table 108. Sample PROREST -list output

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

Use the output of PROREST -list to calculate the size of each restored area as follows:

area-size = (Size / records-per-block) * database-block-size

For example, the size of the restored schema area is:

area-size = (Size / records-per-block) * database-block-size
1,441,792 = (11264 / 32) * 4096

1441792 will be in bytes so divide it by 1024 (or 1024 * 1024) to get it in kilobytes (or megabytes) etc.

https://documentation.progress.com/output/ua/OpenEdge_latest/index.html#page/dmadm%2Fprorest-utility.html%23

Jensd
  • 7,886
  • 2
  • 28
  • 37