Как клонировать экземпляр оракула? По сути, я хочу скопировать его из d:\oracle\oldname
к d:\oracle\newname
.
Я работаю с Oracle 10.2.
Посмотрите на использование команды RMAN DUPLICATE. Я считаю, что это было введено в 9i, но, безусловно, доступно в 10g. Он выполняет все те шаги, которые раньше были необходимы при клонировании вручную, такие как переименование файлов данных, воссоздание управляющих файлов, сброс имени базы данных и т. Д.
Если у вас есть новая структура каталогов для файлов данных и журналов, вы можете просто навсегда установить параметры запуска клона, чтобы автоматически преобразовать их в новый формат / местоположение с помощью спецификации замены строки. Затем клонирование становится таким же простым, как подключение к целевому объекту («клонировать из»), aux («клонировать в») и базам данных каталога RMAN и выполнение команды RMAN «DUPLICATE DATABASE to (myNewDBname)». Вы также можете установить время «до», чтобы переместить клон на более ранний момент времени.
Oracle 11g добавляет возможность клонирования прямо из действующей базы данных.
Кстати, если вы не выполняете резервное копирование с помощью RMAN, откажитесь от всего остального и начните делать это прямо сейчас!
Если вы можете получить холодную или горячую резервную копию своей базы данных:
Выполните следующие команды:
conn / как sysdba
ЗАПУСК NOMOUNT CREATE CONTROLFILE REUSE SET DATABASE "NEWNAME" RESETLOGS NOARCHIVELOG MAXLOGFILES xx MAXLOGMEMBERS xx MAXDATAFILES xxx MAXINSTANCES xx MAXLOGHISTORY xxxx ГРУППА ЛОГФАЙЛОВ 1 'd: \ oraclepdocs \ NEWNAME \
ГРУППА 2 'd: \ oracle \ NEWNAME \ REDO02.LOG' РАЗМЕР XXM,
ГРУППА 3 'd: \ oracle \ NEWNAME \ REDO03.LOG' РАЗМЕР XXM ФАЙЛ ДАННЫХ
'd: \ oracle \ NEWNAME \ SYSTEM.DBF',
'd: \ oracle \ NEWNAME \ undotbs.DBF',
'd: \ oracle \ NEWNAME \ USERS.DBF',
'd: \ oracle \ NEWNAME \ sysaux.DBF',
'd: \ oracle \ NEWNAME \ TOOLS.DBF' - любые другие файлы в вашей базе данных также должны быть переименованы. CHARACTER SET WE8ISO8859P1; - при необходимости отрегулировать
ALTER DATABASE OPEN RESETLOGS;
и вы, вероятно, тоже захотите сделать что-то вроде этого:
ALTER TABLESPACE TEMP ДОБАВИТЬ TEMPFILE 'd: \ oracle \ newname \ temp.dbf' РАЗМЕР 20M ПОВТОРНОЕ ИСПОЛЬЗОВАНИЕ AUTOEXTEND НА СЛЕДУЮЩИХ 20M MAXSIZE UNLIMITED;
Это должно приблизить вас ...
Я полагаю, вам нужно другое имя экземпляра на клоне?,
Во многих отношениях самый простой способ - использовать RMAN или ваше программное обеспечение для резервного копирования и восстановления, которое сделает эту работу за вас.
Я думаю, что это будет примерно так:
Это собрано из памяти и быстрого поиска в Google, прошло около 2 лет с тех пор, как я серьезно поработал с oracle, поэтому я не ожидал, что приведенное выше будет правильным, но это может направить вас в правильном направлении.
Если вам нужен тот же экземпляр на другом сервере, я бы порекомендовал использовать NFS, netapp и flexclones, поскольку они прекрасно работают.