[ОТВЕТИТЬ]
16.09.2006 09:50
whitewizard
 
допустим есть у меня база MAGIS, а я хочу сделать MAGIS2.
как более корректно и правильно это сделать?

OlegON:Будь аккуратнее при заведении топиков. Надоест править - буду просто грохать.
16.09.2006 10:06
OlegON
 
Самый простой способ - экспорт/импорт, возни меньше. Ткнул - работает... А другой способ - через пересоздание контрольников, инструкция в сопровождении была, писал даже пошаговое выполнение когда-то. Если надо - могу в понедельник выложить, только геморройнее это, хотя по времени может и быстрее получиться.
16.09.2006 10:23
whitewizard
 
надо. выложи плз
16.09.2006 10:38
redshadow
 
Можно более подробно по первому способу? Хотел пару сделать в свое время инструкция по второму способу была но так и не разу и не получилось у меня. Вечно зависала на разных при чем компах ошибки щас уже не помню по этому забросил. А про экспорт и импорт слышал, как реализовать не знаю :(
16.09.2006 10:45
OlegON
 
Поиском посмотри, тут команды все приводились и гранты.. exp и imp, в оракловой доке тоже много чего есть. Попробую апгрейдер свой дописать, чтобы в 8ку можно было импортить. Дамп можно им сделать.
18.09.2006 08:54
reddevil
 
to whitewizard - если Oracle9 то nid.exe - проще некуда, если 8 то упр. файлы пересоздать это 5 минут, а эксп/имп тут по моему ваще не в кассу
18.09.2006 09:19
akonev
 
это если каждую неделю пересоздаешь - тогда пять минут.
а когда первый раз, да еще с ораклом не вполне на "ты" - тогда лучше по подробненькой бумажке. ты вот готов такую написать прям щас? выкладывай!
я в субботу написал - связь отпала. сейчас кинулся - дома забыл *08 подождем уж, пока Олег выложит.
18.09.2006 10:05
OlegON
 

вот, чего мне хватило для переименования в свое время... Давно было, сейчас даже не смотрел, что там внутри.
18.09.2006 10:15
reddevil
 
Цитата:
Andrew_Konev это если каждую неделю пересоздаешь - тогда пять минут.
а когда первый раз, да еще с ораклом не вполне на "ты" - тогда лучше по подробненькой бумажке. ты вот готов такую написать прям щас? выкладывай!
я в субботу написал - связь отпала. сейчас кинулся - дома забыл *08 подождем уж, пока Олег выложит.
1.Каждую неделю не переименовываю (как то обхожусь без этого :) ).
2."а когда первый раз, да еще с ораклом не вполне на "ты, ты вот готов такую написать прям щас? выкладывай! " - все документации написано.
(а автор так и не колется кака у него версия)
18.09.2006 10:21
reddevil
 
olegon тоже для 9 ситуевину не описал
Код:
Now, run the Oracle DBNEWID to change the database name and shut it down:

nid TARGET=SYS/password@PAYROLL3 DBNAME=PAYROLL3
Connected to database PAYROLL (DBID=1456557175)

Control Files in database:
    /disk1/oracle/oradata/payroll/standby/stdby.ctl
Change database ID and database name PAYROLL to PAYROLL3? (Y/[N]) => y

Proceeding with operation
Changing database ID from 1456557175 to 416458362
Changing database name from PAYROLL to PAYROLL3
    Control File /disk1/oracle/oradata/payroll/standby/payroll3.ctl - modified
    Datafile /disk1/oracle/oradata/payroll/standby/system01.dbf - dbid changed, 
wrote new name
    Datafile /disk1/oracle/oradata/payroll/standby/undotbs01.dbf -dbid changed, 
wrote new name
    .
    .
    .
    Control File /disk1/oracle/oradata/payroll/standby/payroll3.ctl-dbid 
changed, wrote new name

Database name changed to PAYROLL3.
Modify parameter file and generate a new password file before restarting.
Database ID for database PAYROLL3 change to 416458362.
All previous backups and archived redo logs for this database are unusable.
Shut down database and open with RESETLOGS option.
Successfully changed database name and ID.
DBNEWID - Completed successfully.


If you use a password file for authenticatison, you must re-create the password file after running the Oracle DBNEWID (nid) utility.
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, время: 22:58.

 

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