X

Блог Oracle в России и СНГ

Как перейти на Oracle Database 19c: три надежных метода обновления и миграции

Oracle Database 19c предлагает множество новых функций и усовершенствований и является стабильной версией, рассчитанной на длительное использование. Это повышает ее привлекательность для обновления существующей базы данных Oracle. Переход на Oracle Database 19c также может осуществляться в рамках модернизации парка серверного оборудования, перехода на иную технологию хранения, например Oracle Automatic Storage Management, или миграции на другую операционную систему. Во многих случаях переход на новую версию Oracle Database предусматривает перевод базы данных в облако Oracle Cloud. Сценарии обновления и миграции могут значительно различаться, поэтому Oracle предлагает несколько методов для перехода на Oracle Database 19c.

 

Миграция или обновление – в чем разница?

Термины «обновление» (upgrade) и «миграция» (migration) часто используются как синонимы, но в контексте баз данных Oracle им придается разный смысл. Обновление означает переход на новую версию базы данных на том же самом оборудовании и платформе, а миграция – переход на другое серверное оборудование и/или систему хранения с возможной сменой платформы.

В отличии от обновления процедура миграции существенно зависит от размера базы данных 

 

Между обновлением и миграцией имеются два существенных различия. Во-первых, обновление предполагает только модификацию словаря данных (Oracle Dictionary) и не затрагивает данные пользователей и приложений, тогда как миграция обычно предусматривает перемещение или изменение этих данных. Соответственно, размер базы данных оказывает существенное влияние на проект миграции. Во-вторых, миграция может осуществляться и без смены версии.

Выбор наилучшего метода обновления или миграции зависит от характеристик конкретного проекта:

  • исходная версия базы данных, включая установленные патчи;
  • исходная и целевая операционная системы и их версии;
  • исходная и целевая аппаратные платформы и порядок записи байтов (Endian);
  • изменение формата данных (набор символов, партиционирование, шифрование, сжатие и т.д.);
  • допустимое время простоя;
  • размер мигрируемой базы данных;
  •  архитектура исходной и целевой баз данных (non-CDB или PDB).

Для всех сценариев миграции и обновления можно подобрать наилучший метод с учетом вышеперечисленных факторов, хотя универсального, пригодного для всех случаев, не существует.

Метод 1: Обновление посредством DBUA или командной строки

Наиболее простой способ перейти на Oracle Database 19c – обновить существующую базу данных с помощью графической утилиты Database Upgrade Assistant (DBUA) или сценариев командной строки (утилита dbupgrade). Эти два варианта отличаются главным образом пользовательским интерфейсом. Они не предполагают создания копии или нового экземпляра БД, поэтому их иногда называют «обновлением по месту».

Во время обновления DBUA вызывает те же самые сценарии, что и используемые в командной строке. Кроме того, он выполняет необходимые проверки перед обновлением и позволяет автоматизировать процессы, выполняемые после обновления.

Графический пользовательский интерфейс DBUA значительно сокращает объем ручных операций, но он менее гибок, чем командная строка.

 

DBUA предназначен для обновления базы данных Oracle на существующем оборудовании. При использовании DBUA пользователь может задать степень параллелизма. Хотя DBUA автоматизирует многие задачи, которые необходимо выполнить перед обновлением, тем не менее некоторые действия может потребоваться осуществить вручную. 

Кроме того, для обновления до Oracle Database 19c можно использовать утилиту командной строки (dbupgrade). Многие администраторы баз данных отдают ей предпочтение, поскольку это позволяет им более полно контролировать процесс обновления. Утилита dbupgrade также способна распараллелить процессы при обновлении базы данных, что сокращает время простоя по сравнению с предыдущими релизами. Обновление с помощью командной строки состоит из тех же шагов (этапов) и занимает столько же времени, что и при использовании DBUA.

Инструмент Pre-Upgrade Information Tool (preupgrd.jar) автоматически генерирует скрипты для подготовки исходной БД к обновлению и завершению обновления уже на БД новой версии.

Помимо личных предпочтений DBA, типичный сценарий использования утилиты dbupgrade – миграция на новое оборудование с той же самой системной архитектурой. Возможность задавать количество параллельных процессов позволяет сбалансировать скорость обновления с загруженностью системных ресурсов. В отличие от DBUA утилита dbupgrade может возобновить обновление с того момента, когда ее работа была прервана.

Детальное описание обновления при помощи DBUA и утилит командной строки представлено в Oracle Database Upgrade Guide.

Метод 2: Обновление и миграция с помощью транспортируемых табличных пространств

Технология транспортируемых табличных пространств позволяет копировать набор табличных пространств из одной базы данных в другую. Эта процедура намного быстрее, чем экспорт и импорт данных из этих табличных пространств, потому что табличные пространства копируются в виде физических файлов, без необходимости создания логических объектов таких, как строки или индексы, находящиеся в файлах. Однако, помимо копирования табличных пространств необходимо перенести в новую базу данных метаданные, описывающие объекты в исходной базе данных, с помощью экспорта/импорта Data Pump.

Транспортируемые табличные пространства можно скопировать в базу данных, находящуюся на другой платформе и/или на другую версию ПО Oracle Database. Это предоставляет относительно быстрый способ миграции или обновления базы данных. Раньше платой за быстроту была сравнительная сложность процедуры, поскольку пользователь должен был сам перенести метаданные такие, как процедуры, пакеты, ограничения целостности и т.п. Полностью транспортируемый экспорт/импорт (Full Transportable Export/Import) значительно упрощает процесс переноса данных и метаданных.

Комбинация скорости и простоты превращает транспортируемый экспорт/импорт в хороший выбор для многих сценариев.

 

Полностью транспортируемый экспорт/импорт позволяет переместить всю базу данных с помощью транспортируемых табличных пространств. Он автоматизирует процесс перемещения метаданных и может перенести пользовательские данные, находящиеся в нетранспортируемых табличных пространствах таких как SYSAUX и SYSTEM. Перенос метаданных осуществляется посредством файлов дампа или связи базы данных (database link). Кроме того, он позволяет переносить зашифрованные табличные пространства.

Данный метод можно использовать для миграции баз данных, начиная с Oracle Database 11g Release 2 (11.2.0.3). Задание на экспорт/импорт нельзя остановить: если операция будет прервана, то все задание придется запустить с начала. Если оборудование и операционная система используемых платформ для исходной и целевой баз данных имеют различный порядок записи байт в машинном слове (Endian), то для конвертации табличных пространств необходимо использовать команду RMAN CONVERT.

Подробное описание процедуры можно найти в техническом документе Oracle Database 12c: Full Transportable Export/Import.

Метод 3. Экспорт/импорт с помощью Oracle Data Pump

Oracle Data Pump обеспечивает быстрый перенос данных и метаданных внутри баз данных и между ними. Благодаря высокой гибкости и простоте использования утилиты Oracle Data Pump для экспорта (expdp) и импорта (impdp) технология Oracle DataPump широко применяется для миграции таблиц, схем и баз данных на новые серверы, платформы с иной операционной системой и новые релизы программного обеспечения Oracle Database. 

На протяжении многих лет экспорт данных в файл дампа остается наиболее распространенным способом перемещения данных между базами данных.

 

При использовании этого метода данные могут записываться в файлы дампа на диск или перемещаться из исходной базы данных в целевую непосредственно по сети. При импорте данных они преобразуются в соответствии с характеристиками целевой базы данных, включая миграцию на новый набор символов, применение шифрования или сжатия, изменение BasicFiles для LOB на SecureFiles для LOB и изменение партиционирования таблиц в базе данных.

Экспорт Data Pump выбирает наилучший метод для извлечения данных из исходной базы данных в плоский файл, импорт Data Pump принимает аналогичное решение относительно чтения файлов дампа и вставки данных в целевую базу данных.

Главные преимущества экспорта файлов дампа – создание постоянной копии данных на диске и высокий уровень распараллеливания при операциях экспорта и импорта. Файлы дампа могут, таким образом, использоваться повторно для многократного импорта, например, когда необходимо предварительно протестировать или настроить импорт. Экспорт в файл дампа может быть также полезен, когда сеть имеет невысокую пропускную способность. В таком случае может оказаться быстрее отключить диск от исходной системы и подключить его к целевой, чем копировать данные по сети.

Базу данных можно мигрировать и без экспорта в файлы дампа. Импорт Data Pump по сети исключает необходимость в хранении, управлении и переносе файлов дампа. Данные извлекаются из исходной базы данных и добавляются напрямую в целевую базу данных по сетевому соединению. Помимо сокращения потребности в ресурсах для хранения файлов сетевой режим упрощает миграцию, позволяя перейти на другую платформу и новый релиз Oracle Database за один шаг. Сетевой режим предусматривает возможность возобновления прерванных заданий. За простоту сетевого режима приходится платить тем, что экспорт и импорт метаданных осуществляется последовательно, а не параллельно – как объекты данных.

Полную документацию по Data Pump можно найти в Oracle Database Utilities Guide.

Обновление или миграция на Oracle Database 19c предоставляет множество преимуществ. Новые функции позволяют увеличить производительность, усилить безопасность и расширить функциональность. В конечном итоге это помогает улучшить операционную эффективность, сократить затраты и повысить продуктивность сотрудников.

Подробнее о практических шагах по переходу можно узнать на вебинаре "Обновление СУБД до версии Oracle Database 19c", доступном в записи.

Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.