1. Визначаємо файли бази даних і копіюємо їх в потрібне місце. Для ідентифікації необхідних файлів бази даних виконайте запит:
SELECT NAME, BYTES
FROM (SELECT NAME, BYTES FROM V $ DATAFILE
SELECT NAME, BYTES FROM V $ TEMPFILE
SELECT LF.MEMBER "NAME", L.BYTES
FROM V $ LOGFILE LF, V $ LOG L
WHERE LF.GROUP # = L.GROUP #) USED,
(SELECT SUM (BYTES) AS POO FROM DBA_FREE_SPACE) FREE
Він покаже всі файли даних, тимчасові файли і журнали повторного виконання. Крім того, буде показаний розмір файлів, щоб можна було оцінити необхідний обсяг простору на цільової файлової системи для зберігання.
Крім того потрібно скопіювати файли з каталогу dbs. Крім s pfile.
2. shutdown immediate
3. переносимо файли засобами ОС (час має залишитися тим, яке було (scp - p))
4. Переконайтеся, що всі скопійовані файли і директорії мають коректного власника і набір прав доступу.
5. Піднімаємо вихідну базу STARTUP.
6. Створення pfile для нової бази даних. Цей крок передбачає, що ви використовуєте s pfile, якщо немає, то скопіюйте існуючий.
Для створення, виконайте в sqlplus:
create pfile = 'init_ новий _SID.ora' from spfile;
Цією командою ви створите новий pfile в директорії $ ORACLE_HOME / dbs.
7. На цьому етапі створюються керуючі файли для клонованої бази даних. Для цього підключаємося до вихідної базі даних і робимо знімок з поточних керуючих файлів, виконавши в sqlplus:
alter database backup controlfile to trace as '/ home / oracle / cr_ новий _SID.sql'
* Видаліть всі рядки на початку файлу, до другого рядка, що містить STARTUP MOUNT
* Видаліть всі рядки, які починаються з -
* Видаліть всі рядки, які починаються з #
* Видаліть порожні рядки в секції CREATE CONTROLFILE
* Видаліть рядок RECOVER DATABASE USING BACKUP CONTROLFILE
* Перемістіть в початок файлу рядок CREATE CONTROLFILE. Слово REUSE замінити на SET. Ім'я бази даних встановити рівним новому імені (якщо його змінили). Вирішіть, чи буде база даних в режимі archivelog чи ні
* Якщо змінені шляху розташування файлів, то внесіть необхідні зміни
Нижче наведено приклад, як приблизно має виглядати отриманий файл, база даних не в режимі ARCHIVELOG і називається TEST:
CREATE CONTROLFILE SET DATABASE "TEST" RESETLOGS FORCE LOGGING NOARCHIVELOG
GROUP 1 '/u03/oradata/test/redo01.log' SIZE 100M,