ORA-01103: database name 'DB' in control file is not 'DBTST'
bulat makhmutov
Дата: 31.10.2015 10:48:27
Привет всем,
Хотел восстановить из бекапа производственной бд(на сервере PROD1) на тестовую бд (на сервере TEST2).
Производ. БД Имя: DB (Server: PROD1)
Тест БД Имя: DBTST (Server: TEST2)
Создал необходимые директории
Восстановил SPFILE из бекапа и создал PFILE из него и поменял локации/отредактировал.
Стартовал БД в режиме NOMOUNT из pfile (отредактированного)
Восстановил Контрольные файлы из бекапа
Создал SPFILE из pfile (отредактированного)
Затем:
SQL> shutdown immediate
ORA-01507: database not mounted
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
Total System Global Area 452984832 bytes
Fixed Size 1291144 bytes
Variable Size 130026616 bytes
Database Buffers 318767104 bytes
Redo Buffers 2899968 bytes
ORA-01103: database name 'DB' in control file is not 'DBTST'
Почему происходит такая ошибка? Как решается такая проблема?
Получается невозможно восстановить БД (из бекапа) под другим именем? Нужно под таким же именем как на продакшне?
С уважением!
Mantrid
Дата: 31.10.2015 11:20:56
Первоначально лучше восстановить под первоначальным именем, а потом уже переименовывать.
Копать нужно в сторону утилиты NID.
Hrundel
Дата: 02.11.2015 07:07:00
Instance_name - любой
db_name - без измений, то есть DB
db_unique_name - любой
Востанавливаешь базу, потом переименовываешь.
1. NID
2. Пересоздание контрольного файла
bulat makhmutov
Дата: 02.11.2015 07:26:17
Hrundel,
Спасибо за ответ ребята.
Получается чтобы NID прогнать - нужно предварительно в файле конциграций поменять как вы написали?
Instance_name - любой
db_name - без измений, то есть DB
db_unique_name - любой
Viewer
Дата: 02.11.2015 07:52:59
А чем не подходит - выполнить на продуктивной базе
https://docs.oracle.com/cd/B28359_01/server.111/b28310/control005.htm |
---|
Produce SQL statements that can later be used to re-create your control file:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
This command writes a SQL script to a trace file where it can be captured and edited to reproduce the control file. View the alert log to determine the name and location of the trace file. |
затем просто отредактировать полученный файл и использовать его для пересоздания контрольника на тесте?
Viewer
Дата: 02.11.2015 07:59:38
Hrundel
Дата: 02.11.2015 23:52:30
bulat makhmutov,
Что бы NID прогнать надо лишь что бы база была востановлена, подключена в все data и temp файлы былыи на месте. Утилита перезапишет заголовки в файлах, в контрольнике и погасит базу.
Вот потом надо в параметрах указать верную базу и запустить.
Hrundel
Дата: 02.11.2015 23:53:17
Viewer |
---|
А чем не подходит - выполнить на продуктивной базе
https://docs.oracle.com/cd/B28359_01/server.111/b28310/control005.htm |
---|
Produce SQL statements that can later be used to re-create your control file:
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
This command writes a SQL script to a trace file where it can be captured and edited to reproduce the control file. View the alert log to determine the name and location of the trace file. |
затем просто отредактировать полученный файл и использовать его для пересоздания контрольника на тесте? |
Конечно можно, но это больше действий. А я ленивый.
bulat makhmutov
Дата: 03.11.2015 15:39:14
Спасибо всем за ответ,
Я прогнал NID с параметрами.
SPFILE старое имя - SPFILEDB.ORA
старое имя DB
новое имя DBTST
смотрю - SPFILE не обновился.
Или нужно по новой нужно конфигурировать?
Каковы дальнешие шаги после прогона NID утилиты?
Срочно!
bulat makhmutov
Дата: 03.11.2015 15:39:46
Какой открыть базу под новым именем?