Не претендуя на оригинальность, описываю свои действия.
STARTUP NOMOUNT;
CREATE CONTROLFILE REUSE DATABASE "DB" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 4544
LOGFILE
GROUP 1 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\REDO01.LOG' SIZE 10M,
GROUP 2 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\REDO02.LOG' SIZE 10M,
GROUP 3 'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\REDO03.LOG' SIZE 10M
DATAFILE
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\SYSTEM01.DBF',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\UNDOTBS01.DBF',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\SYSAUX01.DBF',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\MYDB.DBF',
'D:\ORACLE\PRODUCT\10.1.0\ORADATA\DB\USERS01.DBF'
CHARACTER SET CL8MSWIN1251;
- Win+R - Вызываем "Выполнить";
- "cmd"<Enter> - Запускаем консоль;
- "set" - Проверяем установленные переменные ORACLE_HOME, ORACLE_SID. В случае их отсутствия, выставляем, например, так:\\ "set ORACLE_SID=db"
- "sqlplus "/ as sysdba"" - подключаемся к базе данных
- "shutdown immediate;" - останавливаем целевую базу
- удаляем все файлы в %ORACLE_HOME%\..\ORADATA\DB\
- переносим из %ORACLE_HOME%\..\ORADATA\DB\ исходной базы данных все datafiles, полученные в результате выполнения запроса в п. 1.5., в %ORACLE_HOME%\..\ORADATA\DB\ целевой базы\\
- в окне sqlplus выполняем:
- "@\path\to\db.sql;"
- "alter database open resetlogs;"