Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Oracle |
![]() ![]() |
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 вперед Ctrl→ все |
Bayer Member Откуда: Сообщений: 66 |
Добрый день. Так случилось что самый последний бэкап (утилитой exp ... full=y) есть на конец марта месяца. Система рухнула пару дней назад, control и redo от текущей копии больше нету, однако полностью сохранены датафайлы. С марта никаких изменений структуры не было. Были только изменения в данных. Каким образом можно подключить текущие датафайлы (или перенести информацию из них в мартовскую копию)? P.S. Восстановление мартовской копии проходит нормально. Копия полностью работоспособна. P.P.S. Oracle9i под Win. Заранее благодарен за помощь. |
13 июн 08, 12:33 [5799148] Ответить | Цитировать Сообщить модератору |
semenar Member Откуда: Днепропетровск Сообщений: 3308 Блог |
Никаким, обсуждалось неоднократно. |
||
13 июн 08, 12:36 [5799159] Ответить | Цитировать Сообщить модератору |
pravednik Member Откуда: Jacksonville, FL Сообщений: 16268 |
не смешивайте мягкое с теплым(логический и физический бекапы) |
13 июн 08, 12:40 [5799178] Ответить | Цитировать Сообщить модератору |
Bayer Member Откуда: Сообщений: 66 |
А прочитать данные из датафайлов есть возможность? Скажем в обычный текстовый формат.
Я к тому, что структура базы полностью восстановима мартовским бэкапом. Вопрос лишь в том, можно ли неким образом достать данные с марта по июнь из датафайлов? Спасибо всем, кто оперативно откликнулся :) |
||||||
13 июн 08, 12:58 [5799240] Ответить | Цитировать Сообщить модератору |
AI Member Откуда: Москва Сообщений: 2817 |
Возможность есть. Обращайтесь в саппорт. |
||||||
13 июн 08, 15:04 [5799567] Ответить | Цитировать Сообщить модератору |
HX Member Откуда: Moscow Сообщений: 2454 |
Мыло в профиле пишите, если что, но не бесплатно. :-) |
13 июн 08, 15:59 [5799697] Ответить | Цитировать Сообщить модератору |
.zverka Member Откуда: Сообщений: 94 |
Перед началом - БЭКАП ОБЯЗАТЕЛЬНО. Для того чтобы попытаться восстановить нужен трэйс: SQL> alter database backup controlfile to trace; В 1 сессии (для понимания происходящего): SQL> connect / as sysdba; Соединено. SQL> select group#, status from v$log; GROUP# STATUS ---------- ---------------- 1 UNUSED 2 UNUSED 3 CURRENT SQL> create table log_3(id number); Таблица создана. SQL> insert into log_3 values(1); 1 строка создана. SQL> commit; Фиксация обновлений завершена. SQL> alter system switch logfile; Система изменена. SQL> alter system switch logfile; Система изменена. SQL> select group#, status from v$log; GROUP# STATUS ---------- ---------------- 1 INACTIVE 2 CURRENT 3 INACTIVE SQL> create table log_2(id number); Таблица создана. SQL> insert into log_2 values(1); 1 строка создана. SQL> insert into log_3 values(2); 1 строка создана. SQL> commit; Фиксация обновлений завершена.Во второй сессии: SQL> connect / as sysdba; Соединено. SQL> shutdown abort; Экземпляр ORACLE завершен. ---------->Начинаем восстановление ---------->rm redo01.log redo02.log redo03.log control01.ctl control02.ctl control03.ctl SQL> connect / as sysdba; Соединено. ---------->трэйс, полученный по alter database backup controlfile to trace; SQL> @c:\createsql; Экземпляр ORACLE запущен. Управляющий файл создан. SQL> shutdown immediate; ORA-01109: База данных размонтирована. Экземпляр ORACLE завершен. SQL> startup nomount; Экземпляр ORACLE запущен. SQL> alter system set "_allow_resetlogs_corruption"=true scope=spfile; Система изменена. SQL> startup mount force; Экземпляр ORACLE запущен. База данных смонтирована. SQL> alter database open resetlogs; База данных изменена. В 3 сессии после восстановления: SQL> connect / as sysdba; Соединено. SQL> select * from log_3; ID ---------- 1 SQL> select * from log_2; select * from log_2 * ошибка в строке 1: ORA-00942: таблица или представление пользователя не существуетДанные, которые защищались журнальными группами со статусом active, current - скорее всего будут потеряны, поскольку DBWR мог не скинуть грязные буферы на диск. Кроме того могут появиться незафиксированнные транзакции, так как информация undo тоже пишется в реду. Если получится открыть базу - надо проверить exp и пересоздать. |
14 июн 08, 02:59 [5800755] Ответить | Цитировать Сообщить модератору |
Relic Hunter Member Откуда: AB Сообщений: 7469 |
![]() |
||
14 июн 08, 03:10 [5800759] Ответить | Цитировать Сообщить модератору |
Халдурды Амандурдыевич Бердыев Member Откуда: Киргизский тракторист Сообщений: 149 |
|
||
14 июн 08, 09:50 [5800831] Ответить | Цитировать Сообщить модератору |
.zverka Member Откуда: Сообщений: 94 |
Гранд мерси на добром слове ![]() Ну, примеров трэйса по форуму много... например мой :) Ничего сверх сложного в них вроде нет, исправить только под свою ситуацию... Из первого поста видим, что утеряны только реду и контролы. Как восстанавливать - пример привела, кстати его впервые встретила где-то здесь и вполне рабочий. STARTUP NOMOUNT CREATE CONTROLFILE REUSE DATABASE "HOME" RESETLOGS NOARCHIVELOG -- SET STANDBY TO MAXIMIZE PERFORMANCE MAXLOGFILES 50 MAXLOGMEMBERS 5 MAXDATAFILES 100 MAXINSTANCES 1 MAXLOGHISTORY 226 LOGFILE GROUP 1 'C:\ORACLE\ORADATA\HOME\REDO01.LOG' SIZE 100M, GROUP 2 'C:\ORACLE\ORADATA\HOME\REDO02.LOG' SIZE 100M, GROUP 3 'C:\ORACLE\ORADATA\HOME\REDO03.LOG' SIZE 100M -- STANDBY LOGFILE DATAFILE 'C:\ORACLE\ORADATA\HOME\SYSTEM01.DBF', 'C:\ORACLE\ORADATA\HOME\UNDOTBS01.DBF', 'C:\ORACLE\ORADATA\HOME\CWMLITE01.DBF', 'C:\ORACLE\ORADATA\HOME\DRSYS01.DBF', 'C:\ORACLE\ORADATA\HOME\EXAMPLE01.DBF', 'C:\ORACLE\ORADATA\HOME\INDX01.DBF', 'C:\ORACLE\ORADATA\HOME\ODM01.DBF', 'C:\ORACLE\ORADATA\HOME\TOOLS01.DBF', 'C:\ORACLE\ORADATA\HOME\USERS01.DBF', 'C:\ORACLE\ORADATA\HOME\XDB01.DBF' CHARACTER SET CL8MSWIN1251 ; |
||
14 июн 08, 16:51 [5801175] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
|
||||
14 июн 08, 20:05 [5801334] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
|
||
14 июн 08, 20:07 [5801337] Ответить | Цитировать Сообщить модератору |
!Lamer
Guest |
Все твои посты - Г...о! Ни одного нормального не было, чего ты тут вообще делаешь???? |
||||
14 июн 08, 21:01 [5801403] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
Вообще от псевдоспецов типа упомянутого больше вреда, особенно когда они высмеивают правильные посты. Если есть, что возразить - пиши. В споре рождается истина. А фразу типа
|
||||||||
14 июн 08, 22:12 [5801521] Ответить | Цитировать Сообщить модератору |
DВА Member Откуда: Сообщений: 5439 |
хотела бы я посмотреть как все это применимо к "бэкапу (утилитой exp ... full=y)" :)) |
||
14 июн 08, 22:19 [5801532] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
|
||||
14 июн 08, 22:23 [5801537] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
Тьфу - бэкап. Экспорт. Оговорился. :) |
14 июн 08, 22:25 [5801540] Ответить | Цитировать Сообщить модератору |
AI Member Откуда: Москва Сообщений: 2817 |
Правильно указано то, что надо сделать бэкап перед выполнений глупостей. Персонально для Вас: "стандартный способ клонирования базы" заключается в предварительной остановке с контрольной точкой (shutdown normal/transactional/immediate). После описанной аварии остатки от базы для клонирования не подходят. Для выполнения backup controlfile to trace надо иметь контрольный файл, котороый утерян, если верить автору проблемы. На все это обратил внимание Relic Hunter, но его замечание почему-то все "советчики" проигнорировали. Как .zverka собирается его создать? Ответ: только записывая комнду create controlfile с нуля, если есть информация о структуре базы типа отчета rda или чего-то подобного. Но у админа с такими данными и бэкапы нормальные найдутся... В любом случае, создание контрольного файла - нетривиальная задача. Всякие там _allow_resetlogs_corruptions с последующей попыткой экспорта - мелочь, использующаяся горе-администраторами для ликвидации последствий своей вопиющей беспечности и идиотизма. Иначе говоря, приведен какой-то набор команд, исходящий из неверной предпосылки, и поэтому не имеющий никакого смысла. Такое объяснение устроит? |
||||||
14 июн 08, 22:50 [5801561] Ответить | Цитировать Сообщить модератору |
.zverka Member Откуда: Сообщений: 94 |
А были времена, когда с интересом решались чужие проблемы - Посыпался винт с базой Да не было разработано стратегии резервирования, можно назвать и горе-администратором и кем угодно, можно пофлэймить ![]() |
15 июн 08, 01:32 [5801696] Ответить | Цитировать Сообщить модератору |
Халдурды Амандурдыевич Бердыев Member Откуда: Киргизский тракторист Сообщений: 149 |
P.S. Как уже было замечено, из всех советов правильный был один - "Перед началом - БЭКАП ОБЯЗАТЕЛЬНО.", дабы оставить хоть какой-то шанс восстановить хоть что-то |
||||||||||
15 июн 08, 10:02 [5801793] Ответить | Цитировать Сообщить модератору |
.zverka Member Откуда: Сообщений: 94 |
Внушайте как правильно восстановить. Ибо
|
||||
15 июн 08, 10:59 [5801826] Ответить | Цитировать Сообщить модератору |
.zverka Member Откуда: Сообщений: 94 |
И абстрагируемся от обстоятельств - давайте рассматривать задачу в образовательных целях, чтобы глубже понять архитектуру. |
15 июн 08, 11:03 [5801834] Ответить | Цитировать Сообщить модератору |
lft Member Откуда: Калуга Сообщений: 615 |
|
||
15 июн 08, 11:21 [5801845] Ответить | Цитировать Сообщить модератору |
AI Member Откуда: Москва Сообщений: 2817 |
Да не только ora-600, которой пугают детей. Представляете, сколько возиться надо с рассогласованными данными, чтобы из них сделать потом базу? И это на квалификации, не позволяющей сделать нормальный backup... P.S. Не далее как полторы недели назад заставил одного админа сначала провести документированное восстановление, и если не пройдет то смотреть дальше. |
||||
15 июн 08, 14:03 [5802043] Ответить | Цитировать Сообщить модератору |
Юный падаван Member Откуда: Бомбей Сообщений: 216 |
С чем-то согласны - уже плюс ![]()
Персонально для Вас: способы клонирования бывают разные, необязательно с "предварительной остановкой" ;-)
По словам автора, все файлы данных сохранены - следовательно их названия и пути к ним известны, какая еще информация нужна? К тому же все это есть в system.
Вопиющая беспечности и идиотизм уже произошли, теперь надо как-то их последствия ликвидировать. Готов выслушать Ваши предложения ;-)
Собственно, а в чем заключалась неверная предпоссылка?
Нет. Доводы притянуты за уши. Тему - на повторный анализ. |
||||||||||||
15 июн 08, 23:41 [5802756] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: [1] 2 3 4 5 6 7 8 9 вперед Ctrl→ все |
Все форумы / Oracle | ![]() |