Использование утилиты PROREST 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Использование утилиты PROREST



Утилита PROREST используется для восстановления базы данных как с полной, так и с инкрементальной копии. Синтаксис следующий:

 

prorest dbname device-name {-list | -vp | -vf}


Где,
dbname
имя базы данных, которую необходимо восстановить


device-name
определяет путь к резервной копии базы данных, из которой будет происходить восстановление

-list
Отображает описание всех областей хранения данных содержащихся в копии. Используйте ее для формирования нового структурного файла и создания базы данных, в которую будет происходить восстановление копии.

-vp
Определяет необходимость проверки копии путем вычисления CRC кода блоков копии и сравнения его с CRC кодом указанным в заголовке блока. Для восстановления поврежденного блока, необходимо определить показатель избыточности при формировании копии базы данных.


-vf
Определяет необходимость сравнения каждого блока копии с каждым блоком базы данных. Работает только при условии, что базы данных не используется.

Примечание: при использовании параметров –vp и –vf, восстановление базы данных не происходит. Для восстановления необходимо повторно запустить PROREST, но уже без этих параметров.

При первом запуске базы данных, восстановленной из online копии, сначала запустится механизм восстановления (crash recovery), чтобы откатить все транзакции, которые были не завершены на момент копирования базы.

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

Если PROREST при восстановлении сталкивается с поврежденными блоками копии, которые он не в состоянии восстановить - данные в этих блоках будут потеряны. Количество потерянных данных приблизительно равно количеству поврежденных блоков умноженных на значение параметра –bf (blocking factor).

Перед началом восстановления на экране отобразится сообщение о дате копии и необходимом количестве блоков для восстановления базы данных.
Важные правила для восстановления базы

Есть несколько важных правил, которых стоит придерживаться при выполнении процедуры восстановления:

 

· Если восстановление происходит в уже существующую базу, проверьте копии перед началом восстановления. В случае, если существующая базы находится в единственном экземпляре, перед восстановлением сформируйте копию этой базы.

· Восстанавливайте копию на той же версией OpenEdge, на которой копия была сформирована.

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

· Создайте пустую базу данных перед началом восстановления.

· Восстанавливайте базу данных в той же последовательности, в какой формировали копию. Т.е сначала восстанавливайте полную копию, потом первую инкрементальную, затем вторую и т.д. При попытке восстановления базы в не правильной последовательности, вы получите ошибку восстановления.

· Если вторая инкрементальная копия была потеряна и был использован фактор перекрытия 1, то третья копия будет успешно восстановлена, т.к. содержит потерянные данные второй.

· После восстановления полной копии, не используйте базу данных, если вы собираетесь продолжить восстановление из инкрементальных копий. Если база данных будет изменена до окончания восстановления всех копий, все последующий инкрементальные копии, которые не были восстановлены) восстановиться не смогут, и придется повторять всю процедуру восстановления заново, начиная с полной копии.

· Если в момент выполнения восстановления произошла системная ошибка, то запустите процедуру восстановления заново начиная с той копии, которая восстанавливалась на момент системной ошибки.

· Если восстановление происходит в существующую структуру базы данных, то она должна иметь одинаковый с копией размер блока базы данных, одинаковые области хранения данных и достаточное количество экстентов этих областей. PROREST, при необходимости, расширяет область хранения данных, для обеспечения полного восстановления, но если количество экстентов области будет не достаточным, восстановление будет аварийно завершено.


Пример восстановления из полной копии


1. Введите следующую команду:

 

prorest newdev /dev/rrm/0m


Где,
newdev - это пустая база данных,

/dev/rrm/0m – определяет устройство с которого база данных будет восстанавливаться.

Как только начнется восстановление, на экране отобразится следующее сообщение:


This is a full backup of /usr1/develop/devel.db. (6759)
This backup was taken Wed Nov 18 15:34:43 1999. (6760)
The blocksize is 1024. (6990)
It will require a minimum of 3065 blocks to restore. (6763)
Read 41 blocks in 00:00:02


2. Подключитесь к базе данных после окончания восстановления.


Пример восстановления из инкрементальной копии


Для восстановления инкрементальной копии, сначала необходимо восстановить полную копию, на которой основывается инкрементальная.

1. Введите следующую команду для восстановления инкрементальной копии, при условии, что полная копия уже восстановлена:

 

prorest newdev /dev/rrm/0m


Как видим синтаксис не изменился. На экране при начале восстановления появится следующая информация:

This is an incremental backup of /usr1/develop/devel.db. (6759)
This backup was taken Wed Nov 18 15:41:47 1999. (6760)
The blocksize is 1024. (6990)
It is based on the full backup of Wed Nov 18 15:34:43 1999. (6761)
It will require a minimum of 3065 blocks to restore. (6763)
Read 41 blocks in 00:00:00


2. Как только восстановление будет завершено, можно подключаться к базе данных.



Поделиться:


Последнее изменение этой страницы: 2021-12-15; просмотров: 37; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.15.1 (0.019 с.)