Официальный мануал по копированию базы:
Цитата: 1. С помощью утилиты SVRMGRL подключаемся к работающей базе,
сохраняем информацию о контрол файлах в виде трейс файла и останавливаем базу
SVRMGRL
CONNECT INTERNAL/<внутренний пароль базы>@<имя базы>
ALTER DATABASE BACKUP CONTROLFILE TO TRACE ;
SHUTDOWN
EXIT
создан файл ora<имя базы>.trc в каталоге для трейс файлов
ОСТАНОВИТЬ БАЗУ
ОСТАНОВИТЬ СЕРВИС ОТНОСЯЩИЙСЯ К БАЗЕ
2. СКОПИРОВАТЬ ВСЕ ФАЙЛЫ В НОВЫЙ КАТАЛОГ
3. ПЕРЕИМЕНОВАТЬ СКОПИРОВАННЫЕ ФАЙЛЫ (И/ИЛИ) КАТАЛОГИ,
ЗАМЕНЯЯ В НАЗВАНИЯХ ИМЯ (sid) СТАРОЙ БАЗЫ НА ИМЯ НОВОЙ БАЗЫ
Например, если старая база называлась ORCL, а новая будет TEST, то нужно
переименовать файлы *ORCL.ora в *TEST.ora в каталоге ..\DATABASE
4. Отредактировать файл init<имя базы>.ora
заменить ссылки на каталоги старой базы на ссылки новой базы.
5. Создать новый сервис для новой базы
ORADIM -new
-sid <имя базы>
-intpwd <пароль на базу>
-startmode auto
-pfile <путь в admin данной базы>\pfile\init<имя базы>.ora
проверить что сервис запущен
6. Установить значение переменной окружения SET ORACLE_SID=<имя базы>
7. Настроить NET8(SQLNET) конфигурационные файлы tnsnames.ora и listener.ora
для обеспечения доступа к новой базе.
8. С помощью утилиты SVRMGRL подключаемся к новой базе и стартуем ее.
SVRMGRL
CONNECT INTERNAL /<внутренний пароль базы>@<имя базы>
STARTUP NOMOUNT pfile=<путь в admin данной базы>\pfile\init<имя базы>.ora
Взять из созданного в п.1 трейсфайла команду CREATE CONTROLFILE..
Преобразовать первую строку к следующему виду
CREATE CONTROLFILE SET DATABASE "<имя базы>" RESETLOGS NOARCHIVELOG
Заменить ссылки на файлы и каталоги старой базы на новую базу и
выполнить команду
9. Выполнить команду ALTER DATABASE OPEN RESETLOGS ;
------------------------------
пример трэйс файла:
oradim -new -sid db26 -intpwd qqq -startmode auto -pfile D:\ORACLE\admin\db26\pfile\initdb26.ora
set nls_lang=american_america.cl8mswin1251
set oracle_sid=db26
svrmgrl
connect internal
startup nomount pfile=D:\ORACLE\admin\db26\pfile\initdb26.ora
CREATE CONTROLFILE SET DATABASE "db26" RESETLOGS NOARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 2
MAXDATAFILES 254
MAXINSTANCES 1
MAXLOGHISTORY 226
LOGFILE
GROUP 1 'd:\ORACLE\ORADATA\db26\REDO01.LOG' SIZE 5000K,
GROUP 2 'd:\ORACLE\ORADATA\db26\REDO02.LOG' SIZE 5000K,
GROUP 3 'd:\ORACLE\ORADATA\db26\REDO03.LOG' SIZE 5000K
DATAFILE
'd:\ORACLE\ORADATA\db26\SYSTEM01.DBF',
'd:\ORACLE\ORADATA\db26\RBS01.DBF',
'd:\ORACLE\ORADATA\db26\TEMP01.DBF',
'd:\ORACLE\ORADATA\db26\USERS01.DBF',
'd:\ORACLE\ORADATA\db26\TOOLS01.DBF',
'd:\ORACLE\ORADATA\db26\INDX01.DBF'
CHARACTER SET CL8MSWIN1251
;
ALTER DATABASE OPEN RESETLOGS;