изменить имя базы данных controlfiles после восстановления?

Я восстановил базу данных с именем DB в другую базу данных с именем DB01.

он в статусе ЗАПУЩЕН (не монтируется) и похоже я не могу поменять имя если он не монтируется, а смонтировать не могу из-за имени, как решить этот вопрос если возможно?

У меня есть полная резервная копия RMAN из БД на моем текущем сервере, на котором размещена база данных DB01, initdb01.ora готова и настроена с помощью DB01.

что я могу сделать дальше

нид не помог! он просит смонтировать базу данных! что я не могу его установить

ORA-01103: имя базы данных "DB" в управляющем файле не "DB01"


person Data-Base    schedule 12.07.2012    source источник


Ответы (4)


Вам нужно пересоздать файл управления. Лучший подход — сначала выполнить следующую команду в исходной базе данных:

alter database backup controlfile to trace;

Это создает текстовый файл в каталоге трассировки. Вам нужно изменить путь к файлу, чтобы он соответствовал новым расположениям файлов базы данных, а также изменить параметр db_name.

После завершения предыдущего шага запустите новую базу данных в nomount и запустите вышеуказанный файл (УБЕДИТЕСЬ, ЧТО ВЫ ПОДКЛЮЧЕНЫ К НОВОЙ БАЗЕ ДАННЫХ И ВСЕ ПУТИ К ФАЙЛАМ УКАЗЫВАЮТ НА НОВУЮ БАЗУ ДАННЫХ). Это создаст новый файл управления.

person steve    schedule 19.07.2012
comment
Ваш ответ можно улучшить, указав местоположение, в котором обычно находится каталог трассировки. Нам (нубам-оракулам) пришлось разобраться с этим. - person Tinman; 01.11.2012

Итак, здесь установите db_name как DB, начните восстановление после открытия базы данных, вы можете изменить имя базы данных с помощью утилиты nid.

SQL > ALTER SYSTEM SET DB_NAME=DB SCOPE=spfile;

Пожалуйста, перейдите по ссылке: Изменение имени базы данных Oracle в 10G

person TechDo    schedule 27.07.2012

Если вы выполняете восстановление в другой ящик, вы можете временно использовать имя исходной базы данных для монтирования восстановленной базы данных. Затем вы можете смонтировать восстановленную базу данных и использовать инструменты, доступные с смонтированной базой данных.

  • Измените ORACLE_SID на исходное имя базы данных.

  • Переименуйте spfile, чтобы он содержал исходное имя базы данных.

  • Используйте это, чтобы изменить имя в spfile.

    ALTER SYSTEM SET DB_NAME=ORIGINAL_DBNAME SCOPE=spfile;

Это не будет работать на компьютере с работающей исходной базой данных, так как вы не можете иметь две базы данных с одинаковым именем, работающие на одном и том же компьютере.

person Timothy Maguire    schedule 08.09.2014
comment
Как выполнить первые два шага? Я никогда не пойму, что такого в базе данных Oracle, из-за чего она так плохо документирована по сравнению со всем остальным. Ответы на вопросы Oracle в Интернете, кажется, никогда не включают полные технические шаги, необходимые для выполнения задачи, без поиска множества вещей в других местах. - person alexk; 02.12.2014

См. идентификатор документа службы поддержки Oracle 1906009.1.

Вам необходимо воссоздать управляющий файл из резервной копии, а затем изменить его для использования ПОВТОРНОГО ИСПОЛЬЗОВАНИЯ с параметром SET DATABASE и с помощью RESETLOGS. Использовать

alter database backup controlfile to trace;

Затем найдите соответствующий файл трассировки с командой create controlfile. Измените SQL, чтобы включить рекомендуемые параметры. Я только что сделал это, вот мой пример:

CREATE CONTROLFILE REUSE set DATABASE "ANDYSTBY" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.258.917112951',
    '+LOGS/ANDYSTBY/ONLINELOG/group_1.259.917113325'
  ) SIZE 50M BLOCKSIZE 512,
  GROUP 2 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.257.917112935',
    '+LOGS/ANDYSTBY/ONLINELOG/group_2.260.917113339'
  ) SIZE 50M BLOCKSIZE 512,
  GROUP 3 (
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.256.917112925',
    '+LOGS/ANDYSTBY/ONLINELOG/group_3.261.917113345'
  ) SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '+DATA/ANDYSTBY/DATAFILE/system.257.917108631',
  '+DATA/ANDYSTBY/DATAFILE/sysaux.256.917108485',
  '+DATA/ANDYSTBY/DATAFILE/undotbs1.259.917108757',
  '+DATA/ANDYSTBY/DATAFILE/users.258.917108757'
CHARACTER SET AL32UTF8;

После восстановления базы данных вам нужно будет использовать опцию «использование контрольного файла резервного копирования» для восстановления.

восстановить базу данных до отмены с помощью контрольного файла резервного копирования;

person Andrew Brennan    schedule 14.09.2016