18.09.2006 11:06
akonev
 
О! Нашел свое старое письмо как раз по теме. Речь про 8i.

Везде по тексту предполагается что делаем базу DEMO из базы DBMAG1

1) делаем скрипт для создания контрольников

От имени SYS на исходной базе выполняем

alter database backup controlfile to trace;

в результате, в каталог user_dump_dest (у меня это был D:\ORACLE\admin\DBMAG1\udump)
вываливается файл oraNNNNN.trc , где NNNNN - пять цифр
лучше всего искать его сразу, тогда это будет самый свежий из трассеров.
перетаскиваем его в удобное место и даем осмысленное имя, например ren2demo.sql

открываем наш ren2demo.sql и находим текст вида

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "DBMAG1" NORESETLOGS NOARCHIVELOG

Имя базы будет, разумеется, другое. Все, что выше STARTUP NOMOUNT - удаляем.

переделываем это безобразие (заменяем REUSE на SET; меняем имя)

STARTUP NOMOUNT PFILE="D:\ORACLE\admin\DEMO\pfile\initDEMO.ora"
CREATE CONTROLFILE SET DATABASE "DEMO" RESETLOGS NOARCHIVELOG

Имя профайла указывать необязательно, но мне так нравится больше.
Включать или нет архивлоги - выбираем сами. Я для демок не включаю.

Удаляем все строки, что ниже чем

CHARACTER SET CL8MSWIN1251
;

Сохраняем.

2) копируем базу

Останавливаем исходную базу, останавливаем сервис базы

Создаем в oracle\oradata каталог для новой базы, копируем туда все из каталога исходной

Создаем в oracle\admin каталог для новой базы, внутри него каталоги pfile, bdump, cdump, udump
В pfile копируем профайл из того же места исходной базы.

3) правим профайл

Заменяем все вхождения старого имени базы на новое.
Учитывая, что это тестовая база - можно заодно подрезать экземпляру ресурсы
Переименовываем файл (опять же, заменяем старый сид на новый)

4) создаем экземпляр оракла

Делаем батник вида

set nls_lang=american_america.cl8mswin1251
oradim -new -sid DEMO -pwd qqq -startmode m -pfile d:\oracle\admin\DEMO\pfile\initDEMO.ora

Запускаем. Должно молча отработаться и вывалиться обратно в командную строку.
При этом должен появиться новый оракловый сервис.

5) правим tnsnames.ora - добавляем запись для новой базы

6) собственно, создаем контрольники

Запускаем сервис нашей новой базы, если он еще не работает.

Делаем батник вида
set nls_lang=american_america.cl8mswin1251
set oracle_sid=DEMO
svrmgrl.exe

Запускаем.

Коннектимся к экземпляру и запускаем наш скрипт (имя указывать с путем до файла).
Затем открываем базу.

Connect internal;
@c:\sql\ren2DEMO;
alter database open resetlogs;

Готово. База работает с новым SID'ом. Если весь этот процесс показался сложным -
имеет смысл сразу погасить ее и сделать холодную копию.

Можно переключить базу на автозапуск. Путей несколько.
Лично я, по лености своей, сношу экземпляр и создаю снова с другим "-startmode"

oradim -delete -sid DEMO

oradim -new -sid DEMO -pwd qqq -startmode a -pfile d:\oracle\admin\DEMO\pfile\initDEMO.ora
02.10.2006 09:41
Kryukov
 
Цитата:
olegon вот, чего мне хватило для переименования в свое время... Давно было, сейчас даже не смотрел, что там внутри.
на рапиде умерло, обнови пожалуста
02.10.2006 09:43
Mtirt
 
Так выше Конев инструкцию на русском выложил. Она же и на рапиде лежала, я думаю.
02.10.2006 09:48
OlegON
 
Да, инструкция нормальная, так что смысла возобновлять нет, у меня то же самое практически было. Точнее - на английском+пример использования.
03.10.2006 06:58
ceo
 
Будет ли работать эта же схема на 9 ке
03.10.2006 07:13
akonev
 
для 9ки - reddevil чуть выше писал - nid.exe
Часовой пояс GMT +3, время: 12:47.

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