Вопрос

Сервер - Oracle Database 11G Enterprise Edition Release 11.1.0.7.0 - 64Bit

Есть ли простой и быстрый способ изменить основы тестовых баз данных на сервере?

Отбрасывание и воссоздание базы данных для меня вариант. Но я ищу что -то, что требует меньше времени.

Другой вариант назначения имен в клиентах tnsnames.ora склонны к ошибкам, потому что они не управляются централизованно.

По сравнению со временем, чтобы сбросить и создать базу данных на SQL-сервер, количество времени, необходимое для создания новой базы данных Oracle, чрезмерно больше. Далее на SQL-Server вы можете переименовать экземпляры SQL-Server. [Обычно вы переименуете сервер, где работает SQL-Server, и у вас возникают проблемы, пока вы тоже переименуете сервер].

Это было полезно?

Решение

Поскольку утилита 9i Dbnewid (NID) может использоваться для изменения имени базы данных (и DBID, если это необходимо). Если имя базы данных изменяется только, то сбросы не требуются:

  • 1 база данных запуска в режиме монтирования

    shutdown immediate
    startup mount
    
  • 2 Запустите NID, чтобы изменить имя базы данных:

    nid target=sys/syspassword@dbtns dbname=newname setname=YES
    
  • 3 выключить и запустить базу данных в режиме Mount:

    shutdown immediate
    startup mount
    
  • 4 Изменение db_name В Spfile (или в Pfile Редактирование файла):

    alter system set db_name=newname scope=spfile;
    
  • 5 Файл пароля воссоздать:

    orapwd file=orapwnewname password=syspassword
    
  • 6 запуск базы данных

    startup
    
  • 7 Post переименовать шаги:

    change SID in listener.ora
    correct tnsnames.ora
    remove old trace directories
    change /etc/oratab (UNIX) or rename windows service using oradim
    

Другие советы

Вам нужно воссоздать управляющий файл

Этот почта Каунайн Ахмед описывает необходимые шаги:

  1. DO: ALTER BATABASE BACKPURFILE CONTROLFILE TO TRACE;
  2. Извлеките команду «Создать файл controlfile» из Tracefile с фонами-задержкой.
  3. Выключите БД.
  4. Измените DB-имени в вашем init.ora и измените init.ora
  5. Изменить SID в/etc/oratab или/var/opt/oracle/oratab
  6. Измените SID в своей среде и поставьте его
  7. Запуск базы данных для запуска Mount-Status Mount
  8. Воспроизведите файл управления с утверждением из позиции 2.
  9. Сделайте ALEARD DATABASE RENAME GLOBAL_NAME в 10. Соответствует TNS-конфигурации соответственно $ oracle_home/network/admin/*. ORA Ищите SID и Global_Name

В потоке есть и другие инструменты.

Вот почта Asktom, который ссылается на процесс более подробно. Хотя это для 10G, это все равно должно работать.

Да, вы можете, и это тоже довольно просто.

В Oracle Oracle_SID - это просто имя для экземпляра Oracle и не очень связано с DBNAME. База данных с именем PROD может быть обслуживалась с использованием экземпляров с любым действительным именем. Не существует прямой связи между SID и DBNAME. Это соединение выполняется с использованием параметров.

Файл параметров идентифицируется как init $ {oracle_sid} .ora или spfile $ {oracle_sid} .ora в файле параметра - параметр db_name. Именно здесь создается соединение между экземпляром Oracle и базой данных.

Таким образом, вам не нужно воссоздать файл управления, вам не нужно использовать NID, просто убедитесь, что у вашего параметра-файла есть правильное имя, сбивайте старый экземпляр Oracle и запустите новый экземпляр Oracle после установки Oracle_SID к новому названию экземпляра Oracle. Параметр и файл пароля найдены с использованием $ {oracle_sid} как часть их имени.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с dba.stackexchange
scroll top