Получение размера реставрации из базы данных Прогресс-4gl

Как я могу определить, сколько места на диске будет занимать восстановленная база данных после полного восстановления? Это делается для того, чтобы перед попыткой восстановления базы данных было достаточно места для хранения.


person Preston Martin    schedule 08.05.2017    source источник


Ответы (2)


В документации есть хороший пример. Я втащу сюда:

Таблица 108. Пример вывода PROREST-списка

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

Например, размер восстановленной области схемы составляет:

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

1441792 будет в байтах, поэтому разделите его на 1024 (или 1024 * 1024), чтобы получить килобайты (или мегабайты) и т. Д.

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

person Jensd    schedule 08.05.2017

Вам нужно будет выполнить некоторую математику, но вы можете использовать параметр prorest -list.

prorest -list <restoredb> <backupfile>

Вы получите список каждой области с указанием ее размера и количества записей на блок.

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

Разделите размер на количество записей в блоке, затем умножьте на размер блока. Сделайте это для каждой области, сложите их, и это должен быть размер вашей базы данных.

person TheDrooper    schedule 08.05.2017