Фев 222012
 

Если вдруг возникла необходимость быстро определить максимально отдалённый момент, на который можно восстановить базу, можно воспользоваться таким трюком (подразумевается использование Veritas NetBackup):

Определим имена всех backup pieces, относящихся к нашей базе:

bplist  -C proddb.company.ru -t 4 -l -R / | grep PRODDB | grep -v LOGS

В результате получим примерно такой вывод:

-rw-rw---- oracle  dba   27269376K Feb 08 04:19 /DB.INC0.PRODDB.s79930.p1
-rw-rw---- oracle  dba   35308544K Feb 08 04:09 /DB.INC0.PRODDB.s79929.p1
-rw-rw---- oracle  dba   30084864K Feb 08 04:00 /DB.INC0.PRODDB.s79928.p1
-rw-rw---- oracle  dba   25110784K Feb 08 03:52 /DB.INC0.PRODDB.s79927.p1
-rw-rw---- oracle  dba   21837056K Feb 08 03:44 /DB.INC0.PRODDB.s79926.p1
-rw-rw---- oracle  dba   34234368K Feb 08 03:29 /DB.INC0.PRODDB.s79923.p1
-rw-rw---- oracle  dba   36394752K Feb 08 03:21 /DB.INC0.PRODDB.s79922.p1
-rw-rw---- oracle  dba   37490176K Feb 08 03:05 /DB.INC0.PRODDB.s79921.p1
-rw-rw---- oracle  dba   24093696K Feb 08 03:05 /DB.INC0.PRODDB.s79920.p1
-rw-rw---- oracle  dba   34847232K Feb 08 02:42 /DB.INC0.PRODDB.s79919.p1
-rw-rw---- oracle  dba   36888320K Feb 08 02:40 /DB.INC0.PRODDB.s79918.p1
-rw-rw---- oracle  dba   38524416K Feb 08 02:00 /DB.INC0.PRODDB.s79915.p1
-rw-rw---- oracle  dba   39964160K Feb 08 02:00 /DB.INC0.PRODDB.s79914.p1
-rw-rw---- oracle dba 30091776K Jan 25 04:23 /DB.INC0.PRODDB.s79244.p1
-rw-rw---- oracle  dba   32869376K Jan 25 04:21 /DB.INC0.PRODDB.s79243.p1
-rw-rw---- oracle  dba   33648128K Jan 25 04:01 /DB.INC0.PRODDB.s79242.p1
-rw-rw---- oracle  dba   37217024K Jan 25 03:56 /DB.INC0.PRODDB.s79241.p1
-rw-rw---- oracle  dba   32567808K Jan 25 03:39 /DB.INC0.PRODDB.s79240.p1
-rw-rw---- oracle  dba   36864512K Jan 25 03:32 /DB.INC0.PRODDB.s79237.p1
-rw-rw---- oracle  dba   35148800K Jan 25 03:15 /DB.INC0.PRODDB.s79236.p1
-rw-rw---- oracle  dba   33366784K Jan 25 03:10 /DB.INC0.PRODDB.s79235.p1
-rw-rw---- oracle  dba   37155584K Jan 25 02:50 /DB.INC0.PRODDB.s79234.p1
-rw-rw---- oracle  dba   31730944K Jan 25 02:49 /DB.INC0.PRODDB.s79233.p1
-rw-rw---- oracle  dba   38465280K Jan 25 02:00 /DB.INC0.PRODDB.s79230.p1
-rw-rw---- oracle  dba   40611584K Jan 25 02:00 /DB.INC0.PRODDB.s79229.p1

Список backup pieces надо смотреть снизу вверх. Итак, что мы видим: 25 января в 02:00 начался бэкап. База у нас большая, поэтому файлов (pieces) было несколько. Нас интересует время создания последнего (выделен красным).
Казалось бы, можно восстанавливать базу на 25 января 04:23, но это не так. Дело в том, что команда bplist показывает время начала копирования файла бэкапа на ленту, и если мы попытаемся восстановиться на этот момент, то ничего не получится.

Время окончания бэкапа узнаем так:

SELECT handle, media, start_time, completion_time 
	FROM v$backup_piece
	WHERE handle = 'DB.INC0.PRODDB.s79244.p1';

В колонке completion_time будет время окончания копирования файла на ленту, вот на этот момент и надо ориентироваться при восстановлении. В моём случае это было время 4:43:40, т.е. на 20 минут больше, чем показывала команда bplist.

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre lang="" line="" escaped="" cssfile="">

(обязательно)

(обязательно)