Безопасность, доступ и операции для миграций Oracle

Эта статья представляет собой третью из семи статей, посвященных рекомендациям по миграции данных из Oracle в Azure Synapse Analytics. В центре внимания этой статьи — рекомендации по операциям безопасного доступа.

Вопросы безопасности

Среда Oracle предлагает несколько способов доступа и проверки подлинности, которые может потребоваться перенести в Azure Synapse с минимальным риском и воздействием на пользователей. В этой статье предполагается, что вы хотите перенести существующие методы подключения, а также структуры пользователей, ролей и разрешений "как есть". Если это не так, используйте портал Azure для создания нового режима безопасности и управления им.

Дополнительные сведения о параметрах безопасности Azure Synapse см. в статье Безопасность Azure Synapse Analytics.

Подключение и проверка подлинности

Проверка подлинности — это процесс проверки удостоверения пользователя, устройства или другой сущности в компьютерной системе, как правило, в качестве необходимого условия для предоставления доступа к ресурсам в системе.

Совет

Проверка подлинности в Oracle и Azure Synapse может осуществляться "в базе данных" или с помощью внешних методов.

Параметры авторизации Oracle

Система Oracle предлагает пользователям баз данных следующие способы проверки подлинности:

  • Проверка подлинности базы данных: используя проверку подлинности базы данных, БД Oracle администрирует учетную запись пользователя и выполняет проверку подлинности пользователя. Для выполнения проверки подлинности база данных Oracle создает пароль для новых пользователей и сохраняет пароли в зашифрованном формате. Пользователи могут в любое время изменить свой пароль. Oracle рекомендует управлять паролями с помощью блокировки учетных записей, старения и истечения срока действия паролей, журнала паролей и проверки сложности пароля. Проверка подлинности базы данных распространена в старых установках Oracle.

  • Внешняя проверка подлинности: с внешней проверкой подлинности база данных Oracle поддерживает учетную запись пользователя, а внешняя служба выполняет администрирование паролей и проверку подлинности пользователей. Внешняя служба может представлять собой операционную систему или сетевую службу, такую как Oracle Net. База данных использует базовую операционную систему или службу проверки подлинности сети для ограничения доступа к учетным записям базы данных. Этот тип знака не использует пароль базы данных. Существует два варианта внешней проверки подлинности:

    • Проверка подлинности операционной системы: по умолчанию Oracle требует безопасного подключения для имен входа, подлинность которых проверяет операционная система, чтобы запретить удаленному пользователю олицетворять пользователя операционной системы через сетевое подключение. Это требование исключает использование Oracle Net и конфигурации с общим сервером.

    • Сетевая проверка подлинности: доступно несколько механизмов проверки подлинности сети, таких как смарт-карты, отпечатки пальцев, Kerberos и операционная система. Многие службы проверки подлинности сети, такие как Kerberos, поддерживают единый вход, чтобы пользователям приходилось запоминать меньше паролей.

  • Глобальная проверка подлинности и авторизация: с помощью глобальной проверки подлинности и авторизации можно централизованно управлять сведениями, связанными с пользователем, включая авторизацию, в службе каталогов на основе LDAP. Пользователи идентифицируются в базе данных как глобальные пользователи, что означает, что они проходят проверку подлинности по протоколу TLS/SSL, а управление пользователями происходит за пределами базы данных. Централизованная служба каталогов выполняет управление пользователями. Такой подход обеспечивает надежную проверку подлинности с помощью TLS/SSL, Kerberos или собственной проверки подлинности Windows и обеспечивает централизованное управление пользователями и привилегиями в организации. Администрирование упрощается, так как не нужно создавать схему для каждого пользователя в каждой базе данных организации. Единый вход также поддерживается, поэтому для доступа к нескольким базам данных и службам пользователям достаточно войти в систему только один раз.

  • Проверка подлинности и авторизация прокси-сервера: прокси-клиентам можно безопасно назначить сервер среднего уровня. Oracle предоставляет различные варианты проверки подлинности прокси-сервера, например:

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

    • Клиент, который в данном случае является пользователем базы данных, не проходит проверку подлинности на сервере среднего уровня. Удостоверение клиента и пароль базы данных передаются через сервер среднего уровня на сервер базы данных для проверки подлинности.

    • Клиент, который в данном случае является глобальным пользователем, проходит проверку подлинности на сервере среднего уровня и передает различающееся имя (DN) или сертификат через средний уровень для получения имени пользователя клиента.

Параметры авторизации Azure Synapse

Azure Synapse поддерживает два основных варианта подключения и авторизации:

  • Проверка подлинности SQL. Проверка подлинности SQL осуществляется через подключение к базе данных, которое включает идентификатор базы данных, идентификатор пользователя и пароль, а также дополнительные параметры. Этот метод проверки подлинности функционально эквивалентен проверке подлинности базы данных Oracle.

  • Проверка подлинности Microsoft Entra: с помощью проверки подлинности Microsoft Entra можно централизованно управлять удостоверениями пользователей базы данных и службы Майкрософт в одном расположении. Централизованное управление удостоверениями позволяет использовать единое расположение для управления пользователями Azure Synapse и упрощает управление разрешениями. Проверка подлинности Microsoft Entra поддерживает подключения к службам LDAP и Kerberos. Например, можно использовать проверку подлинности Microsoft Entra для подключения к существующим каталогам LDAP, если они останутся на месте после миграции базы данных.

Пользователи, роли и разрешения

Oracle и Azure Synapse реализуют управление доступом к базе данных через комбинацию пользователей, ролей и разрешений. Стандартные инструкции SQL CREATE USER и CREATE ROLE/GROUP можно использовать для определения пользователей и ролей. Инструкции GRANT и REVOKE назначают разрешения пользователям и (или) ролям и удаляют их.

Совет

Планирование имеет важное значение для успешного проекта миграции. Начните с принятия общих решений.

Концептуально базы данных Oracle и Azure Synapse похожи, и в некоторой степени можно автоматизировать перенос существующих ИД пользователей, групп и разрешений. Извлеките устаревшие сведения о пользователях и группах из таблиц системного каталога Oracle, а затем создайте соответствующие им эквивалентные инструкции CREATE USER и CREATE ROLE. Выполните эти инструкции в Azure Synapse для повторного создания той же иерархии пользователей и ролей.

Совет

По возможности автоматизируйте процессы миграции, чтобы сократить затраченное время и снизить возможность возникновения ошибок.

После извлечения данных используйте таблицы системного каталога Oracle для создания эквивалентных инструкций GRANT для назначения разрешений при наличии эквивалента.

Chart showing how to automate the migration of privileges from an existing system.

Пользователи и роли

Сведения о текущих пользователях и группах в системе Oracle хранятся в представлениях системного каталога, таких как ALL_USERS и DBA_USERS. Эти представления можно запрашивать обычным образом с помощью Oracle SQL*Plus или Oracle SQL Developer. Ниже приводятся основные примеры таких запросов.

--List of users
select * from dba_users order by username;

--List of roles
select * from dba_roles order by role;

--List of users and their associated roles
select * from user_role_privs order by username, granted_role;

В Oracle SQL Developer есть встроенные параметры для отображения сведений о пользователях и роях на панели Отчеты , как показано на следующем снимке экрана.

Screenshot showing the Reports pane for user roles in Oracle SQL Developer.

Можно изменить приведенную в качестве примера инструкцию SELECT, чтобы получить набор результатов, который представляет собой набор инструкций CREATE USER и CREATE GROUP. Для этого добавьте соответствующий текст в качестве литерала инструкции SELECT.

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

Совет

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

Разрешения

В системе Oracle системное представление DBA_ROLE_PRIVS содержит права доступа для пользователей и ролей. Если у вас есть доступ к SELECT, вы можете запросить это представление, чтобы получить текущие списки прав доступа, определенные в системе. На следующем снимке экрана Oracle SQL Developer показан пример списка прав доступа.

Screenshot showing the Reports pane for user access rights in Oracle SQL Developer.

Вы также можете создавать запросы для создания скрипта, который представляет собой ряд инструкций CREATE и GRANT для Azure Synapse на основе существующих привилегий Oracle. На следующем снимке экрана Oracle SQL Developer показан пример такого скрипта.

Screenshot showing how to create a script of CREATE and GRANT statements in Oracle SQL Developer.

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

Смотреть Description
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
В представлении DBA описываются все предоставленные разрешения для объектов столбцов в базе данных. В представлении ALL описываются все предоставленные разрешения для объектов столбцов, для которых текущий пользователь или PUBLIC является владельцем объекта, предоставляющим или получающим его лицом. В представлении USER описываются предоставленные разрешения для объектов столбцов, для которых текущий пользователь является владельцем объекта, предоставляющим или получающим его лицом.
ALL_COL_PRIVS_MADE
USER_COL_PRIVS_MADE
В представлении ALL перечисляются предоставленные разрешения для объектов столбцов, для которых текущий пользователь является владельцем объекта или предоставляющим его лицом. В представлении USER описываются предоставленные разрешения для объектов столбцов, для которых текущий пользователь является предоставляющим его лицом.
ALL_COL_PRIVS_RECD
USER_COL_PRIVS_RECD
В представлении ALL описываются предоставленные разрешения для объектов столбцов, для которых текущий пользователь или PUBLIC является получателем. В представлении USER описываются предоставленные разрешения для объектов столбцов, для которых текущий пользователь является получателем.
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
В представлении DBA перечислены все предоставленные разрешения для всех объектов в базе данных. В представлении ALL перечислены предоставленные разрешения для объектов, для которых получателем является пользователь или PUBLIC. В представлении USER перечислены предоставленные разрешения для всех объектов, для которых текущий пользователь является получателем.
ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_MADE
В представлении ALL перечисляются разрешения для объектов, предоставленные текущим пользователем, или разрешения для объектов, владельцем которых является текущий пользователь. В представлении USER перечислены предоставленные разрешения для всех объектов, принадлежащих текущему пользователю.
ALL_TAB_PRIVS_RECD
USER_TAB_PRIVS_RECD
В представлении ALL перечислены предоставленные разрешения для объектов, для которых получателем является пользователь или PUBLIC. В представлении USER перечислены предоставленные разрешения для объектов, для которых текущий пользователь является получателем.
DBA_ROLES В этом представлении представлены все существующие в базе данных роли.
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
В представлении DBA перечислены роли, предоставленные пользователям и ролям. В представлении USER перечислены роли, предоставленные текущему пользователю.
DBA_SYS_PRIVS
USER_SYS_PRIVS
В представлении DBA перечислены системные привилегии, предоставленные пользователям и ролям. В представлении USER перечислены системные привилегии, предоставленные текущему пользователю.
ROLE_ROLE_PRIVS В этом представлении описываются роли, предоставленные другим ролям. Сведения предоставляются только о ролях, к которым у пользователя есть доступ.
ROLE_SYS_PRIVS Это представление содержит информацию о системных привилегиях, предоставленных ролям. Сведения предоставляются только о ролях, к которым у пользователя есть доступ.
ROLE_TAB_PRIVS В этом представлении содержится информация об объектных привилегиях, предоставленных ролям. Сведения предоставляются только о ролях, к которым у пользователя есть доступ.
SESSION_PRIVS В этом представлении перечислены привилегии, которые в настоящее время включены для пользователя.
SESSION_ROLES В этом представлении перечислены роли, которые в настоящее время включены для пользователя.

Oracle поддерживает различные типы привилегий:

  • Системные привилегии: системные привилегии позволяют получателю выполнять стандартные задачи администратора в базе данных. Как правило, эти привилегии доступны только доверенным пользователям. Многие системные привилегии зависят от операций Oracle.

  • Объектные привилегии: у каждого типа объекта есть связанные с ним привилегии.

  • Табличные привилегии: табличные привилегии обеспечивают безопасность на уровне языка обработки данных (DML) или языка описания данных (DDL). Табличные привилегии можно сопоставить непосредственно с их эквивалентом в Azure Synapse.

  • Привилегии представления: объектные привилегии DML можно применять к представлениям, как к таблицам. Привилегии представления можно сопоставить непосредственно с их эквивалентом в Azure Synapse.

  • Процедурные привилегии: процедурные привилегии позволяют предоставить привилегию EXECUTE процедурам, включая изолированные процедуры и функции. Табличные привилегии можно сопоставить непосредственно с их эквивалентом в Azure Synapse.

  • Привилегии типов: вы можете предоставить системные привилегии именованным типам, таким как типы объектов, VARRAYs и вложенные таблицы. Как правило, эти привилегии доступны в Oracle и не имеют эквивалента в Azure Synapse.

Совет

В Azure Synapse существуют эквивалентные разрешения для базовых операций базы данных, таких как DML и DDL.

В следующей таблице перечислены общие административные привилегии Oracle, имеющие прямой эквивалент в Azure Synapse.

Привилегии администратора Description Эквивалент в Synapse
[Create] Database Пользователь может создавать базы данных. Разрешение на работу с существующими базами данных управляется привилегиями объектов. СОЗДАТЬ БАЗУ ДАННЫХ
[Create] External Table Пользователь может создавать внешние таблицы. Разрешение на работу с существующими таблицами управляется привилегиями объектов. СОЗДАТЬ ТАБЛИЦУ
[Create] Function Позволяет пользователю создавать определяемые пользователем функции (UDFs). Разрешение на работу с существующими UDF управляется привилегиями объектов. CREATE FUNCTION
Роль [Create] Пользователь может создавать группы. Разрешение на работу с существующими группами управляется привилегиями объектов. CREATE ROLE
[Create] Index Только для системного использования. Пользователи не могут создавать индексы. CREATE INDEX
[Create] Materialized View Пользователь может создавать материализованные представления. СОЗДАТЬ ПРЕДСТАВЛЕНИЕ
[Create] Procedure Пользователь может создавать хранимые процедуры. Разрешение на работу с существующими хранимыми процедурами управляется привилегиями объектов. СОЗДАТЬ ПРОЦЕДУРУ
[Create] Schema Пользователь может создавать схемы. Разрешение на работу с существующими схемами управляется привилегиями объектов. CREATE SCHEMA
[Create] Table Пользователь может создавать таблицы. Разрешение на работу с существующими таблицами управляется привилегиями объектов. СОЗДАТЬ ТАБЛИЦУ
[Create] Temporary Table Пользователь может создавать временные таблицы. Разрешение на работу с существующими таблицами управляется привилегиями объектов. СОЗДАТЬ ТАБЛИЦУ
[Create] User Пользователь может создавать пользователей. Разрешение на работу с существующими пользователями управляется привилегиями объектов. СОЗДАНИЕ ПОЛЬЗОВАТЕЛЯ
[Create] View Пользователь может создавать представления. Разрешение на работу с существующими представлениями управляется привилегиями объектов. СОЗДАТЬ ПРЕДСТАВЛЕНИЕ

Вы можете автоматизировать миграцию этих привилегий, создав эквивалентные скрипты для Azure Synapse из таблиц каталога Oracle, как описано ранее в этом разделе.

В следующей таблице перечислены общие объектные привилегии Oracle, имеющие прямой эквивалент в Azure Synapse.

Объектные привилегии Description Эквивалент в Synapse
Alter Пользователь может изменять атрибуты объекта. Применяется ко всем объектам. ИЗМЕНИТЬ
Удаление Пользователь может удалять строки таблицы. Применяется только к таблицам. DELETE
Удалить Пользователь может удалять объекты. Применяется ко всем типам объектов. DROP
Выполнить Пользователь может запускать пользовательские функции, пользовательские агрегаты или хранимые процедуры. ВЫПОЛНИТЬ
Insert Пользователь может вставлять строки в таблицу. Применяется только к таблицам. ВСТАВИТЬ
Список (List) Пользователь может отобразить имя объекта списком или другим способом. Применяется ко всем объектам. LIST
Выбрать Пользователь может выбрать (или запросить) строки в таблице. Применяется к таблицам и представлениям. ВЫБРАТЬ
Truncate Пользователь может удалить из таблицы все строки. Применяется только к таблицам. TRUNCATE
Обновить Пользователь может менять строки таблиц. Применяется только к таблицам. ОБНОВИТЬ

Дополнительные сведения о разрешениях Azure Synapse см. в разделе Разрешения ядра СУБД.

Перенос пользователей, ролей и привилегий

До сих пор мы описывали распространенный подход к переносу пользователей, ролей и привилегий для Azure Synapse с помощью команд SQL CREATE USER, CREATE ROLE и GRANT Однако вам не нужно переносить все операции Oracle с доступными для предоставления привилегиями в новую среду. Например, операции управления системой неприменимы к новой среде или эквивалентные функциональные возможности автоматизированы или управляются вне базы данных. Ниже описан процесс миграции для пользователей, ролей и подмножества привилегий, которые имеют прямой эквивалент в среде Azure Synapse:

  1. Перенос определений схем, таблиц и представлений Oracle в среду Azure Synapse. Этот шаг переносит только определения таблиц, а не данные.

  2. Извлеките существующие идентификаторы пользователей, которые требуется перенести из системных таблиц Oracle, создайте скрипт инструкций CREATE USER для Azure Synapse, а затем запустите этот скрипт в среде Azure Synapse. Найдите способ создать новые начальные пароли, потому что извлечь пароли из среды Oracle невозможно.

  3. Извлеките существующие роли из системных таблиц Oracle, создайте скрипт эквивалентных инструкций CREATE ROLE для Azure Synapse, а затем запустите этот скрипт в среде Azure Synapse.

  4. Извлеките комбинации пользователей и ролей из системных таблиц Oracle, создайте скрипт, чтобы GRANT роли пользователям в Azure Synapse, а затем запустите этот скрипт в среде Azure Synapse.

  5. Извлеките соответствующие сведения о привилегиях из системных таблиц Oracle, затем создайте скрипт, чтобы GRANT соответствующие привилегии пользователям и ролям в Azure Synapse, а затем запустите этот скрипт в среде Azure Synapse.

Рабочие соображения

В этом разделе описывается, как реализовать типичные рабочие задачи Oracle в Azure Synapse с минимальным риском и воздействием на пользователей.

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

Совет

Операционные задачи необходимы для эффективной работы любого хранилища данных.

Задачи администрирования Oracle обычно делятся на две категории:

  • Системное администрирование: системное администрирование — это управление оборудованием, параметрами конфигурации, статусом системы, доступом, дисковым пространством, использованием, обновлениями и прочими задачами.

  • Администрирование базы данных: администрирование базы данных — это управление пользовательскими базами данных и их содержимым, загрузкой, резервным копированием и восстановлением данных, а также доступом к данным и разрешениям.

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

  • Oracle Enterprise Manager — это локальная платформа управления Oracle. Она предоставляет единую панель для управления всеми клиентскими развертываниями Oracle независимо от расположения (в центрах обработки данных или Oracle Cloud). Благодаря глубокой интеграции со стеком продуктов Oracle платформа Oracle Enterprise Manager обеспечивает поддержку управления и автоматизации приложений, баз данных, ПО промежуточного слоя, оборудования и систем "под ключ" Oracle.

  • Oracle Instance Manager предоставляет пользовательский интерфейс для общего администрирования экземпляров Oracle. Oracle Instance Manager позволяет выполнять такие задачи, как запуск, завершение работы и просмотр журналов.

  • Помощник по настройке базы данных Oracle — это пользовательский интерфейс, который позволяет настраивать различные функции и возможности баз данных и управлять ими.

  • Команды SQL, которые поддерживают задачи администрирования и запросы в рамках сеанса базы данных SQL. Можно выполнять команды SQL из интерпретатора команд Oracle SQL*Plus, пользовательского интерфейса Oracle SQL Developer или через API SQL, такие как ODBC, JDBC и поставщик OLE DB. Для выполнения команд SQL с соответствующими разрешениями для выполняемых запросов и задач требуется учетная запись пользователя базы данных.

Несмотря на то что задачи управления и операционные задачи для разных хранилищ данных похожи, конкретные реализации могут различаться. Современные облачные продукты, такие как Azure Synapse, как правило, включают более автоматизированный и "управляемый системой" подход по сравнению с реализованным в более старых средах, таких как Oracle, подходом к управлению вручную.

В следующих разделах сравниваются параметры Oracle и Azure Synapse для различных операционных задач.

Задачи по обслуживанию

В большинстве устаревших сред хранилища данных обычные задачи "по обслуживанию" занимают много времени. Можно освободить место на диске, удалив старые версии обновленных или удаленных строк. Кроме того, можно освободить место на диске, реорганизуя данные, файлы журналов и блоки индексов для повышения эффективности, например, выполняя ALTER TABLE... SHRINK SPACE в Oracle.

Совет

Задачи по обслуживанию обеспечивают эффективную работу рабочего хранилища данных и оптимизируют использование таких ресурсов, как хранилище.

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

Oracle имеет встроенную функцию для анализа качества статистики — Помощник по статистике оптимизатора. Он работает с помощью списка правил Oracle, представляющих рекомендации по статистике оптимизатора. Помощник проверяет каждое правило и при необходимости создает результаты, рекомендации и действия, связанные с вызовами пакета DBMS_STATS для принятия корректирующих мер. Пользователи могут просматривать список правил в представлении V$STATS_ADVISOR_RULES, как показано на следующем снимке экрана.

Screenshot showing how to display a list of rules by using the Optimizer Statistics Advisor.

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

Azure Synapse может автоматически создавать статистику, чтобы они были доступны при необходимости. Можно выполнять дефрагментацию индексов и блоков данных вручную, по расписанию или автоматически. Используя встроенные возможности Azure, вы сокращаете усилия на миграцию.

Совет

Автоматизация и мониторинг задач по обслуживанию в Azure.

Мониторинг и аудит

Oracle Enterprise Manager включает средства мониторинга различных аспектов одной или нескольких систем Oracle, таких как активность, производительность, очереди и использование ресурсов. Oracle Enterprise Manager имеет интерактивный пользовательский интерфейс, который позволяет пользователям детализировать низкоуровневые сведения на любой диаграмме.

Совет

Oracle Enterprise Manager — это рекомендуемый способ мониторинга и ведения журнала в системах Oracle.

На следующей схеме представлен обзор среды мониторинга в хранилище данных Oracle.

Diagram showing an overview of the monitoring environment for an Oracle warehouse.

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

Совет

Портал Azure предоставляет пользовательский интерфейс для управления задачами мониторинга и аудита для всех данных и процессов Azure.

Портал Azure также может предоставлять рекомендации по улучшению производительности, как показано на следующем снимке экрана.

Screenshot of Azure portal recommendations for performance enhancements.

Портал поддерживает интеграцию с другими службами мониторинга Azure, такими как Operations Management Suite (OMS) и Azure Monitor, чтобы обеспечить возможность интегрированного мониторинга хранилища данных и всей аналитической платформы Azure. Дополнительные сведения см. в разделе операций и параметров управления Azure Synapse.

Высокая доступность (HA) и аварийное восстановление (DR)

С момента первоначального выпуска в 1979 году среда Oracle существенно расширила свои возможности и теперь предоставляет многочисленные функции, необходимые корпоративным клиентам, включая функции обеспечения высокой доступности и восстановления после сбоев. Последнее нововведение в этой области — это архитектура максимальной доступности (MAA), которая включает эталонные архитектуры для четырех уровней высокой доступности и аварийного восстановления:

  • Бронзовый уровень: архитектура высокой доступности с одним экземпляром
  • Серебряный уровень: высокая доступность с автоматической отработкой отказа
  • Золотой уровень: комплексные средства обеспечения высокой доступности и аварийного восстановления
  • Платиновый уровень: нулевые простои для приложений с поддержкой платинового уровня

Azure Synapse использует моментальные снимки базы данных для обеспечения высокой доступности хранилища данных. Моментальный снимок хранилища данных создает точку восстановления, которую можно использовать для восстановления хранилища данных до предыдущего состояния. Поскольку Azure Synapse — это распределенная система, моментальный снимок хранилища данных состоит из множества файлов, хранящихся в службе хранилища Azure. Моментальные снимки фиксируют добавочные изменения в данных, содержащихся в хранилище данных.

Совет

Azure Synapse автоматически создает моментальные снимки, чтобы обеспечить быстрое время восстановления.

Azure Synapse автоматически делает моментальные снимки в течение дня и создает точки восстановления, которые доступны в течение семи дней. Этот период хранения изменить нельзя. Azure Synapse поддерживает восьмичасовую целевую точку восстановления (RPO). Можно восстановить хранилище данных в основном регионе из любого моментального снимка, сделанного за последние семь дней.

Совет

Пользовательские снимки можно использовать для определения точки восстановления перед ключевыми обновлениями.

Azure Synapse поддерживает пользовательские точки восстановления, которые создаются на основе моментальных снимков, создание которых было активировано вручную. Создавая точки восстановления до и после внесения изменений в крупные хранилища данных, вы гарантируете логическую согласованность точек восстановления. Определяемые пользователем точки восстановления расширяют защиту данных и сокращают время восстановления при прерывании рабочей нагрузки или ошибках пользователей.

В дополнение к снимкам Azure Synapse выполняет стандартное географическое резервное копирование один раз в день в сопряженный центр обработки данных. Целевая точка восстановления для геовосстановления составляет 24 часа. Можно восстановить географическую резервную копию на сервере в любом регионе, где поддерживается Azure Synapse. Геоизбыточное резервное копирование гарантирует, что хранилище данных может быть восстановлено, если точки восстановления в основном регионе недоступны.

Совет

Microsoft Azure предоставляет автоматическое резервное копирование в отдельное географическое расположение для включения аварийного восстановления.

Управление рабочей нагрузкой

Oracle предоставляет такие служебные программы, как Enterprise Manager и Database Resource Manager (DBRM) для управления рабочими нагрузками. Эти служебные программы включают такие функции, как балансировка нагрузки между крупными кластерами, параллельное выполнение запросов, измерение производительности и определение приоритетов. Многие из этих функций можно автоматизировать, чтобы система стала в некоторой степени поддерживать самостоятельную настройку.

Совет

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

Azure Synapse автоматически регистрирует статистику использования ресурсов. Метрики включают статистику использования ЦП, памяти, кэша, операций ввода-вывода и временной рабочей области для каждого запроса. Azure Synapse также регистрирует информацию о подключении, например неудачные попытки подключения.

Совет

Низкоуровневые и общесистемные метрики автоматически регистрируются в Azure.

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

Azure Synapse поддерживает следующие основные концепции управления рабочей нагрузкой:

  • Классификация рабочей нагрузки: вы можете назначить запрос группе рабочей нагрузки, чтобы установить уровни важности.

  • Важность рабочей нагрузки: вы можете влиять на порядок, в котором запрос получает доступ к ресурсам. По умолчанию запросы освобождаются из очереди по мере того, как ресурсы становятся доступными. Важность рабочей нагрузки позволяет запросам с более высоким приоритетом получать ресурсы немедленно, независимо от очереди.

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

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

Можно использовать метрики рабочей нагрузки, которые собирает Azure Synapse, для планирования емкости, например чтобы определить ресурсы, необходимые для дополнительных пользователей или более крупной рабочей нагрузки приложения. Вы также можете использовать метрики рабочей нагрузки для планирования увеличения и уменьшения масштаба вычислительных ресурсов для экономичной поддержки пиковых рабочих нагрузок.

В руководстве по управлению рабочей нагрузкой описаны методы анализа рабочей нагрузки, управления и мониторинга важности рабочей нагрузки](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md) и действия по преобразованию класса ресурсов в группу рабочей нагрузки. Используйте портал Azure и запросы T-SQL к DMV, чтобы отслеживать рабочую нагрузку и обеспечивать эффективное использование применимых ресурсов. Azure Synapse предоставляет набор динамических административных представлений (DMV) для мониторинга всех аспектов управления рабочей нагрузкой. Эти представления полезны при активном устранении неполадок и выявлении узких мест производительности в вашей рабочей нагрузке.

Дополнительные сведения об управлении рабочей нагрузкой в Azure Synapse см. в разделе Управление рабочей нагрузкой с помощью классов ресурсов.

Масштабирование вычислительных ресурсов

Архитектура Azure Synapse разделяет хранилище и вычислительные ресурсы, что позволяет масштабировать их независимо друг от друга. В результате можно масштабировать вычислительные ресурсы в соответствии с требованиями к производительности независимо от хранилища данных. Кроме того, можно приостанавливать и возобновлять работу вычислительных ресурсов. Еще одним преимуществом такой архитектуры является отдельное выставление счетов за вычислительные ресурсы и ресурсы хранилища. Если хранилище данных не используется, вы можете сэкономить на затратах на вычисления за счет приостановки вычислений.

Совет

Основным преимуществом Azure является возможность независимо масштабировать вычислительные ресурсы по требованию для эффективной обработки пиковых рабочих нагрузок.

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

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

Следующие шаги

Дополнительные сведения о визуализации и отчетах см. в следующей статье этой серии: Визуализация и создание отчетов для миграций Oracle.