|
|
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! Работаем с Oracle Database 11g Express Edition Release 11.2.0.2.0 - Production БД в режиме с ARCHIVELOG. То есть вроде как можно откатить БД во времени назад на какую-то дату/время, верно (это вопрос 1) ? Итак, я знаю, что в конкретный момент пользователь начнёт работу с БД. Результат работы может быть ошибочным и мне надо будет откатить БД в состояние до начала его работы. Я делаю бэкап. Делаю я его bat-ником Backup.bat в Oracle Database 11g Express Edition ( в меню или на рабочем столе этот файл имеет ссылку с именем - Backup Database ). Это тема нормальная, всё просто кликнул, подождал и всё сохранилось. Но если делать потом restore через bat-ник по ссылке Restore Database то БД восстанавливается не на момент создания бэкапа, а на последний момент, когда она была рабочей. Верно я понимаю (это вопрос 2)? Мне такая лажа, как и всем я думаю на планет Земля не нужна. Я хочу пимпу с надписью "восстановить на момент тогда-то тогда-то". Но в ORACLE такой пимпы нет, а есть консоль. Далее я иду в папку bin (у меня она хранится C:\oraclexe\app\oracle\product\11.2.0\server\bin\ ) и оттуда запускаю консоль. Параллельно через SQLDeveloper выполняю запросы: Код: plsql 1. оттуда я узнаю нужный мне (соотв время на которое откатываюсь) incarnation и RESETLOGS_CHANGE . потом ещё: Код: plsql 1. оттуда выбираю интересующий меня SEQUENCE . Возвращаемся в консоль, пишем: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. После этих манипуляция я получаю БД восстановленную на нужный мне момент времени. К той паре вопросов выше, у меня ещё пара. 3. Есть более простой способ? 4. Как восстановить сделанный мной бэкап на другом ПК? Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 01:33 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
авторТо есть вроде как можно откатить БД во времени назад на какую-то дату/время Не откатить, а достать файлы из РАНЕЕ сделанного backup и накатить на них логи (arch log, а возможно и redo log). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.06.2018, 09:14 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
tru55, это я понял. Ответ на вопрос 1 выходит - да. По остальным вопросам не подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:05 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
Почитай про полное и неполное восстановление. Полное - это восстановление на момент сбоя (к ошибке пользователя отношения не имеет). Неполное восстановление - это восстановление на момент времени в прошлом (в том числе на момент ДО ошибки пользователя). Соответственно, какие опции укажешь при recover, такое восстановление и будет выполняться. Поэтому забудь про восстановление через bat-файл, поскольку в общем случае процесс неформальный. По поводу восстановления на другой машине - есть масса топиков на эту тему, ищи хотя бы по слову клон . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:26 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
Из закромов. Немного путано, и кажется в одном месте переписывала по-другому и забыла тут поменять, но общий смысл понятен. Восстановление данных RMAN на другом сервере Создаем на новом сервере базу данных с таким же именем, можно создать базу с другим именем, но в процессе восстановления внутреннее имя базы данных все равно придется изменить, а имя сервиса останется прежним, что приведет к некоторой путанице. cmd >rman target sys/pwd rman>startup force nomount; rman>set DBID=X; -меняем ID базы данных на старый, когда попытаетесь восстановить CF он вам его выдаст rman>startup force nomount; rman>restore spfile from ‘X’; - этот блок не обязателен, если база и расположение CF вас устраивает. rman>shutdown immediate; rman>startup nomount; rman>restore controlfile from ‘X’; - восстанавливаем контрольный файл из файла бэкапа rman>alter database mount; rman>catalog START WITH ‘X’; - добавляет в CF список файлов на диске все подпапки rman>LIST BACKUP; -смотрим список файлов данных rman>run -меняем расположение файлов если надо { set newname for datafile 1 to ‘A’; set newname for datafile 2 to ‘B’; set newname for datafile 3 to ‘C’; set newname for datafile 4 to ‘D’; set newname for tempfile <старый путь> to <новый путь> RESTORE DATABASE; switch datafile all; -переключаем файлы данных switch tempfile all RECOVER DATABASE; } rman>switch datafile all; rman> rman>alter DATABASE rename file ‘Y:\redo_log’ to ‘X:\redo_log’; - меняем расположение REDO_LOG rman>alter DATABASE rename file ‘Y:\TEMP’ to ‘X:\TEMP’; - меняем расположение TEMP rman>alter database open resetlogs; Смысл такой: Базу выключаем, меняем у нее ID, он выйдет, если вы попробуете восстановить CF, не меняя ID. Потом восстанавливаем CF. По идее в CF уже записаны данные о том, где у вас лежат бэкапы, архивы и прочее, но если пути поменялись можно вписать их туда заново, потом вы меняете пути файлов данных (если нужно), если пути те же ничего не делайте. Восстанавливаем базу данных, меняем пути у REDO_LOGS и TEMP. Открываем базу данных, сбросив журналы. TEMP файлы и REDO_LOGS пересоздадутся сами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:36 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
Восстановление базы данных на определенный момент времени cmd set nls_lang=russian_cis.ru8pc866 RMAN TARGET sys/ПАРОЛЬ (подключился) RESTORE DATABASE UNTIL TIME "TO_DATE('19/07/2016 11:30:00','DD/MM/YYYY HH24:MI:SS')"; - восстанавливаешь полную копию на 11-30, ждем минут 20 RECOVER DATABASE UNTIL TIME "TO_DATE('19/07/2016 11:30:00','DD/MM/YYYY HH24:MI:SS')"; - накатываем инкрементальную копию и журналы alter database open resetlogs; - открываем со сбросом журналов Пишет база данных открыта - значит все хорошо После этого ОБЯЗАТЕЛЬНО надо сделать полную копию (в заданиях), потому что предыдущая полная копия через сброс журналов уже не перепрыгнет, и данные после момента восстановления будут потеряны при следующем сбое ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 12:37 |
|
||
|
Восстановление БД на дату (откат к дате)/Point-in-Time Recovery
|
|||
|---|---|---|---|
|
#18+
nata44845После этого ОБЯЗАТЕЛЬНО надо сделать полную копию (в заданиях), потому что предыдущая полная копия через сброс журналов уже не перепрыгнет, и данные после момента восстановления будут потеряны при следующем сбое Это не верно, можно восстанавливаться с через resetlogs еще с 10ки. Читайте доку, там этот случай рассмотрен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.06.2018, 14:47 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39665374&tid=1883809]: |
0ms |
get settings: |
6ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
212ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 510ms |

| 0 / 0 |
