Назад | Перейти на главную страницу

Как клонировать экземпляр оракула?

Как клонировать экземпляр оракула? По сути, я хочу скопировать его из d:\oracle\oldname к d:\oracle\newname.

Я работаю с Oracle 10.2.

Посмотрите на использование команды RMAN DUPLICATE. Я считаю, что это было введено в 9i, но, безусловно, доступно в 10g. Он выполняет все те шаги, которые раньше были необходимы при клонировании вручную, такие как переименование файлов данных, воссоздание управляющих файлов, сброс имени базы данных и т. Д.

Если у вас есть новая структура каталогов для файлов данных и журналов, вы можете просто навсегда установить параметры запуска клона, чтобы автоматически преобразовать их в новый формат / местоположение с помощью спецификации замены строки. Затем клонирование становится таким же простым, как подключение к целевому объекту («клонировать из»), aux («клонировать в») и базам данных каталога RMAN и выполнение команды RMAN «DUPLICATE DATABASE to (myNewDBname)». Вы также можете установить время «до», чтобы переместить клон на более ранний момент времени.

Oracle 11g добавляет возможность клонирования прямо из действующей базы данных.

Кстати, если вы не выполняете резервное копирование с помощью RMAN, откажитесь от всего остального и начните делать это прямо сейчас!

Если вы можете получить холодную или горячую резервную копию своей базы данных:

  1. Скопируйте файлы холодных / горячих резервных копий в новую структуру каталогов.
  2. Измените файл init.ora для нового экземпляра.
  3. Проблема: STARTUP MOUNT вошел в систему как пользователь sysdba
  4. Выполните следующие команды:

    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 или ваше программное обеспечение для резервного копирования и восстановления, которое сделает эту работу за вас.

Я думаю, что это будет примерно так:

  • Сделайте резервную копию вашей базы данных
  • Выключите вашу базу данных
  • Создайте новую базу данных с тем же SID, что и исходная
  • Восстановить в новую базу данных
  • экспорт ORACLE_SID = новое имя
  • Измените pfile или spfile, чтобы отразить новое расположение управляющего файла
  • Создайте новый файл паролей orapwd file = orapw password = ?? записей = 5
  • Запустить новую базу данных
  • Запустите старую базу данных

Это собрано из памяти и быстрого поиска в Google, прошло около 2 лет с тех пор, как я серьезно поработал с oracle, поэтому я не ожидал, что приведенное выше будет правильным, но это может направить вас в правильном направлении.

Если вам нужен тот же экземпляр на другом сервере, я бы порекомендовал использовать NFS, netapp и flexclones, поскольку они прекрасно работают.