Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6   вперед  Ctrl      все
 Re: Восстановление БД  [new]
Brass
Member

Откуда: Москва
Сообщений: 541
Летунья,
Это очень плохой метод - учиться таким вещам по форумным подсказкам. Почитали бы лучше чегонить для начала. Форум хорош чтоб закавыки решать какие-нибудь а не стандартные вещи, которые в любой документации есть
5 фев 09, 15:21    [6783860]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
Летунья
PaulEr,

И еще вопрос, после того, как восстановила, делаем:
SQL> alter database open?

Потом можно будет shutdown immediate и startup делать?


pravednik Вам уже ответил. Понадобятся архивные логи. Все зависит от того, на какой момент Вы хотите восстановиться.
5 фев 09, 15:24    [6783879]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

Сейчас сделала:
RMAN> Run {
2> set newname for datafile 2 to '/DB/BAZA/BAZA/undotbs01.dbf';
3> restore datafile 2;
4> switch datafile 2;
5> }

И далее с остальными файлами также
RMAN> RUN {
2> set newname for datafile 1 to '/DB/BAZA/BAZA/system01.dbf';
3> set newname for datafile 3 to '/DB/BAZA/BAZA/sysaux01.dbf';
4> restore datafile 1,3;
5> switch datafile all;
6> }

RMAN> RUN {
2> set newname for datafile 4 to '/DB/BAZA/BAZA/users01.dbf';
3> set newname for datafile 5 to '/DB/BAZA/BAZA/baza.dbf';
4> set newname for datafile 6 to '/DB/BAZA/BAZA/baza_stat.dbf';
5> restore datafile 4,5,6;
6> switch datafile all;
7> }

RMAN> RUN {
2> set newname for datafile 7 to '/DB/BAZA/BAZA/baza_analys.dbf';
3> set newname for datafile 8 to '/DB/BAZA/BAZA/baza_analys1.dbf';
4> set newname for datafile 9 to '/DB/BAZA/BAZA/baza_stat1.dbf';
5> restore datafile 7,8,9;
6> switch datafile all;
7> }

RMAN> RUN {
2> set newname for datafile 10 to '/DB/BAZA/BAZA/baza_analys2.dbf';
3> set newname for datafile 11 to '/DB/BAZA/BAZA/baza_analys3.dbf';
4> restore datafile 10,11;
5> switch datafile all;
6> }

теперь RMAN> recover database? А я только расслабилась, обрадовалась раньше времени...
5 фев 09, 15:25    [6783883]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Водитель старого трамвая
Guest
Brass
Летунья,
Это очень плохой метод - учиться таким вещам по форумным подсказкам. Почитали бы лучше чегонить для начала. Форум хорош чтоб закавыки решать какие-нибудь а не стандартные вещи, которые в любой документации есть

Это еще полбеды, а вот когда- кто-то "плохую" команду подскажет и база нагнется, вот тогда и задумается.
Помнится одна ситуация на ЛОРе, сколько народу тогда плакали и осознали некоторые истины
5 фев 09, 15:35    [6783973]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

Я полностью с Вами согласна... Но многие вещи даются именно после того как пробуешь руками и есть на это все время.
А многое только тогда понимается, когда кто-то тебя "ткнет" в твою ошибку, бывает такое, что и сам подход к вопросу неверный, а подсказать совсем некому...

Я не против документации, и читаю по возможности. Да и при поступлении на это место работы - мне обещали, что на курсы по Ораклу отправят... А тут кризис... Вот и оказалась я... Где-то успеваю почитать до того, как задача поставиться, где-то нет... Мне бы времени побольше! Эх!

Так что не ругайтесь строго. В конце концов разъяснение таких вопросов на пальцах - будет и для других отличным пособием!..
5 фев 09, 15:35    [6783977]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

Откуда:
Сообщений: 387
Водитель старого трамвая,

Так у меня база тестовая, а потом я не совсем тупо переписываю, что мне тут указывают. Мне именно знаний некоторых вещей и опыта не хватает. Поэтому и называю свою базу BAZA, чтоб не было соблазна тупо скопировать то, что написано.
5 фев 09, 15:38    [6783998]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Летунья,

вам на будущее...мож пригадица.
После рестора контролфайла, генерируете список замены имен датафалов..
SELECT 'set newname for datafile '||FILE#||' to ''/DB/BAZA/BAZA/'||SubStr(name,InStr(name,'/',-1)+1)||''';' from v$datafile;
вам не придется отдельно ресторить каждый датафайл.
так же стоит учитывать наличие ридонли датафалов при ресторе
restore CHECK READONLY database;
switch datafile all;
так же не забывайте, что вместе с переносом контрольников и датафайлов, вам необходимо поменять места для редулогов, поэтому
select 'ALTER DATABASE RENAME FILE '''||member||''' to ''/<new path for redo log>/'||SubStr(member,InStr(member,'/',-1)+1)||''';' from v$logfile;
5 фев 09, 15:38    [6784002]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Летунья


теперь RMAN> recover database? А я только расслабилась, обрадовалась раньше времени...

вы отресторили датафайлы....теперь нужно седлать рековер БД до согласованного состояния до последнего архивлога, или же на какой-нить другой момент времени.
Если у вас все архивлоги лежат по нужным путям, то запускайте
RMAN>recover database;
5 фев 09, 15:41    [6784022]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

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

Дальше - поместить их в папку /home/oracle/vosst/...

И RMAN> recover database;

Только вот не совсем ясно, какие именно *.arch файлы переносить? Архивные логи 15 дней храняться: CONFIGURE RETENTION POLICY TO REDUNDANCY 15;

И в бэкапах их, соответственно, так же много...
5 фев 09, 15:43    [6784033]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Водитель старого трамвая
Guest
Летунья
Водитель старого трамвая,

Так у меня база тестовая, а потом я не совсем тупо переписываю, что мне тут указывают. Мне именно знаний некоторых вещей и опыта не хватает. Поэтому и называю свою базу BAZA, чтоб не было соблазна тупо скопировать то, что написано.

Судя по опусу, у вас и с продакшеном ОБЯЗАТЕЛЬНО!!! проблемы будут.
А там посложней будет.
Так что лучше начинайте тихонько концепты читать да заучивать, а когда начнете более-менее плавать по докам и терминологии можно заводить машинки на виртуалках. А там хоть двести раз...

Удачи
5 фев 09, 15:46    [6784058]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
Летунья,

Тогда смотрите по сиквенсам, какой последний. А бэкап базы боевой когда был сделан? В ту папку, которую Вы указали в пфайле или спфайле, откуда брать архивлоги.
5 фев 09, 15:47    [6784062]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
YuraL
Member

Откуда: SPB
Сообщений: 558
Летунья
PaulEr,

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

Дальше - поместить их в папку /home/oracle/vosst/...

И RMAN> recover database;

Только вот не совсем ясно, какие именно *.arch файлы переносить? Архивные логи 15 дней храняться: CONFIGURE RETENTION POLICY TO REDUNDANCY 15;

И в бэкапах их, соответственно, так же много...

когда вы делали
 
RMAN> restore database preview;
то были выданы следующие логи :
скорее всего их и надо взять:
no backup of log thread 1 seq 11175 lowscn 1129202952848 found to restore
no backup of log thread 1 seq 11176 lowscn 1129203823309 found to restore
no backup of log thread 1 seq 11177 lowscn 1129204821841 found to restore
no backup of log thread 1 seq 11178 lowscn 1129204991196 found to restore
5 фев 09, 16:01    [6784177]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

Бэкап базы делается каждую ночь на другой сервер.
5 фев 09, 16:03    [6784191]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

Кстати, теперь мне при вводе этой команды выдает след:
......
BS Key Type LV Size Device Type Elapsed Time Completion Time
------- ---- -- ---------- ----------- ------------ ---------------
8166 Full 1.20G DISK 00:21:01 03-FEB-09
BP Key: 8258 Status: AVAILABLE Compressed: YES Tag: TAG20090203T235310
Piece Name: /mnt/backup/oracle/BAZA_buk6flr6_1_1_2909514224_2009-02-03.bkp
List of Datafiles in backup set 8166
File LV Type Ckp SCN Ckp Time Name
---- -- ---- ---------- --------- ----
4 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/users01.dbf
5 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/onyma.dbf

no backup of log thread 1 seq 11186 lowscn 1129207273681 found to restore
Media recovery start SCN is 1129207287745
Recovery must be done beyond SCN 1129207287751 to clear data files fuzziness
Finished restore at 05-FEB-09
5 фев 09, 16:11    [6784245]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
маленький summary, который, впрочем, вы можете найти в документации, как будете по совбодней ;)
--Задаете переменные среды
oracle@oracle:~>export ORACLE_HOME=
oracle@oracle:~>export ORACLE_SID=

--Соединяетесь к вашему экземпляру рманом и задаете dbid, который, как вариант, можно вытащить из имени контрольника
oracle@oracle:~> rman target / nocatalog
Recovery Manager: Release 10.2.0.4.0 - Production on Thu Feb 5 14:46:38 2009

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

RMAN>set dbid <some number>
executing command: SET DBID
RMAN>startup nomount

--ресторите спфайл, после чего гасите БД
run{
restore spfile to pfile '/tmp/pfile' from '<путь к бекапу спфайла>';
shutdown abort;
}

--правите полученный пфайл, после чего конектитесь sqlplus-ом и создаете спфайл для свое бд
create spfile from pfile='/tmp/pfile'
startup force nomount;

--ресторите контрольник
run{
restore controlfile from '<путь к бекапу контрольника>';
alter database mount;
}
--генерируете команды замены имен для датафалов и темпфайлов
SELECT 'set newname for datafile '||FILE#||' to ''/DB/BAZA/BAZA/'||SubStr(name,InStr(name,'/',-1)+1)||''';' from v$datafile
union
SELECT 'set newname for datafile '||FILE#||' to ''/DB/BAZA/BAZA/'||SubStr(name,InStr(name,'/',-1)+1)||''';' from v$tempfile;

--генерируете скрипт переименования редулогов
select 'ALTER DATABASE RENAME FILE '''||member||''' to ''/<new path for redo log>/'||SubStr(member,InStr(member,'/',-1)+1)||''';' from v$logfile;

--после того, как все готово, формируете скрипт рестора

run{
set until time='sysdate-1/24' ; --восстановитесь на час назад
set newname for datafile 1 to ......
.....
.....
restore CHECK READONLY database;
switch datafile all;
switch tempfile all;
recover database;
}
--после того, как рестор окночился успешно, открываете БД с restlogs, так как было неполное восстановление

alter database open resetlogs;

удачи вам
5 фев 09, 16:12    [6784254]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

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

Насчет редо логов вижу:
SQL> select 'ALTER DATABASE RENAME FILE '''||member||''' to ''/<new path for redo log>/'||SubStr(member,InStr(member,'/',-1)+1)||''';' from v$logfile;

'ALTERDATABASERENAMEFILE'''||MEMBER||'''TO''/<NEWPATHFORREDOLOG>/'||SUBSTR(MEMBE
--------------------------------------------------------------------------------
ALTER DATABASE RENAME FILE '/DB/BAZA/BAZA/redo01.log' to '/<new path for redo
log>/redo01.log';

ALTER DATABASE RENAME FILE '/DB/BAZA/BAZA/redo02.log' to '/<new path for redo
log>/redo02.log';

ALTER DATABASE RENAME FILE '/DB/BAZA/BAZA/redo03.log' to '/<new path for redo
log>/redo03.log';

ALTER DATABASE RENAME FILE '/DB/BAZA/BAZA/redo04.log' to '/<new path for redo
log>/redo04.log';

'ALTERDATABASERENAMEFILE'''||MEMBER||'''TO''/<NEWPATHFORREDOLOG>/'||SUBSTR(MEMBE
--------------------------------------------------------------------------------

Соответственно я их должна создать?
ALTER DATABASE RENAME FILE '/DB/BAZA/BAZA/redo01.log' to '/DB/BAZA/BAZA/redo01.log' ???
5 фев 09, 16:15    [6784272]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
Летунья,

если путь редулогов не меняется, то не надо ниче переименовывать (как в вашем случае)
5 фев 09, 16:18    [6784301]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
PaulEr
Member

Откуда:
Сообщений: 3794
Хм, а разве редологи из горячего бэкапа так надо восстанавливать? Чтобы вроде делать команду ALTER DATABASE RENAME FILE,он должен существовать физически на старом месте.
Yours faithfully,
PaulEr
5 фев 09, 16:26    [6784377]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
YuraL
Member

Откуда: SPB
Сообщений: 558
Летунья
YuraL,

Кстати, теперь мне при вводе этой команды выдает след:
......
BS .. 4 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/users01.dbf
5 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/onyma.dbf

no backup of log thread 1 seq 11186 lowscn 1129207273681 found to restore
Media recovery start SCN is 1129207287745
Recovery must be done beyond SCN 1129207287751 to clear data files fuzziness
Finished restore at 05-FEB-09

отсюда видно что ему надо по крайней мере log sequence 11186
5 фев 09, 16:27    [6784387]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
pravednik
Member

Откуда: Jacksonville, FL
Сообщений: 16268
PaulEr
Чтобы вроде делать команду ALTER DATABASE RENAME FILE,он должен существовать физически на старом месте.
Yours faithfully,
PaulEr

не факт... если идет неполное восстановление на новую машину, то редулоги нужно переименовать в контрльнике, дабы при ресетлогсе оракл не попытался создать редулоги по старым местам(если конечно, старые места не совпадают с новыми ;))
5 фев 09, 16:42    [6784513]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
PaulEr
Member

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

А, ок,спасибо;)
5 фев 09, 16:45    [6784544]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

Откуда:
Сообщений: 387
Все, уже пора отдыхать на сегодня... Но есть небольшая надежда, что все-таки базу добью

Делаю:
RMAN> run {
2> set until time='sysdate-1/24';
3> set newname for datafile 1 to '/DB/BAZA/BAZA/system01.dbf';
4> set newname for datafile 2 to '/DB/BAZA/BAZA/undotbs01.dbf';
5> set newname for datafile 3 to '/DB/BAZA/BAZA/sysaux01.dbf';
6> set newname for datafile 4 to '/DB/BAZA/BAZA/users01.dbf';
7> set newname for datafile 5 to '/DB/BAZA/BAZA/baza.dbf';
8> set newname for datafile 6 to '/DB/BAZA/BAZA/baza_stat.dbf';
9> set newname for datafile 7 to '/DB/BAZA/BAZA/baza_analys.dbf';
10> set newname for datafile 8 to '/DB/BAZA/BAZA/baza_analys1.dbf';
11> set newname for datafile 9 to '/DB/BAZA/BAZA/baza_stat1.dbf';
12> set newname for datafile 10 to '/DB/BAZA/BAZA/baza_analys2.dbf';
13> set newname for datafile 11 to '/DB/BAZA/BAZA/baza_analys3.dbf';
14> restore CHECK READONLY database;
15> switch datafile all;
16> switch tempfile all;
17> recover database;
18> }

Все по пунктам, согласно инструкции. Проделала повторно уже несколько раз.

searching for all files in the recovery area
cataloging files...
no files cataloged

using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5

skipping datafile 1; already restored to file /DB/BAZA/BAZA/system01.dbf
skipping datafile 2; already restored to file /DB/BAZA/BAZA/undotbs01.dbf
skipping datafile 3; already restored to file /DB/BAZA/BAZA/sysaux01.dbf
skipping datafile 6; already restored to file /DB/BAZA/BAZA/baza_stat.dbf
skipping datafile 7; already restored to file /DB/BAZA/BAZA/baza_analys.dbf
skipping datafile 10; already restored to file /DB/BAZA/BAZA/baza_analys2.dbf
skipping datafile 8; already restored to file /DB/BAZA/BAZA/baza_analys1.dbf
skipping datafile 9; already restored to file /DB/BAZA/BAZA/baza_stat1.dbf
skipping datafile 11; already restored to file /DB/BAZA/BAZA/baza_analys3.dbf
skipping datafile 4; already restored to file /DB/BAZA/BAZA/users01.dbf
skipping datafile 5; already restored to file /DB/BAZA/BAZA/baza.dbf
restore not done; all files readonly, offline, or already restored
Finished restore at 05-FEB-09



Starting recover at 05-FEB-09
using channel ORA_DISK_1
using channel ORA_DISK_2
using channel ORA_DISK_3
using channel ORA_DISK_4
using channel ORA_DISK_5

starting media recovery

Oracle Error:
ORA-01547: warning: RECOVER succeeded but OPEN RESETLOGS would get error below
ORA-01152: file 1 was not restored from a sufficiently old backup
ORA-01110: data file 1: '/DB/BAZA/BAZA/system01.dbf'

RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/05/2009 17:26:42
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 11186 lowscn 1129207273681 found to restore
5 фев 09, 17:39    [6784961]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
проходил мимо...
Guest
Летунья,
Вообще полезно в переменных окружения поставить NLS_DATE_FORMAT=RRRR.MM.DD HH24:MI:SS
Тогда в rman нормальные дата и время будет в логах. ;-)
5 фев 09, 17:50    [6785019]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
YuraL
Member

Откуда: SPB
Сообщений: 558
Летунья

..
..
..
RMAN-03002: failure of recover command at 02/05/2009 17:26:42
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of log thread 1 seq 11186 lowscn 1129207273681 found to restore


YuraL
Летунья
YuraL,

Кстати, теперь мне при вводе этой команды выдает след:
......
BS .. 4 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/users01.dbf
5 Full 1129207287745 03-FEB-09 /DB/BAZA/BAZA/onyma.dbf

no backup of log thread 1 seq 11186 lowscn 1129207273681 found to restore
Media recovery start SCN is 1129207287745
Recovery must be done beyond SCN 1129207287751 to clear data files fuzziness
Finished restore at 05-FEB-09

отсюда видно что ему надо по крайней мере log sequence 11186


надо найти и переписать этот лог на диск, а потом записать его в каталог командой :
Catalog start with '[ path of archivelog directory ]';
5 фев 09, 19:04    [6785332]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление БД  [new]
Летунья
Member

Откуда:
Сообщений: 387
Итак, сейчас столкнулась с такой проблемой:

Попробовала перенести большую часть архивных файлов в папку '/home/oracle/vosst/' и пытаюсь из нее восстановить.

Теперь при восстановлении RMAN выдает:

channel ORA_DISK_1: starting archive log restore to default destination
channel ORA_DISK_1: restoring archive log
archive log thread=1 sequence=11253
channel ORA_DISK_1: reading from backup piece /home/oracle/vosst/BAZA_dek6l07f_1_1_2909514224_2009-02-05.arch
channel ORA_DISK_1: restored backup piece 1
piece handle=/home/oracle/vosst/BAZA_dek6l07f_1_1_2909514224_2009-02-05.arch tag=TAG20090206T002103
channel ORA_DISK_1: restore complete, elapsed time: 00:00:16
archive log filename=/DB/BAZA/1_11253_621700170.dbf thread=1 sequence=11253
unable to find archive log
archive log thread=1 sequence=11254
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 02/06/2009 13:59:04
RMAN-06054: media recovery requesting unknown log: thread 1 seq 11254 lowscn 1129211616420

Из этого понимаю, что он просто не нашел недостающий loq sequence 11254. Открывается другая проблема: я все *.arch файлы не могу перенести, т.к. на сервере не хватит места. Помимо самой базы, которая занимает место, много места занимают и эти архивные файлы. Базе просто не хватит места.

Вопрос такой: могу ли я восстановить эту базу (хочу примонтироваться к удаленному серверу) не восстанавливая все архивные dbf файлы? Или это уже будут потеря данных?
6 фев 09, 14:34    [6788743]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 3 4 [5] 6   вперед  Ctrl      все
Все форумы / Oracle Ответить