Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 RMAN и потеря logfiles  [new]
itsurgeon
Member

Откуда:
Сообщений: 7
Друзья, подскажите пожалуйста как поступить в такой ситуации:

база находится в режиме archivelog
1. сформируем "холодную" копию файлов БД (всех, за исключением управляющих и log файлов):

MMAIN.DBF
system01.dbf
UNDOTBS01.DBF
SYSAUX01.DBF
EXAMPLE01.DBF
TEMP01.DBF
TTEMP.DBF
USERS01.DBF

2. проводим емкую транзакцию и коммитим её.
3. имитируем обрыв второй транзакции - "не успеваем" закоммитить и гасим базу командой shutdown abort
4. имитируем потерю log файлов - удалим их
5. Так как log файлы "потеряны", надо выполнить восстановление неполное(восстановить первую транзакцию, которую успели закоммитить). Вторую транзакцию не удастся восстановить, это и не надо.
6. Восстановляем забэкапленные в начале файлы.
7. Вот теперь, после такого восстановления файлов БД стартуем ее
Oracle зарегистрировал расхождение в номере последней транзакции в файлах данных из "холодных" копий и в управляющем файле БД, зарегистрировавшем последнюю транзакцию


И последний этап: как я понимаю, надо использовать команду RECOVER UNTIL...
но UNTIL что? SCN не подойдет, т.к. последняя SCN - у бэкапа в п.1, а транзакции были после.

Как поступить в такой ситуации?
24 дек 11, 01:23    [11818753]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
itsurgeon,

1. из текста не ясно, в архивлоге ли база
2. из текста не ясно, заархивирован ли лог с первой тразакцией.

Если ответ на любой вопрос "нет", хрен ты восстановишь первую транзакцию, потеряв онлайн логи.

А про РМАН - не беспокойся, кляуза until в этом случае не нужна.
24 дек 11, 08:02    [11818957]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
itsurgeon
Member

Откуда:
Сообщений: 7
Да, база в архивлоге.

Насчет второго - а как это проверить?
24 дек 11, 18:30    [11820240]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Elin
Member

Откуда: Екатеринбург
Сообщений: 58
itsurgeon,

Какой смысл архивировать "холодную" базу БЕЗ контрол-файлов????

Первый и единственный ход в данном случае - писать заявление на увольнение и идти работать грузчиком. Ну или менеджером по продажам - там думать меньше надо и денег больше.

По смыслу - может повезти с восстановлением только в том случае если редологи которые были при "копировании" еще не успели затереться. Если затерлись и нет архивлогов за этот период то тут начинается шаманство, типа пересоздание контролов или по-блоковое выдергивание данных, после которого базу надо создавать заново.
24 дек 11, 19:11    [11820376]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
itsurgeon
Member

Откуда:
Сообщений: 7
Elin,

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

На самом деле не важно, холодная копия или горячая(условие можно изменить). Вся суть в потере лог-файлов - как без них провести восстановление.
25 дек 11, 01:39    [11821526]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
itsurgeon
Elin,
я не работаю а пока только учусь. А вы, вместо того, чтобы язвить и показушничать какой вы опытный ораклист, лучше бы посоветовали что делать.

Почитать документацию. Напрмер: Oracle® Database Concepts.10g Release 2 (10.2), Oracle® Database Backup and Recovery Basics.10g Release 2 (10.2).
itsurgeon
На самом деле не важно, холодная копия или горячая(условие можно изменить). Вся суть в потере лог-файлов - как без них провести восстановление.

В твоем первом посте указано верно- неполное восстановление.
25 дек 11, 10:15    [11821825]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Elin
Member

Откуда: Екатеринбург
Сообщений: 58
itsurgeon,

мммммм
А я чего, не сказал разве чо делать?

Повторяю:
1. попытаться пересоздать контрол файлы
2. Утилитами нижнего уровня доставать данный из файлов поблоково.

Как именно - читайте доку.

В любом случае надо базу новую создавать.
25 дек 11, 10:23    [11821829]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Elin
itsurgeon,

Повторяю:
1. попытаться пересоздать контрол файлы

В любом случае надо базу новую создавать.

Контрольники зачем пересоздавать при потере журналов?
25 дек 11, 13:34    [11821983]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Bfink
Member

Откуда: Москва
Сообщений: 2797
Elin
itsurgeon,

мммммм
А я чего, не сказал разве чо делать?

Повторяю:
1. попытаться пересоздать контрол файлы
2. Утилитами нижнего уровня доставать данный из файлов поблоково.

Как именно - читайте доку.

В любом случае надо базу новую создавать.


Как насчет применить к себе свой же совет? Менеджер по продажам не так плохо! Утилита нижнего уровня!
25 дек 11, 13:59    [11822024]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
itsurgeon
Member

Откуда:
Сообщений: 7
Кстати при после удаления всех REDO.LOG RMAN отказывается делать recover until scn (scn бэкапа последнего датафайла).
Но в этом восстановлении и смысла нет, потому что транзакция была выполнена уже после бэкапа датафайлов. И когда я вернул логфайлы и выполнил это восстановление, записей, внесенных транзакцией в базе естественно не было.

Но почему все нормально восстанавливается если использовать обычное холодное копирование датафайлов(без использования RMAN) и в SQL*Plus командой "RECOVER UNTIL CANCEL"?
25 дек 11, 18:11    [11822601]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
itsurgeon,

Почитайте про бэкап и восстановление немного внимательнее, в частности про "scn бэкапа последнего датафайла". И впредь либо несколько подробнее (например, с командами и цифрами) описывайте процесс, либо берите конкретный случай из документации (со ссылкой) и говорите, что у вас не получается.

На всякий случай - у RMAN'а восстановление без указания until всегда как в sqlplus'е until cancel, т.е. неполное по своей сути, но может быть полным по факту.
25 дек 11, 19:34    [11822824]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
itsurgeon
Member

Откуда:
Сообщений: 7
Ну собственно вот что я делаю...

1. База в режиме archivelog

SYS@orcl1>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 0
Next log sequence to archive 1
Current log sequence 1


2. Делаю горячие копии всех 5 датафайлов:


Вот собственно эти датафайлы:
RMAN> report schema;

using target database control file instead of recovery catalog
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 480 SYSTEM *** C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\SYSTEM01.DBF
2 35 UNDOTBS1 *** C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\UNDOTBS01.DBF
3 250 SYSAUX *** C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\SYSAUX01.DBF
4 5 USERS *** C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\USERS01.DBF
5 100 EXAMPLE *** C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\EXAMPLE01.DBF

List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 20 TEMP 32767 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\TEMP01.DBF



RMAN> backup datafile 1 format 'C:\oracle\bp\df1.cpy';

Starting backup at 24.12.11
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=137 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\SYSTEM01.DB
F
channel ORA_DISK_1: starting piece 1 at 24.12.11
channel ORA_DISK_1: finished piece 1 at 24.12.11
piece handle=C:\ORACLE\BP\DF1.CPY tag=TAG20111224T210026 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:26
Finished backup at 24.12.11

Starting Control File and SPFILE Autobackup at 24.12.11
piece handle=C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL1\AUTOBACKUP\2011_
12_24\O1_MF_S_770763713_7HD4WLRF_.BKP comment=NONE
Finished Control File and SPFILE Autobackup at 24.12.11

И все остальные таким же образом, все без ошибок.


3. Выхожу из RMAN, захожу в SQL*Plus, провожу транзакцию.

SYS@orcl1>insert into scott.dept values(44,'test','test');

1 row created.

SYS@orcl1>commit;

Commit complete.

SYS@orcl1>select * from scott.dept;

DEPTNO DNAME LOC
---------- -------------- -------------
1 111 111
2 222 222
44 test test
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

7 rows selected.

4. Останавливаю базу
SYS@orcl1>shutdown abort;
5. Удаляю все лог-файлы: REDO01.LOG,REDO02.LOG, REDO03.LOG
6. В RMAN восстанавливаю датафайлы:
RMAN> startup mount

RMAN> restore datafile 1;

Starting restore at 24.12.11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=156 devtype=DISK

channel ORA_DISK_1: starting datafile backupset restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
restoring datafile 00001 to C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\SYSTEM01.DBF
channel ORA_DISK_1: reading from backup piece C:\ORACLE\BP\DF1.CPY
channel ORA_DISK_1: restored backup piece 1
piece handle=C:\ORACLE\BP\DF1.CPY tag=TAG20111224T210026
channel ORA_DISK_1: restore complete, elapsed time: 00:00:35
Finished restore at 24.12.11

И так все 5 файлов, восстановление прошло без ошибок.

7. А на следующем этапе возникает ошибка

RMAN> recover database;

Starting recover at 24.12.11
using channel ORA_DISK_1

starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/24/2011 21:54:14
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
start
ORA-00283: recovery session canceled due to errors
ORA-00313: open failed for members of log group 2 of thread 1
ORA-00312: online log 2 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL1\REDO02.LOG'
ORA-27041: unable to open file
OSD-04002: unable to open file
O/S-Error: (OS 2) Не удается найти указанный файл.


Когда я вернул REDO01.LOG,REDO02.LOG, REDO03.LOG, команда отработала нормально, и проведенная транзакция в базе была.

Как в такой ситуации поступать?
25 дек 11, 22:05    [11823163]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
проходил мимо...
Member

Откуда: от верблюда
Сообщений: 1178
itsurgeon,

После бэкапа ещё и логи архивировать.
25 дек 11, 23:17    [11823310]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Elin
Member

Откуда: Екатеринбург
Сообщений: 58
semenar
Elin
itsurgeon,

Повторяю:
1. попытаться пересоздать контрол файлы

В любом случае надо базу новую создавать.

Контрольники зачем пересоздавать при потере журналов?


Датафайлы - со старым SCN
Контролфайл - с новым SCN

Нет ни (как оказалось даже - редо)логов, ни старого контрол-файла - в архиве.

Ну научите как тут базу запустить, без пересоздания контрол-файлов.
27 дек 11, 09:04    [11830709]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Elin
Датафайлы - со старым SCN
Контролфайл - с новым SCN

и ?
После пресоздания контрольники сразу обретут "старый SCN" ?
27 дек 11, 12:34    [11832194]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Elin
Member

Откуда: Екатеринбург
Сообщений: 58
pravednik,

Без редо-логов это конечное затруднительно. С ними было бы гораздо интересней.
27 дек 11, 15:45    [11833805]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Elin
pravednik,
Без редо-логов это конечное затруднительно. С ними было бы гораздо интересней.

Не очень затруднительно открыть с resetlogs при наличии бакапов/журналов.
27 дек 11, 16:09    [11833947]     Ответить | Цитировать Сообщить модератору
 Re: RMAN и потеря logfiles  [new]
Elin
Member

Откуда: Екатеринбург
Сообщений: 58
semenar,

С журналами и бакапами конечно нет проблем. только НЕТ журналов и бакапы ТОЛЬКО датафайлов.

Мне тема уже надоела.
Все чмоки в этом чатике.
27 дек 11, 16:28    [11834081]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить