Partager via


Sécurité, accès et opérations pour les migrations Oracle

Cet article est le troisième d’une série de sept qui fournit des conseils sur la migration d’Oracle vers Azure Synapse Analytics. Cet article présente les bonnes pratiques pour les opérations d’accès à la sécurité.

Considérations relatives à la sécurité

L’environnement Oracle offre plusieurs méthodes d’accès et d’authentification dont vous aurez peut-être besoin pour migrer vers Azure Synapse avec un risque minimal et un impact minimal sur l’utilisateur. L’article part du principe que vous souhaitez migrer les méthodes de connexion existantes et les structures d’utilisateurs, de rôles et d’autorisations telles quelles. Si ce n’est pas le cas, utilisez le portail Azure pour créer et gérer un nouveau régime de sécurité.

Pour plus d’informations sur les options de sécurité dans Azure Synapse, consultez Sécurité d’Azure Synapse Analytics.

Connexion et authentification

L’authentification est le processus de vérification de l’identité d’un utilisateur, d’un appareil ou d’une autre entité dans un système informatique, généralement comme condition préalable à l’octroi de l’accès aux ressources dans un système.

Conseil

L’authentification dans Oracle et Azure Synapse peut être « dans la base de données » ou par le biais de méthodes externes.

Options d’autorisation Oracle

Le système Oracle offre plusieurs ces d’authentification pour les utilisateurs de base de données :

  • Authentification de base de données : avec l’authentification de base de données, la base de données Oracle administre le compte d’utilisateur et authentifie l’utilisateur. Pour effectuer l’authentification, la base de données Oracle génère un mot de passe pour les nouveaux utilisateurs et stocke les mots de passe dans un format chiffré. Les utilisateurs peuvent modifier leur mot de passe à tout moment. Oracle recommande la gestion des mots de passe via le verrouillage de compte, le vieillissement et l’expiration du mot de passe, l’historique des mots de passe et la vérification de la complexité du mot de passe. L’authentification de base de données est courante dans les anciennes installations Oracle.

  • Authentification externe : avec l’authentification externe, la base de données Oracle gère le compte d’utilisateur, et un service externe effectue l’administration des mots de passe et l’authentification utilisateur. Le service externe peut être un système d’exploitation ou un service réseau comme Oracle Net. La base de données s’appuie sur le système d’exploitation ou le service d’authentification réseau sous-jacent pour restreindre l’accès aux comptes de base de données. Ce type n’utilise pas de mot de passe de base de données. Il existe deux options d’authentification externe :

    • Authentification du système d’exploitation : par défaut, Oracle nécessite une connexion sécurisée pour les connexions authentifiées par le système d’exploitation, afin d’empêcher un utilisateur distant d’emprunter l’identité d’un utilisateur du système d’exploitation via une connexion réseau. Cette exigence empêche l’utilisation d’Oracle Net et d’une configuration de serveur partagé.

    • Authentification réseau : plusieurs mécanismes d’authentification réseau sont disponibles, tels que les cartes à puce, les empreintes digitales, Kerberos et le système d’exploitation. De nombreux services d’authentification réseau, tels que Kerberos, prennent en charge l’authentification unique afin que les utilisateurs aient moins de mots de passe à mémoriser.

  • Authentification et autorisation globales : avec l’authentification et l’autorisation globales, vous pouvez centraliser la gestion des informations relatives à l’utilisateur, notamment les autorisations, dans un service d’annuaire basé sur LDAP. Les utilisateurs sont identifiés dans la base de données en tant qu’utilisateurs globaux, ce qui signifie qu’ils sont authentifiés par TLS/SSL et que la gestion des utilisateurs a lieu en dehors de la base de données. Le service d’annuaire centralisé effectue la gestion des utilisateurs. Cette approche fournit une authentification forte à l’aide du protocole TLS/SSL, de Kerberos ou de l’authentification Windows native, et permet la gestion centralisée des utilisateurs et des privilèges au sein de l’entreprise. L’administration est plus facile, car il n’est pas nécessaire de créer un schéma pour chaque utilisateur de chaque base de données de l’entreprise. L’authentification unique est également prise en charge ; ainsi, les utilisateurs n’ont besoin de se connecter qu’une seule fois pour accéder à plusieurs bases de données et services.

  • Authentification et autorisation par proxy : vous pouvez désigner un serveur intermédiaire pour proxyser les clients de manière sécurisée. Oracle fournit différentes options pour l’authentification proxy, telles que :

    • Le serveur intermédiaire peut s’authentifier auprès du serveur de base de données. Un client, qui dans ce cas est un utilisateur d’application ou une autre application, s’authentifie auprès du serveur intermédiaire. Les identités clientes peuvent être tenues à jour tout le long, jusqu’à la base de données.

    • Le client, qui dans ce cas est un utilisateur de base de données, n’est pas authentifié par le serveur intermédiaire. L’identité et le mot de passe de base de données du client sont transmis via le serveur intermédiaire au serveur de base de données à des fins d’authentification.

    • Le client, qui dans ce cas est un utilisateur global, est authentifié par le serveur intermédiaire, et transmet un nom unique (DN) ou un certificat via le niveau intermédiaire pour récupérer le nom d’utilisateur du client.

Options d’autorisation Azure Synapse

Azure Synapse prend en charge deux options de base pour la connexion et l’autorisation :

  • Authentification SQL : l’authentification SQL utilise une connexion de base de données qui inclut un identificateur de base de données, un ID utilisateur et un mot de passe ainsi que d’autres paramètres facultatifs. Cette méthode d’authentification est fonctionnellement équivalente à l’authentification de base de données Oracle.

  • Authentification Microsoft Entra : l’authentification Microsoft Entra vous permet de gérer de manière centralisée les identités des utilisateurs de base de données et les services Microsoft à partir d’un emplacement unique. La gestion centralisée fournit un emplacement unique pour gérer les utilisateurs Azure Synapse, et simplifie la gestion des autorisations. L’authentification Microsoft Entra prend en charge les connexions aux services LDAP et Kerberos. Par exemple, vous pouvez utiliser l’authentification Microsoft Entra pour vous connecter à des annuaires LDAP existants s’ils doivent rester en place après la migration de la base de données.

Utilisateurs, rôles et autorisations

Oracle et Azure Synapse implémentent le contrôle d’accès à la base de données via une combinaison d’utilisateurs, de rôles et d’autorisations. Vous pouvez utiliser des instructions SQL standard CREATE USER et CREATE ROLE/GROUP pour définir des utilisateurs et des rôles. Les instructions SQL GRANT et REVOKE affectent ou suppriment des autorisations à des utilisateurs et/ou des rôles.

Conseil

Une planification est essentielle pour un projet de migration réussi. Commencez par des décisions d’approche de haut niveau.

Conceptuellement, les bases de données Oracle et Azure Synapse sont similaires, et à un certain degré il est possible d’automatiser la migration des ID d’utilisateurs, des groupes et des autorisations existants. Extrayez les informations d’utilisateurs et de groupes héritées à partir des tables de catalogue système Oracle, puis générez des instructions CREATE USER et CREATE ROLE équivalentes correspondantes. Exécutez ces instructions dans Azure Synapse pour recréer la même hiérarchie d’utilisateurs/rôles.

Conseil

Si possible, automatisez les processus de migration pour réduire le temps écoulé et le risque d’erreur.

Après l’extraction des données, utilisez des tables de catalogue système Oracle pour générer des instructions GRANT équivalentes afin d’attribuer des autorisations s’il existe un équivalent.

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

Utilisateurs et rôles

Les informations sur les utilisateurs et les groupes actuels dans un système Oracle sont conservées dans des affichages catalogue système, tels que ALL_USERS et DBA_USERS. Vous pouvez interroger ces affichages de manière normale via Oracle SQL*Plus ou Oracle SQL Developer. Les requêtes suivantes sont des exemples de base :

--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 propose des options intégrées pour afficher les informations sur les utilisateurs et les rôles dans le volet Reports, comme illustré dans la capture d’écran suivante.

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

Vous pouvez modifier l’exemple d’instruction SELECT de façon à produire un jeu de résultats qui est une série et d’instructions CREATE USER et CREATE GROUP. Pour ce faire, incluez le texte approprié en tant que littéral dans l’instruction SELECT.

Il n’existe aucun moyen de récupérer les mots de passe Oracle existants. Vous devez donc implémenter un schéma pour allouer de nouveaux mots de passe initiaux sur Azure Synapse.

Conseil

La migration d’un entrepôt de données nécessite plus que la simple migration de tables, vues et instructions SQL.

Autorisations

Dans un système Oracle, la vue système DBA_ROLE_PRIVS contient les droits d’accès pour les utilisateurs et les rôles. Si vous avez un accès SELECT, vous pouvez interroger cette vue pour obtenir les listes de droits d’accès actuelles définies dans le système. La capture d’écran suivante d’Oracle SQL Developer montre un exemple de liste de droits d’accès.

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

Vous pouvez également créer des requêtes afin de produire un script qui est une série d’instructions CREATE et GRANT pour Azure Synapse, en fonction des privilèges Oracle existants. La capture d’écran Oracle SQL Developer suivante montre un exemple de ce script.

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

Ce tableau liste et décrit les vues de dictionnaire de données requises pour afficher les informations sur les utilisateurs, les rôles et les privilèges.

Affichage Description
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
La vue DBA décrit tous les octrois d’objets de colonne dans la base de données. La vue ALL décrit tous les octrois d’objets de colonne pour lesquelles l’utilisateur actuel ou PUBLIC est le propriétaire de l’objet, le fournisseur ou le bénéficiaire. La vue USER décrit tous les octrois d’objets de colonne pour lesquelles l’utilisateur actuel est le propriétaire de l’objet, le fournisseur ou le bénéficiaire.
ALL_COL_PRIVS_MADE
USER_COL_PRIVS_MADE
La vue ALL liste les octrois d’objets de colonne pour lesquelles l’utilisateur actuel est le propriétaire de l’objet ou le fournisseur. La vue USER décrit les octrois d’objets de colonne pour lesquels l’utilisateur actuel est le fournisseur.
ALL_COL_PRIVS_RECD
USER_COL_PRIVS_RECD
La vue ALL décrit les octrois d’objets de colonne pour lesquels l’utilisateur actuel ou PUBLIC est le bénéficiaire. La vue USER décrit les octrois d’objets de colonne pour lesquels l’utilisateur actuel est le bénéficiaire.
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
La vue DBA liste tous les octrois sur tous les objets de la base de données. La vue ALL liste les octrois sur les objets où l’utilisateur ou PUBLIC est le bénéficiaire. La vue USER liste les octrois sur tous les objets où l’utilisateur actuel est le bénéficiaire.
ALL_TAB_PRIVS_MADE
USER_TAB_PRIVS_MADE
La vue ALL liste les octrois d’objets effectués par l’utilisateur actuel ou effectués sur les objets appartenant à l’utilisateur actuel. La vue USER liste les octrois sur tous les objets appartenant à l’utilisateur actuel.
ALL_TAB_PRIVS_RECD
USER_TAB_PRIVS_RECD
La vue ALL liste les octrois d’objets pour lesquels l’utilisateur ou PUBLIC est le bénéficiaire. La vue USER liste les octrois d’objets pour lesquels l’utilisateur actuel est le bénéficiaire.
DBA_ROLES Cette vue liste tous les rôles qui existent dans la base de données.
DBA_ROLE_PRIVS
USER_ROLE_PRIVS
La vue DBA liste les rôles accordés aux utilisateurs et aux rôles. La vue USER liste les rôles accordés à l’utilisateur actuel.
DBA_SYS_PRIVS
USER_SYS_PRIVS
La vue DBA liste les privilèges système accordés aux utilisateurs et aux rôles. La vue USER liste les privilèges système accordés à l’utilisateur actuel.
ROLE_ROLE_PRIVS Cette vue décrit les rôles accordés à d’autres rôles. Des informations sont fournies uniquement sur les rôles auxquels l’utilisateur a accès.
ROLE_SYS_PRIVS Cette vue contient des informations sur les privilèges système accordés aux rôles. Des informations sont fournies uniquement sur les rôles auxquels l’utilisateur a accès.
ROLE_TAB_PRIVS Cette vue contient des informations sur les privilèges d’objet accordés aux rôles. Des informations sont fournies uniquement sur les rôles auxquels l’utilisateur a accès.
SESSION_PRIVS Cette vue liste les privilèges actuellement activés pour l’utilisateur.
SESSION_ROLES Cette vue liste les rôles actuellement activés pour l’utilisateur.

Oracle prend en charge différents types de privilèges :

  • Privilèges système : les privilèges système permettent au bénéficiaire d’effectuer des tâches d’administrateur standard dans la base de données. En règle générale, ces privilèges sont limités aux utilisateurs approuvés. De nombreux privilèges système sont propres aux opérations Oracle.

  • Privilèges d’objet : chaque type d’objet a des privilèges qui lui sont associés.

  • Privilèges de table : les privilèges de table activent la sécurité au niveau du langage de manipulation de données (DML) ou du langage de définition de données (DDL). Vous pouvez mapper les privilèges de table directement à leur équivalent dans Azure Synapse.

  • Privilèges de vue : vous pouvez appliquer des privilèges d’objet DML à des vues, comme avec les tables. Vous pouvez mapper les privilèges de vue directement à leur équivalent dans Azure Synapse.

  • Privilèges de procédure : les privilèges de procédure permettent d’accorder le privilège EXECUTE à des procédures, y compris des procédures autonomes et des fonctions. Vous pouvez mapper les privilèges de procédure directement à leur équivalent dans Azure Synapse.

  • Privilèges de type : vous pouvez accorder des privilèges système à des types nommés, tels que des types d’objets, des VARRAYs et des tables imbriquées. En règle générale, ces privilèges sont propres à Oracle et n’ont pas d’équivalent dans Azure Synapse.

Conseil

Azure Synapse a des autorisations équivalentes pour les opérations de base de données standard telles que DML et DDL.

Le tableau suivant liste les privilèges d’administrateur Oracle courants qui ont un équivalent direct dans Azure Synapse.

Privilège d’administrateur Description Équivalent Synapse
[Créer] une base de données L’utilisateur peut créer des bases de données. L’autorisation d’exploiter des bases de données existantes est contrôlée par des privilèges d’objet. CREATE DATABASE
[Créer] une table externe L’utilisateur peut créer des tables externes. L’autorisation d’exploiter des tables existantes est contrôlée par des privilèges d’objet. CREATE TABLE
Fonction [Créer] L’utilisateur peut créer des fonctions définies par l’utilisateur. L’autorisation d’exploiter des UDF existants est contrôlée par des privilèges d’objet. CREATE FUNCTION
CREATE_ROLE L’utilisateur peut créer des groupes. L’autorisation d’exploiter des groupes existants est contrôlée par des privilèges d’objet. CREATE ROLE
Index [Créer] Utilisation réservée au système. Les utilisateurs ne peuvent pas créer d’index. CREATE INDEX
Vues matérialisées [Créer] L’utilisateur peut créer des vues matérialisées. CREATE VIEW
Procédure [Créer] L’utilisateur peut créer des procédures stockées. L’autorisation d’exploiter des procédures stockées existantes est contrôlée par des privilèges d’objet. CREATE PROCEDURE
Schéma [Créer] L’utilisateur peut créer des schémas. L’autorisation d’exploiter des schémas existants est contrôlée par des privilèges d’objet. CREATE SCHEMA
Table [Créer] L’utilisateur peut créer des tables. L’autorisation d’exploiter des tables existantes est contrôlée par des privilèges d’objet. CREATE TABLE
Table temporaire [Créer] L’utilisateur peut créer des tables temporaires. L’autorisation d’exploiter des tables existantes est contrôlée par des privilèges d’objet. CREATE TABLE
Utilisateur [Créer] L’utilisateur peut créer des utilisateurs. L’autorisation d’exploiter des utilisateurs existants est contrôlée par des privilèges d’objet. CREATE USER
Vue [Créer] L’utilisateur peut créer des vues. L’autorisation d’exploiter des vues existantes est contrôlée par des privilèges d’objet. CREATE VIEW

Vous pouvez automatiser la migration de ces privilèges en générant des scripts équivalents pour Azure Synapse à partir des tables de catalogue Oracle, comme décrit plus haut dans cette section.

Le tableau suivant liste les privilèges d’objet Oracle courants qui ont un équivalent direct dans Azure Synapse.

Privilège d’objet Description Équivalent Synapse
Alter L’utilisateur peut modifier des attributs d’objet. S’applique à tous les objets. ALTER
Supprimer L’utilisateur peut supprimer des lignes de table. S’applique uniquement aux tables. Suppression
Supprimer L’utilisateur peut supprimer des objets. S’applique à tous les types d’objets. DROP
Execute L’utilisateur peut exécuter des fonctions définies par l’utilisateur, des agrégats définis par l’utilisateur ou des procédures stockées. Exécutez
Insérer L’utilisateur peut insérer des lignes dans une table. S’applique uniquement aux tables. INSERT
List L’utilisateur peut afficher un nom d’objet, dans une liste ou d’une autre manière. S’applique à tous les objets. Liste
Sélectionnez L’utilisateur peut sélectionner (ou interroger) des lignes dans une table. S’applique aux tables et aux vues. SELECT
Tronquer L’utilisateur peut supprimer toutes les lignes d’une table. S’applique uniquement aux tables. TRUNCATE
Update L’utilisateur peut modifier des lignes de table. S’applique uniquement aux tables. UPDATE

Pour plus d’informations sur les autorisations Azure Synapse, consultez Autorisations du moteur de base de données.

Migration d’utilisateurs, de rôles et de privilèges

Jusqu’à présent, nous avons décrit une approche courante pour la migration d’utilisateurs, de rôles et de privilèges vers Azure Synapse à l’aide de commandes SQL CREATE USER, CREATE ROLE et GRANT. Toutefois, vous n’avez pas besoin de migrer toutes les opérations Oracle avec des privilèges accordables vers le nouvel environnement. Par exemple, les opérations de gestion du système ne s’appliquent pas au nouvel environnement, ou la fonctionnalité équivalente est automatique ou gérée en dehors de la base de données. Pour les utilisateurs, les rôles et le sous-ensemble de privilèges qui ont un équivalent direct dans l’environnement Azure Synapse, les étapes suivantes décrivent le processus de migration :

  1. Migrez les définitions de schéma, de table et de vue Oracle vers l’environnement Azure Synapse. Cette étape migre uniquement les définitions de table, et non les données.

  2. Extrayez les ID utilisateur existants que vous souhaitez migrer à partir des tables système Oracle, générez un script d’instructions CREATE USER pour Azure Synapse, puis exécutez ce script dans l’environnement Azure Synapse. Trouvez un moyen de créer de nouveaux mots de passe initiaux, car les mots de passe ne peuvent pas être extraits de l’environnement Oracle.

  3. Extrayez les rôles existants à partir des tables système Oracle, générez un script d’instructions CREATE ROLE équivalentes pour Azure Synapse, puis exécutez ce script dans l’environnement Azure Synapse.

  4. Extrayez les combinaisons utilisateur/rôle à partir des tables système Oracle, générez un script pour accorder (GRANT) des rôles aux utilisateurs dans Azure Synapse, puis exécutez ce script dans l’environnement Azure Synapse.

  5. Extrayez les informations de privilège pertinentes à partir des tables système Oracle, générez un script pour accorder (GRANT) les privilèges appropriés aux utilisateurs et aux rôles dans Azure Synapse, puis exécutez ce script dans l’environnement Azure Synapse.

Considérations opérationnelles

Cette section explique comment implémenter des tâches opérationnelles Oracle classiques dans Azure Synapse avec un risque et un impact minimaux sur les utilisateurs.

Comme avec tous les produits d’entrepôt de données en production, des tâches de gestion en continu sont nécessaires pour assurer l’exécution efficace du système et fournir des données à des fins de monitoring et d’audit. Les autres considérations opérationnelles incluent l’utilisation des ressources, la planification de la capacité pour la croissance future et la sauvegarde/restauration des données.

Conseil

Les tâches opérationnelles sont nécessaires pour assurer l’efficacité de tout entrepôt de données.

Les tâches d’administration Oracle appartiennent généralement à deux catégories :

  • Administration de système : l’administration de système concerne la gestion du matériel, des paramètres de configuration, de l’état du système, de l’accès, de l’espace disque, de l’utilisation, des mises à niveau et d’autres tâches.

  • Administration de base de données : l’administration de base de données concerne la gestion des bases de données utilisateur et de leur contenu, le chargement des données, la sauvegarde des données, la récupération des données et l’accès aux données et autorisations.

Oracle offre plusieurs méthodes et interfaces que vous pouvez utiliser pour effectuer les tâches de gestion du système et de la base de données :

  • Oracle Enterprise Manager est la plateforme de gestion locale d’Oracle. Elle fournit un volet unique pour la gestion de tous les déploiements Oracle d’un client, que ce soit dans ses centres de données ou dans Oracle Cloud. Grâce à une intégration approfondie à la pile de produits d’Oracle, Oracle Enterprise Manager fournit une prise en charge de la gestion et de l’automatisation pour les applications, bases de données, middlewares (intergiciels), matériels et systèmes conçus Oracle.

  • Oracle Instance Manager fournit une interface utilisateur pour l’administration générale des instances Oracle. Oracle Instance Manager active des tâches telles que le démarrage, l’arrêt et l’affichage des journaux.

  • Oracle Database Configuration Assistant est une interface utilisateur qui permet la gestion et la configuration de différentes fonctionnalités de base de données.

  • Commandes SQL qui prennent en charge les tâches d’administration et les requêtes au sein d’une session de base de données SQL. Vous pouvez exécuter des commandes SQL à partir de l’interpréteur de commandes Oracle SQL*Plus, de l’interface utilisateur d’Oracle SQL Developer, ou par le biais des API SQL telles qu’ODBC, JDBC et OLE DB Provider. Vous devez disposer d’un compte d’utilisateur de base de données pour exécuter des commandes SQL, avec les autorisations appropriées pour les requêtes et les tâches que vous effectuez.

Bien que les tâches de gestion et d’exploitation pour différents entrepôts de données soient similaires d’un point de vue conceptuel, les implémentations individuelles peuvent différer. Les produits cloud modernes tels qu’Azure Synapse ont tendance à incorporer une approche plus automatisée et « gérée par le système », comparée à l’approche plus manuelle dans les environnements hérités comme Oracle.

Les sections suivantes comparent les options Oracle et Azure Synapse pour différentes tâches opérationnelles.

Tâches de nettoyage

Dans la plupart des environnements d’entrepôt de données hérités, les tâches régulières de nettoyage sont fastidieuses. Vous pouvez récupérer de l’espace de stockage disque en supprimant les anciennes versions des lignes mises à jour ou supprimées. Vous pouvez également récupérer de l’espace de stockage disque en réorganisant les données, les fichiers journaux et les blocs d’index pour une meilleure efficacité, par exemple en exécutant ALTER TABLE... SHRINK SPACE dans Oracle.

Conseil

Les tâches de nettoyage permettent à un entrepôt de production de fonctionner efficacement, et d’optimiser le stockage et d’autres ressources.

La collecte des statistiques est une tâche potentiellement fastidieuse, nécessaire après l’ingestion de données en bloc afin de fournir à l’optimiseur de requête des données à jour pour ses plans d’exécution des requêtes.

Oracle dispose d’une fonctionnalité intégrée pour faciliter l’analyse de la qualité des statistiques, nommée Optimizer Statistics Advisor. Elle parcourt une liste de règles Oracle qui représentent les bonnes pratiques en matière de statistiques d’optimiseur. Le conseiller vérifie chaque règle et, le cas échéant, génère des résultats, des recommandations et des actions qui impliquent des appels au package DBMS_STATS pour prendre des mesures correctives. Les utilisateurs peuvent voir la liste des règles dans la vue V$STATS_ADVISOR_RULES, comme illustré dans la capture d’écran suivante.

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

Une base de données Oracle contient de nombreuses tables de journaux dans le dictionnaire de données, qui accumulent des données automatiquement ou après l’activation de certaines fonctionnalités. Étant donné que les données de journal augmentent au fil du temps, videz les informations plus anciennes pour éviter d’utiliser de l’espace permanent. Oracle fournit des options pour automatiser la maintenance des journaux.

Azure Synapse peut créer automatiquement des statistiques afin qu’elles soient disponibles si nécessaire. Vous pouvez défragmenter des index et des blocs de données manuellement, selon une planification, ou automatiquement. En faisant appel aux fonctionnalités Azure intégrées natives, vous réduisez l’effort de migration.

Conseil

Automatisez et surveillez les tâches de nettoyage dans Azure.

Supervision et audit

Oracle Enterprise Manager inclut des outils permettant de superviser différents aspects d’un ou plusieurs systèmes Oracle, tels que l’activité, les performances, la mise en file d’attente et l’utilisation des ressources. Oracle Enterprise Manager dispose d’une interface utilisateur interactive qui permet aux utilisateurs d’explorer les détails de n’importe quel graphique.

Conseil

Oracle Enterprise Manager est la méthode recommandée de monitoring et de journalisation dans les systèmes Oracle.

Le diagramme suivant fournit une vue d’ensemble de l’environnement de monitoring dans un entrepôt de données Oracle.

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

Azure Synapse propose également une expérience de monitoring enrichie dans le portail Azure pour fournir des insights sur la charge de travail de votre entrepôt de données. Le portail Azure est l’outil recommandé pour le monitoring de votre entrepôt de données, car il offre des périodes de rétention configurables, des alertes, des recommendations, ainsi que des graphiques et des tableaux de bord personnalisables pour les métriques et les journaux.

Conseil

Le portail Azure fournit une interface utilisateur pour gérer les tâches de monitoring et d’audit pour l’ensemble des données et processus Azure.

Le portail Azure peut également fournir des recommandations pour l’amélioration des performances, comme illustré dans la capture d’écran suivante.

Screenshot of Azure portal recommendations for performance enhancements.

Le portail prend en charge l’intégration à d’autres services de monitoring Azure, comme OMS (Operations Management Suite) et Azure Monitor, pour fournir une expérience de monitoring intégrée de l’entrepôt de données et de l’ensemble de la plateforme d’analytique Azure. Pour plus d’informations, consultez les options d’opérations et de gestion d’Azure Synapse.

Haute disponibilité (HA) et reprise d’activité (DR)

Depuis sa version initiale en 1979, l’environnement Oracle a évolué de façon à englober de nombreuses fonctionnalités requises par les clients professionnels, notamment des options de haute disponibilité (HA) et de reprise d’activité (DR). La dernière annonce dans ce domaine concerne l’architecture MAA (Maximum Availability Architecture), qui inclut des architectures de référence pour quatre niveaux de haute disponibilité et de reprise d’activité :

  • Niveau Bronze : architecture haute disponibilité à instance unique
  • Niveau Silver : haute disponibilité avec basculement automatique
  • Niveau Gold : haute disponibilité et reprise d’activité complètes
  • Niveau Platinum : zéro panne pour les applications Platinum

Azure Synapse utilise des captures instantanées de base de données pour fournir une haute disponibilité de l’entrepôt de données. Une capture instantanée d’entrepôt de données crée un point de restauration que vous pouvez utiliser pour restaurer un entrepôt de données à un état antérieur. Azure Synapse étant un système distribué, une capture instantanée d’entrepôt de données est constituée de nombreux fichiers stockés dans Stockage Azure. Les captures instantanées capturent les changements incrémentiels apportés aux données stockées dans votre entrepôt de données.

Conseil

Azure Synapse crée automatiquement des captures instantanées pour garantir un temps de récupération rapide.

Azure Synapse prend automatiquement des captures instantanées tout au long de la journée, et crée des points de restauration qui sont disponibles pendant sept jours. Vous ne pouvez pas modifier cette période de rétention. Azure Synapse prend en charge un objectif de point de récupération de huit heures. Vous pouvez restaurer un entrepôt de données dans la région primaire à partir de n’importe quelle capture instantanée prise au cours des sept derniers jours.

Conseil

Les captures instantanées définies par l’utilisateur peuvent être utilisées pour définir un point de récupération avant les mises à jour clés.

Azure Synapse prend en charge les points de restauration définis par l’utilisateur, qui sont créés à partir de captures instantanées déclenchées manuellement. En créant des points de restauration avant et après les modifications importantes de l’entrepôt de données, vous garantissez que les points de restauration sont logiquement cohérents. Les points de restauration définis par l’utilisateur augmentent la protection des données et réduisent le temps de récupération en cas d’interruptions de charge de travail ou d’erreurs utilisateur.

En plus des captures instantanées, Azure Synapse effectue une géosauvegarde standard quotidienne vers un centre de données associé. Le RPO pour une géo-restauration est de 24 heures. Vous pouvez restaurer la géosauvegarde sur un serveur dans n’importe quelle région où Azure Synapse est pris en charge. Une géosauvegarde garantit qu’un entrepôt de données peut être restauré si les points de restauration de la région primaire ne sont pas disponibles.

Conseil

Microsoft Azure fournit des sauvegardes automatiques à un emplacement géographique distinct pour activer la récupération d’urgence.

Gestion des charges de travail

Oracle fournit des utilitaires tels qu’Enterprise Manager et DBRM (Database Resource Manager) pour la gestion des charges de travail. Ces utilitaires incluent des fonctionnalités telles que l’équilibrage de charge entre les grands clusters, l’exécution de requêtes parallèles, la mesure des performances et la hiérarchisation. La plupart de ces fonctionnalités peuvent être automatisées afin que le système atteigne dans une certaine mesure un auto-réglage.

Conseil

Un entrepôt de données de production classique exécute simultanément des charges de travail mixtes avec différentes caractéristiques d’utilisation des ressources.

Azure Synapse journalise automatiquement les statistiques d’utilisation des ressources. Les métriques incluent des statistiques d’utilisation pour le processeur, la mémoire, le cache, les E/S et l’espace de travail temporaire pour chaque requête. Azure Synapse journalise également les informations de connectivité, comme les tentatives de connexion ayant échoué.

Conseil

Les métriques de bas niveau et à l’échelle du système sont automatiquement enregistrées dans Azure.

Dans Azure Synapse, les classes de ressources sont des limites de ressources prédéterminées qui régissent les ressources de calcul et la concurrence lors de l’exécution des requêtes. Les classes de ressources vous aident à gérer votre charge de travail en définissant des limites quant au nombre de requêtes qui s’exécutent simultanément et quant aux ressources de calcul qui leur sont attribuées. Il faut faire un compromis entre la mémoire et la concurrence.

Azure Synapse prend en charge les concepts de gestion des charges de travail de base suivants :

  • Classification des charges de travail : vous pouvez attribuer une requête à un groupe de charges de travail pour définir des niveaux d’importance.

  • Importance de la charge de travail : vous pouvez influencer l’ordre dans lequel une requête accède aux ressources. Par défaut, les requêtes sont libérées de la file d’attente sur la base du premier entré/premier sorti à mesure que les ressources deviennent disponibles. L’importance de la charge de travail permet aux requêtes de priorité plus élevée de recevoir les ressources immédiatement.

  • Isolation des charges de travail : vous pouvez réserver des ressources pour un groupe de charges de travail, affecter une utilisation maximale et minimale pour différentes ressources, limiter les ressources qu’un groupe de requêtes peut consommer et définir une valeur de délai d’expiration pour tuer automatiquement les requêtes avec perte de contrôle.

L’exécution de charges de travail mixtes peut poser des problèmes de ressources sur les systèmes chargés. Un schéma de gestion des charges de travail réussi gère efficacement les ressources, garantit une utilisation hautement efficace des ressources et optimise le retour sur investissement (ROI). La classification de la charge de travail, l’importance de la charge de travail et l’isolation de la charge de travail donnent plus de contrôle sur la façon dont la charge de travail utilise les ressources système.

Vous pouvez utiliser les métriques de charge de travail collectées par Azure Synapse pour la planification de la capacité, par exemple afin de déterminer les ressources requises pour des utilisateurs supplémentaires ou une charge de travail d’application plus élevée. Vous pouvez également utiliser des métriques de charge de travail pour planifier un scale-up/down des ressources de calcul pour une prise en charge économique des charges de travail maximales.

Le guide de gestion des charges de travail décrit les techniques permettant d’analyser la charge de travail, de gérer et de superviser l’importance de la charge de travail](../../sql-data-warehouse/sql-data-warehouse-how-to-manage-and-monitor-workload-importance.md), et les étapes de conversion d’une classe de ressources en groupe de charge de travail. Utilisez le Portail Azure et les requêtes T-SQL sur les DMV pour surveiller la charge de travail pour vous assurer que les ressources applicables sont utilisées efficacement. Azure Synapse fournit un ensemble de vues de gestion dynamique (DMV) pour surveiller tous les aspects de la gestion des charges de travail. Ces vues sont utiles quand vous dépannez et identifiez activement les goulots d’étranglement des performances de votre charge de travail.

Pour plus d’informations sur la gestion des charges de travail dans Azure Synapse, consultez Gestion des charges de travail avec des classes de ressources.

Mettre à l’échelle des ressources de calcul

L’architecture d’Azure Synapse sépare le stockage et le calcul, ce qui permet de les mettre à l’échelle indépendamment l’un de l’autre. En conséquence, les ressources de calcul peuvent être mises à l’échelle pour répondre aux exigences de performance, indépendamment du stockage de données. Vous avez également la possibilité de suspendre ou reprendre des ressources de calcul. Un autre avantage de cette architecture est que la facturation du calcul est effectuée séparément de celle du stockage. Si un entrepôt de données n’est pas utilisé, vous pouvez économiser sur les coûts de calcul en interrompant le calcul.

Conseil

L’un des principaux avantages d’Azure est la possibilité de mettre à l’échelle indépendamment les ressources de calcul à la demande pour gérer les charges de travail maximales de manière rentable.

Vous pouvez effectuer un scale-up ou un scale-down des ressources de calcul en ajustant le paramètre DWU (Data Warehouse Units) d’un entrepôt de données. Les performances de charge et de requête augmentent de façon linéaire à mesure que vous allouez davantage de DWU.

Si vous augmentez les DWU, le nombre de nœuds de calcul augmente, ce qui ajoute de la puissance de calcul et prend en charge davantage de traitement parallèle. À mesure que le nombre de nœuds de calcul augmente, le nombre de distributions par nœud de calcul diminue, ce qui procure davantage de puissance de calcul et de traitement parallèle pour vos requêtes. De même, si vous diminuez les DWU, le nombre de nœuds de calcul diminue, ce qui réduit les ressources de calcul pour les requêtes.

Étapes suivantes

Pour en savoir plus sur la visualisation et la création de rapports, consultez l’article suivant de cette série : Visualisation et création de rapports pour les migrations Oracle.