Prise en charge des serveurs liés avec Oracle OLEDB dans Amazon RDS for SQL Server - Amazon Relational Database Service

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Prise en charge des serveurs liés avec Oracle OLEDB dans Amazon RDS for SQL Server

Les serveurs liés au fournisseur Oracle pour OLEDB sur RDS for SQL Server vous permettent d'accéder à des sources de données externes sur une base de données Oracle. Vous pouvez lire des données provenant de sources de données Oracle distantes et exécuter des commandes sur des serveurs de base de données Oracle distants en dehors de votre instance de base de données RDS for SQL Server. Grâce aux serveurs liés avec Oracle OLEDB, vous pouvez :

  • Accéder directement à des sources de données autres que SQL Server

  • Exécuter des requêtes sur diverses sources de données Oracle à l'aide de la même requête sans déplacer les données

  • Émettre des requêtes, des mises à jour, des commandes et des transactions distribuées sur des sources de données au sein d'un écosystème d'entreprise

  • Intégrer des connexions à une base de données Oracle depuis la suite Microsoft Business Intelligence (SSIS, SSRS, SSAS)

  • Migrer d'une base de données Oracle vers RDS for SQL Server

Vous pouvez activer un ou plusieurs serveurs liés pour Oracle sur une instance de base de données RDS for SQL Server existante ou nouvelle. Vous pouvez ensuite intégrer des sources de données Oracle externes à votre instance de base de données.

Versions et régions prises en charge

RDS for SQL Server prend en charge les serveurs liés avec Oracle OLEDB dans toutes les régions pour SQL Server éditions Standard et Enterprise sur les versions suivantes :

  • SQL Server 2022, toutes les versions

  • SQL Server 2019, toutes les versions

  • SQL Server 2017, toutes les versions

Les serveurs liés avec Oracle OLEDB sont pris en charge pour les versions Oracle Database suivantes :

  • Oracle Database 21c, toutes les versions

  • Oracle Database 19c, toutes les versions

  • Oracle Database 18c, toutes les versions

Limitations et recommandations

Gardez à l'esprit les limites et recommandations suivantes, qui s'appliquent aux serveurs liés avec Oracle OLEDB :

  • Autorisez le trafic réseau en ajoutant le port TCP applicable dans le groupe de sécurité pour chaque instance de base de données RDS for SQL Server. Par exemple, si vous configurez un serveur lié entre une instance de base de données EC2 Oracle et une instance de base de données RDS for SQL Server, vous devez autoriser le trafic provenant de l'adresse IP de l'instance de base de données EC2 Oracle. Vous devez également autoriser le trafic sur le port utilisé par SQL Server pour écouter les communications de base de données. Pour plus d'informations sur les groupes de sécurité, consultez Contrôle d'accès par groupe de sécurité.

  • Redémarrez l'instance de base de données RDS for SQL Server après avoir activé, désactivé ou modifié l'option OLEDB_ORACLE dans votre groupe d'options. Le statut du groupe d'options affiche pending_reboot pour ces événements et est obligatoire.

  • Seule une authentification simple est prise en charge avec un nom d'utilisateur et un mot de passe pour la source de données Oracle.

  • Les pilotes Open Database Connectivity (ODBC) ne sont pas pris en charge. Seule la dernière version du pilote OLEDB est prise en charge.

  • Les transactions distribuées (XA) sont prises en charge. Pour activer les transactions distribuées, activez l'option MSDTC dans le groupe d'options pour votre instance de base de données et veillez à ce que les transactions XA soient activées. Pour plus d'informations, consultez Prise en charge de Microsoft Distributed Transaction Coordinator dans RDS for SQL Server.

  • La création de noms de sources de données (DSN) à utiliser comme raccourci pour une chaîne de connexion n'est pas prise en charge.

  • Le suivi des pilotes OLEDB n'est pas pris en charge. Vous pouvez utiliser les événements étendus SQL Server pour suivre les événements OLEDB. Pour plus d'informations, consultez Set up Extended Events in RDS for SQL Server (Configuration d'événements étendus dans RDS for SQL Server).

  • L'accès au dossier des catalogues d'un serveur lié Oracle n'est pas pris en charge avec SQL Server Management Studio (SSMS).

Activation de serveurs liés avec Oracle

Activez les serveurs liés avec Oracle en ajoutant l'option OLEDB_ORACLE à votre instance de base de données RDS for SQL Server. Utilisez la procédure suivante :

  1. Créez un groupe d'options ou choisissez un groupe d'options existant.

  2. Ajoutez l'option OLEDB_ORACLE au groupe d'options.

  3. Choisissez une version du pilote OLEDB à utiliser.

  4. Associez le groupe d'options à l'instance de base de données.

  5. Redémarrez l'instance de la base de données.

Création du groupe d'options pour OLEDB_ORACLE

Pour utiliser des serveurs liés avec Oracle, créez ou modifiez un groupe d'options correspondant à l'édition et à la version de SQL Server de l'instance de base de données que vous prévoyez d'utiliser. Pour terminer cette procédure, utilisez la AWS Management Console ou AWS CLI.

La procédure suivante crée un groupe d'options pour SQL Server Standard Edition 2019.

Pour créer le groupe d'options
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez Create group.

  4. Dans la fenêtre Créer un groupe d'options, procédez comme suit :

    1. Pour Nom, attribuez au groupe d'options un nom unique au sein de votre compte AWS, par exemple oracle-oledb-se-2019. Le nom ne peut contenir que des lettres, des chiffres et des tirets.

    2. Pour Description, saisissez une brève description du groupe d'options, par exemple OLEDB_ORACLE option group for SQL Server SE 2019. La description est utilisée à des fins d'affichage.

    3. Pour Moteur, choisissez sqlserver-se.

    4. Pour Major engine version (Version majeure du moteur), choisissez 15.00.

  5. Choisissez Créer.

La procédure suivante crée un groupe d'options pour SQL Server Standard Edition 2019.

Pour créer le groupe d'options
  • Exécutez une des commandes suivantes :

    Pour LinuxmacOS, ou Unix :

    aws rds create-option-group \ --option-group-name oracle-oledb-se-2019 \ --engine-name sqlserver-se \ --major-engine-version 15.00 \ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"

    Dans Windows :

    aws rds create-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --engine-name sqlserver-se ^ --major-engine-version 15.00 ^ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019"

Ajout de l'option OLEDB_ORACLE au groupe d'options

Ensuite, utilisez la AWS Management Console ou l'AWS CLI pour ajouter l'option OLEDB_ORACLE à votre groupe d'options.

Pour ajouter l'option OLEDB_ORACLE
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez le groupe d'options que vous venez de créer, à savoir oracle-oledb-se-2019 dans cet exemple.

  4. Sélectionnez Ajouter une option.

  5. Sous Option details (Détails de l'option), choisissez OLEDB_ORACLE pour Option name (Nom de l'option).

  6. Sous Scheduling (Planification), choisissez si vous souhaitez ajouter l'option immédiatement ou lors du créneau de maintenance suivant.

  7. Sélectionnez Ajouter une option.

Pour ajouter l'option OLEDB_ORACLE
  • Ajoutez l'option OLEDB_ORACLE au groupe d'options.

    Pour LinuxmacOS, ou Unix :

    aws rds add-option-to-option-group \ --option-group-name oracle-oledb-se-2019 \ --options OptionName=OLEDB_ORACLE \ --apply-immediately

    Dans Windows :

    aws rds add-option-to-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --options OptionName=OLEDB_ORACLE ^ --apply-immediately

Association du groupe d'options à votre instance de base de données

Pour associer le groupe d'options OLEDB_ORACLE et le groupe de paramètres à votre instance de base de données, utilisez la AWS Management Console ou AWS CLI

Pour terminer l'activation de serveurs liés pour Oracle, associez votre groupe d'options OLEDB_ORACLE à une instance de base de données nouvelle ou existante :

Vous pouvez associer le groupe d'options et le groupe de paramètres OLEDB_ORACLE à une instance de base de données nouvelle ou existante.

Pour créer une instance avec le groupe d'options et le groupe de paramètres OLEDB_ORACLE
  • Spécifiez le type de moteur de base de données et la version majeure utilisés lors de la création du groupe d'options.

    Pour LinuxmacOS, ou Unix :

    aws rds create-db-instance \ --db-instance-identifier mytestsqlserveroracleoledbinstance \ --db-instance-class db.m5.2xlarge \ --engine sqlserver-se \ --engine-version 15.0.4236.7.v1 \ --allocated-storage 100 \ --manage-master-user-password \ --master-username admin \ --storage-type gp2 \ --license-model li \ --domain-iam-role-name my-directory-iam-role \ --domain my-domain-id \ --option-group-name oracle-oledb-se-2019 \ --db-parameter-group-name my-parameter-group-name

    Dans Windows :

    aws rds create-db-instance ^ --db-instance-identifier mytestsqlserveroracleoledbinstance ^ --db-instance-class db.m5.2xlarge ^ --engine sqlserver-se ^ --engine-version 15.0.4236.7.v1 ^ --allocated-storage 100 ^ --manage-master-user-password ^ --master-username admin ^ --storage-type gp2 ^ --license-model li ^ --domain-iam-role-name my-directory-iam-role ^ --domain my-domain-id ^ --option-group-name oracle-oledb-se-2019 ^ --db-parameter-group-name my-parameter-group-name
Pour modifier une instance et lui associer le groupe d'options OLEDB_ORACLE
  • Exécutez une des commandes suivantes :

    Pour LinuxmacOS, ou Unix :

    aws rds modify-db-instance \ --db-instance-identifier mytestsqlserveroracleoledbinstance \ --option-group-name oracle-oledb-se-2019 \ --db-parameter-group-name my-parameter-group-name \ --apply-immediately

    Dans Windows :

    aws rds modify-db-instance ^ --db-instance-identifier mytestsqlserveroracleoledbinstance ^ --option-group-name oracle-oledb-se-2019 ^ --db-parameter-group-name my-parameter-group-name ^ --apply-immediately

Modification des propriétés du fournisseur OLEDB

Vous pouvez afficher et modifier les propriétés du fournisseur OLEDB. Seul l'utilisateur master peut effectuer cette tâche. Tous les serveurs liés pour Oracle qui sont créés sur l'instance de base de données utilisent les mêmes propriétés de ce fournisseur OLEDB. Appelez la procédure stockée sp_MSset_oledb_prop pour modifier les propriétés du fournisseur OLEDB.

Pour modifier les propriétés du fournisseur OLEDB

USE [master] GO EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'AllowInProcess', 1 EXEC sp_MSset_oledb_prop N'OraOLEDB.Oracle', N'DynamicParameters', 0 GO

Les propriétés suivantes peuvent être modifiées :

Nom de la propriété Valeur recommandée (1 = Activé, 0 = Désactivé) Description

Dynamic parameter

1

Autorise les espaces réservés SQL (représentés par « ? ») dans des requêtes paramétrées.

Nested queries

1

Autorise les instructions SELECT imbriquées dans la clause FROM, telles que des sous-requêtes.

Level zero only

0

Seules des interfaces OLEDB de niveau de base sont appelées par rapport au fournisseur.

Allow inprocess

1

Si cette option est activée, Microsoft SQL Server permet d'instancier le fournisseur en tant que serveur en cours de processus. Définissez cette propriété sur 1 pour utiliser des serveurs liés Oracle.

Non transacted updates

0

Si la valeur est différente de zéro, SQL Server autorise les mises à jour.

Index as access path

False

Si la valeur est différente de zéro, SQL Server tente d'utiliser les index du fournisseur pour récupérer des données.

Disallow adhoc access

False

Si cette option est définie, SQL Server n'autorise pas l'exécution de requêtes directes sur le fournisseur OLEDB. Cette option peut être cochée, mais il est parfois approprié d'exécuter des requêtes directes.

Supports LIKE operator

1

Indique que le fournisseur prend en charge les requêtes utilisant le mot clé LIKE.

Modification des propriétés du pilote OLEDB

Vous pouvez afficher et modifier les propriétés du pilote OLEDB lors de la création d'un serveur lié pour Oracle. Seul l'utilisateur master peut effectuer cette tâche. Les propriétés du pilote définissent la manière dont le pilote OLEDB gère les données lorsqu'il travaille avec une source de données Oracle distante. Les propriétés du pilote sont spécifiques à chaque serveur lié Oracle créé sur l'instance de base de données. Appelez la procédure stockée master.dbo.sp_addlinkedserver pour modifier les propriétés du pilote OLEDB.

Exemple : pour créer un serveur lié et modifier la propriété FetchSize du pilote OLEDB

EXEC master.dbo.sp_addlinkedserver @server = N'Oracle_link2', @srvproduct=N'Oracle', @provider=N'OraOLEDB.Oracle', @datasrc=N'my-oracle-test.cnetsipka.us-west-2.rds.amazonaws.com:1521/ORCL, @provstr='FetchSize=200' GO
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Oracle_link2', @useself=N'False', @locallogin=NULL, @rmtuser=N'master', @rmtpassword='Test#1234' GO
Note

Spécifiez un mot de passe autre que celui indiqué ici, en tant que bonne pratique de sécurité.

Désactivation de serveurs liés avec Oracle

Pour désactiver des serveurs liés avec Oracle, supprimez l'option OLEDB_ORACLE de son groupe d'options.

Important

La suppression de cette option ne supprime pas les configurations de serveur lié existantes sur l'instance de base de données. Vous devez les supprimer manuellement pour les supprimer de l'instance de base de données.

Vous pouvez réactiver l'option OLEDB_ORACLE après la suppression pour réutiliser les configurations de serveurs liés qui étaient précédemment configurées sur l'instance de base de données.

La procédure suivante supprime l'option OLEDB_ORACLE.

Pour supprimer l'option OLEDB_ORACLE de son groupe d'options
  1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le panneau de navigation, choisissez Groupes d'options.

  3. Choisissez le groupe d'options avec l'option OLEDB_ORACLE (oracle-oledb-se-2019 dans les exemples précédents).

  4. Choisissez Supprimer une option.

  5. Sous Deletion options (Options de suppression), choisissez OLEDB_ORACLE pour Options to delete (Options à supprimer).

  6. Sous Apply immediately (Appliquer immédiatement), choisissez Yes (Oui) pour supprimer l'option immédiatement, ou No (Non) pour la supprimer lors du prochain créneau de maintenance.

  7. Sélectionnez Delete (Supprimer).

La procédure suivante supprime l'option OLEDB_ORACLE.

Pour supprimer l'option OLEDB_ORACLE de son groupe d'options
  • Exécutez une des commandes suivantes :

    Pour LinuxmacOS, ou Unix :

    aws rds remove-option-from-option-group \ --option-group-name oracle-oledb-se-2019 \ --options OLEDB_ORACLE \ --apply-immediately

    Dans Windows :

    aws rds remove-option-from-option-group ^ --option-group-name oracle-oledb-se-2019 ^ --options OLEDB_ORACLE ^ --apply-immediately