Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Oracle

восстановление БД на 10 из холодного бэкапа по другому пути : Oracle

28.03.2024 17:27


08.04.2015 12:10
BotMan
 
ПОДСКАЖИТЕ ПОЖ.
хочу восстановить свой бэк на другой машине(виртуалка)


установил свой дистриб + патч.

раскидал файлы, а именно:

Код:
CONTROL.CTL
INDX.DBF
SYSAUX.DBF
SYSTEM.DBF
USERS.DBF
REDO.log
поправил init.ora



Код:
cmd

set oracle_sid = tmbrest
set nls_lang=american_america.cl8mswin1251


oradim -new -sid tmbrest -intpwd qqq -startmode manual (служба создается)

sqlplus /nolog


conn / as sysdba

ORA-12560: TNS:protocol adapter error.
и все! и все мои мечты разбиты!
бьюсь который день 8((



подкидывал listener и tnsname в \admin\


tnsname

Код:
TMBREST =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 1000m)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = tmbrest)
    )
  )


EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )
============================================
listener

Код:
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = c:\oracle\ora102)
      (PROGRAM = extproc)
  
    (SID_DESC =
      (GLOBAL_DBNAME = tmbrest)
      (ORACLE_HOME = c:\oracle\ora102)
      (SID_NAME = tmbrest)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 1000m)(PORT = 1521))
    )
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
  )

LSNRCTL - STOP - START

В ОБЩЕМ в sqlplus не пускает.

Код:
oradim -delete -sid tmbrest

dbca
создаю базу tmbrest через dbca

Код:
sqlplus /nolog

conn/as sysdba
пускает!

правильно ли будет, если я создам базу через dbca
потом

Код:
shutdown immediatle;
sturtup manual pfile = 'адресс к моему init.ore';

alter database rename  file <путь и имя файла> to <новый путь и имя файла>;
изменения вносятся на все файлы кроме CONTROL.CTL
08.04.2015 12:35
OlegON
 
Убираешь свои бекап-файлы, делаешь базу с таким же именем, той же версии (с патчами). Свой pfile из бекапа правишь на соответствующие пути.
Останавливаешь базу через shutdown abort, делаешь
Цитата:
create spfile from pfile='путь к pfile из бекапа';
startup force
оно заругается на файл, переименуешь, как ты выше писал, пнешь, опять ругнется, переименуешь, и так, пока не откроется, когда откроется, вспомни, что у тебя еще TEMP, на которые не будет ругаться. Либо переименуй, либо пересоздай TEMP.
08.04.2015 14:54
kadr
 
в твоем случае если через oradim создаешь, то для начала можно подключиться так

Цитата:
conn sys/qqq@tmbrest as sysdba
так же для того чтобы не мучаться с заменой адреса каждого файла можно на рабочей базе из под sys`а
сделать так
Цитата:
alter system backup controlfile to trace;
и в user_dump_dest искать свежесозданный файл, там будут все команды на пересоздание контрольников, правишь пути на новые и в режиме mount исполняешь файл как sql-скрипт.
14.04.2015 11:05
BotMan
 
подскажите плз, можно ли накатить на эту восстановленную базу, горячий бэкап Rman-а сделаный след образом.

Код:
backup database plus archivelog delete all input;
14.04.2015 11:06
OlegON
 
Нет. Хотя бы потому, что это команда бекапа.
В целом задача совсем непонятна...
14.04.2015 11:20
BotMan
 
да шаманю с этими бэкапами. мозги пухнут от недопонимания процесса.

сделал горячий бекап на рабочей базе

Код:
backup database plus archivelog delete all input;
закинул его на другой "сервак".

создал через dbca новую базу с таким же SID
вкинул в него set dbid боевой базы
restore spfile to 'c:\...' from 'c:\...';
restore controlfile from 'c:\...';
catalog start with 'c:\...';

запускаю скрипт:
Код:
run
{
startup mount
set NEWNAME FOR DATAFILE 1 TO 'c:\base\SYSTEM01.DBF';
set NEWNAME FOR DATAFILE 2 TO 'c:\base\UNDOTBS01.DBF';
set NEWNAME FOR DATAFILE 3 TO 'c:\base\SYSAUX01.DBF';
set NEWNAME FOR DATAFILE 4 TO 'c:\base\INDX01.DBF';
set NEWNAME FOR DATAFILE 5 TO 'c:\base\INDX02.DBF';
set NEWNAME FOR DATAFILE 6 TO 'c:\base\USERS01.DBF';
set NEWNAME FOR DATAFILE 7 TO 'c:\base\USERS02.DBF';
RESTORE DATABASE;
SWITCH DATAFILE ALL;
RECOVER DATABASE NOREDO;
ALTER DATABASE OPEN RESETLOGS;
}
вроде все проходит, кроме
Код:
ALTER DATABASE OPEN RESETLOGS
пишет мол восстановление прошло успешно, но при open resetlog ругается, что файл требует восстановления.
короче забадался я уже....
Часовой пояс GMT +3, время: 17:27.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.