Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / restore из старого бакапа, которого нет в каталоге / 14 сообщений из 14, страница 1 из 1
02.08.2017, 13:33
    #39498986
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
Собственно уже не раз, ранее удачно восстанавливался из древних rman файликов, которых уже нет в каталоге.
Имеется full backup level 0 plus archivelog
Раньше пользовался dbms_backup_restore, сейчас же делаю так:
1) восстанавливаю контрол файл
Код: plsql
1.
restore controlfile from '.............';


2)
Код: plsql
1.
alter database mount;


3)
Код: plsql
1.
restore database;


4)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
--restore archived redolog (все, которые есть в этом backupset)
DECLARE
  devtype varchar2(256);
  done boolean;
BEGIN
  dbms_backup_restore.DeviceDeallocate;
  devtype := dbms_backup_restore.DeviceAllocate (type => '',ident => 'FUN');
  dbms_backup_restore.RestoreSetArchivedLog(destination=>'......');
  BEGIN
    FOR seq IN 119575..119579
    LOOP
      dbms_backup_restore.RestoreArchivedLog(thread=>1,sequence=> seq);
    END LOOP;
    EXCEPTION WHEN OTHERS
    THEN NULL;
  END;
  dbms_backup_restore.RestoreBackupPiece(done => done,handle => '.........', params => null);
  dbms_backup_restore.DeviceDeallocate;
END;
/


5) recover database using backup controlfile until cancel;
Применяю все архивы, которые есть в этом фуллбакапе.
6) Пытаюсь сделать alter database open resetlogs; - не выходит :(, пишет что к системному таблспейсу должны быть применены ещё несколько архивлогов, которых у меня нет.
Сохранился лог создания этого бакапа, после забакапливания всех датафайлов, rman написал: "current log archived",
затем забакапил все архивлоги.
Вопрос: почему их недостаточно? Проворачивал такое уже не один раз, но давно, теперь не получается..

Следующий селект показывает разные числа:
Код: plsql
1.
2.
3.
select distinct checkpoint_change# from v$datafile_header
union all
select distinct checkpoint_change# from v$database;
...
Рейтинг: 0 / 0
02.08.2017, 15:56
    #39499113
проходил мимо...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercator,

Выполните recover rman'ом или покажите лог, как именно вы выполняете пункт 5.
Собственно, лог приветствуется в любом случае.
...
Рейтинг: 0 / 0
02.08.2017, 16:55
    #39499163
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
проходил мимо...,

пункт 5 выполнял из sqlplus'а, но дело не в этом, у меня всё получилось, вспомнил как раньше делал.
Перетёр всё базу новым рестором, а затем, вместо пункта 5 выполнил:
Код: plsql
1.
recover database using backup controlfile until time 'yyyy-mm-dd hh:mm:ss';



Время - обязательно с точностью до секунд. Это время взял из времени бакапа контролфайла(см пункт 3 ниже). В логе бакап проходил в следующей очерёдности:
1. Старые архивлоги, недобакапленные с прошлого бакапа.
2. Датафайлы.
3. Контролфайл.
4. Архивлоги, накопившиеся за время бакапа.

Получается, применяя часть архивлога, база открывается, а если применить полностью, то база становится неконсистентной. Не знаю где об этом написано, но факт - есть факт.
...
Рейтинг: 0 / 0
02.08.2017, 18:15
    #39499220
проходил мимо...
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercator,

У вас в какой момент времени контролфайл бэкапился, который вы в самом начале восстанавливаете?
...
Рейтинг: 0 / 0
02.08.2017, 20:02
    #39499262
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
проходил мимо...,

Сразу после бакапа датафайлов, как я писал в предыдущем сообщении.
Бакап делается так:
Backup as compressed backupset incremental level 0 database including current controlfile plus archivelog

Получается в контролфайле информация о запакованных датафайлах есть, а об архивлоговских файлах, наплодившихся за время бакапа - нет.
...
Рейтинг: 0 / 0
02.08.2017, 20:05
    #39499263
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
Поэтому мне и пришлось пользоваться dbms_backup_restore.
...
Рейтинг: 0 / 0
02.08.2017, 21:14
    #39499280
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercatorПолучается, применяя часть архивлога, база открывается, а если применить полностью, то база становится неконсистентной. Не знаю где об этом написано, но факт - есть факт.

так и есть
либо антил тайм, либо антил scn
либо выбрасывайте древние версии оракла

как вариант попробуйте стендбай-контрол, он вроде умеет кэнсел корректно обрабатывать
...
Рейтинг: 0 / 0
02.08.2017, 23:01
    #39499320
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
DВА,
Антил тайм я примерно угадал, но не уверен что в следующий раз так выйдет и бакап последнего датафайла окажется новее, чем секунда, указанная мной в антил тайм.
А антил scn вообще не знаю как вычислить у такого бакапа?
...
Рейтинг: 0 / 0
03.08.2017, 08:42
    #39499416
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
Запрос, который вернул вам разные значения SCN и
Код: plsql
1.
list backup of archivelog all


Low SCN из листинга должен быть меньше или равен минималному из запроса, который вернул разные значения
это и будет until scn
...
Рейтинг: 0 / 0
03.08.2017, 08:54
    #39499427
landy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
Перевести scn в tme для until time
Recovery SCN

Because it is online backup the datafiles are fuzzy. We need to apply redo generaed during backup.
The ‘media recovery start SCN’ is the begining of the archivelog to be applied:

SQL> select scn_to_timestamp(47681637369) from dual;

SCN_TO_TIMESTAMP(47681637369)
---------------------------------------------------------------------------
19-MAY-15 01.10.38.000000000 AM

The ‘recovery must be done beyond SCN’ is the last redo that must be applied to have datafiles consistent:

SQL> select scn_to_timestamp(47682382860) from dual;

SCN_TO_TIMESTAMP(47682382860)
---------------------------------------------------------------------------
19-MAY-15 01.35.58.000000000 AM
...
Рейтинг: 0 / 0
03.08.2017, 11:46
    #39499582
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercatorПолучается в контролфайле информация о запакованных датафайлах есть, а об архивлоговских файлах, наплодившихся за время бакапа - нет.

сделайте:
CONFIGURE CONTROLFILE AUTOBACKUP ON;

тогда всё упроститься.
...
Рейтинг: 0 / 0
04.08.2017, 11:12
    #39500177
mercator
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
landy, cпасибо за совет. Правда у меня есть логи, только те, что в фуллбакапе, последующих нет.
Соответственно, list backup of archivelog all вообще не показывает архивлоги, которые наплодились за время бакапа. Поэтому я и достаю логи из этого же фуллбакапа извращённым методом, через dbms_backup_restore.

Aliona, я делаю командой Backup as compressed backupset incremental level 0 database including current controlfile plus archivelog;
так что контролфайл у меня бакапится независимо от переменных..
...
Рейтинг: 0 / 0
07.08.2017, 15:45
    #39501335
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercator
Aliona, я делаю командой Backup as compressed backupset incremental level 0 database including current controlfile plus archivelog;
так что контролфайл у меня бакапится независимо от переменных..

Не поняли совет :(
...
Рейтинг: 0 / 0
07.08.2017, 15:47
    #39501337
Aliona
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
restore из старого бакапа, которого нет в каталоге
mercator Поэтому я и достаю логи из этого же фуллбакапа извращённым методом, через dbms_backup_restore.


Не нужно будет прибегать к "извращённым методам"
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / restore из старого бакапа, которого нет в каталоге / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]