powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / restore из старого бакапа, которого нет в каталоге
14 сообщений из 14, страница 1 из 1
restore из старого бакапа, которого нет в каталоге
    #39498986
mercator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Собственно уже не раз, ранее удачно восстанавливался из древних 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
restore из старого бакапа, которого нет в каталоге
    #39499113
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mercator,

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

пункт 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
restore из старого бакапа, которого нет в каталоге
    #39499220
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mercator,

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

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

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

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

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


Low SCN из листинга должен быть меньше или равен минималному из запроса, который вернул разные значения
это и будет until scn
...
Рейтинг: 0 / 0
restore из старого бакапа, которого нет в каталоге
    #39499427
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевести 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
restore из старого бакапа, которого нет в каталоге
    #39499582
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mercatorПолучается в контролфайле информация о запакованных датафайлах есть, а об архивлоговских файлах, наплодившихся за время бакапа - нет.

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

тогда всё упроститься.
...
Рейтинг: 0 / 0
restore из старого бакапа, которого нет в каталоге
    #39500177
mercator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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
restore из старого бакапа, которого нет в каталоге
    #39501335
Фотография Aliona
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mercator
Aliona, я делаю командой Backup as compressed backupset incremental level 0 database including current controlfile plus archivelog;
так что контролфайл у меня бакапится независимо от переменных..

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


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


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