

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
<a name="Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB"></a>

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.

**Contents**
+ [Versions et régions prises en charge](#LinkedServers_Oracle_OLEDB.VersionRegionSupport)
+ [Limitations et recommandations](#LinkedServers_Oracle_OLEDB.Limitations)
+ [Activation de serveurs liés avec Oracle](#LinkedServers_Oracle_OLEDB.Enabling)
  + [Création du groupe d'options pour OLEDB\$1ORACLE](#LinkedServers_Oracle_OLEDB.OptionGroup)
  + [Ajout de l’option `OLEDB_ORACLE` au groupe d’options](#LinkedServers_Oracle_OLEDB.Add)
  + [Modification de l’option de version `OLEDB_ORACLE` vers une autre version](#LinkedServers_Oracle_OLEDB.Modify)
  + [Association du groupe d’options à votre instance de base de données](#LinkedServers_Oracle_OLEDB.Apply)
+ [Modification des propriétés du fournisseur OLEDB](#LinkedServers_Oracle_OLEDB.ModifyProviderProperties)
+ [Modification des propriétés du pilote OLEDB](#LinkedServers_Oracle_OLEDB.ModifyDriverProperties)
+ [Désactivation de serveurs liés avec Oracle](#LinkedServers_Oracle_OLEDB.Disable)

## Versions et régions prises en charge
<a name="LinkedServers_Oracle_OLEDB.VersionRegionSupport"></a>

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

Les serveurs liés avec Oracle OLEDB sont pris en charge pour les versions du pilote OLEDB Oracle suivantes :
+ 21,7
+ 21,16

## Limitations et recommandations
<a name="LinkedServers_Oracle_OLEDB.Limitations"></a>

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é](Overview.RDSSecurityGroups.md).
+ 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. Pour les instances RDS for SQL Server Multi-AZ dont l'option de mise en miroir est activée AlwaysOn ou dont l'option de mise en miroir est activée, un basculement est attendu lorsque l'instance est redémarrée après la création ou la restauration de la nouvelle instance.
+ 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. Seules les versions du pilote OLEDB répertoriées ci-dessus sont prises 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 de plus amples informations, veuillez consulter [Prise en charge de Microsoft Distributed Transaction Coordinator dans RDS for SQL Server](Appendix.SQLServer.Options.MSDTC.md).
+ La création de noms de sources de données (DSNs) à 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](https://aws.amazon.com/blogs/database/set-up-extended-events-in-amazon-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
<a name="LinkedServers_Oracle_OLEDB.Enabling"></a>

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.

1. Ajoutez l'option `OLEDB_ORACLE` au groupe d'options.

1. Choisissez une version du pilote OLEDB à utiliser.

1. Associez le groupe d’options à l’instance de base de données.

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

### Création du groupe d'options pour OLEDB\$1ORACLE
<a name="LinkedServers_Oracle_OLEDB.OptionGroup"></a>

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 le AWS Management Console ou le AWS CLI.

#### Console
<a name="LinkedServers_Oracle_OLEDB.OptionGroup.Console"></a>

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 console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

1. Choisissez **Create group**.

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

   1. Dans **Nom**, entrez un nom unique au sein de votre AWS compte pour le groupe d'options, tel que**oracle-oledb-se-2019**. Le nom ne peut contenir que des lettres, des chiffres et des tirets.

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

   1. Pour **Moteur**, choisissez **sqlserver-se**.

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

1. Choisissez **Créer**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="LinkedServers_Oracle_OLEDB.OptionGroup.CLI"></a>

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 :  
**Example**  

  Pour Linux, macOS 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"
  ```

  Pour 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
<a name="LinkedServers_Oracle_OLEDB.Add"></a>

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

#### Console
<a name="LinkedServers_Oracle_OLEDB.Add.Console"></a>

**Pour ajouter l'option OLEDB\$1ORACLE**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

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

1. Sélectionnez **Ajouter une option**.

1. Sous **Option details** (Détails de l'option), choisissez **OLEDB\$1ORACLE** pour **Option name** (Nom de l'option).

1. Sous **Version**, choisissez la version du pilote Oracle OLEDB que vous souhaitez installer.

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

1. Sélectionnez **Ajouter une option**.

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="LinkedServers_Oracle_OLEDB.Add.CLI"></a>

**Pour ajouter l'option OLEDB\$1ORACLE**
+ Ajoutez l’option `OLEDB_ORACLE` au groupe d’options.  
**Example**  

  Pour Linux, macOS ou Unix :

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

  Pour Windows :

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

### Modification de l’option de version `OLEDB_ORACLE` vers une autre version
<a name="LinkedServers_Oracle_OLEDB.Modify"></a>

Pour modifier la version de l'`OLEDB_ORACLE`option vers une autre version, utilisez le AWS Management Console ou le AWS CLI.

#### Console
<a name="LinkedServers_Oracle_OLEDB.Modify.Console"></a>

**Pour modifier l’option OLEDB\$1ORACLE**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

1. Choisissez le groupe d'options avec l'`OLEDB_ORACLE`option (**oracle-oledb-se-2019** dans l'exemple précédent).

1. Choisissez **Modify option** (Modifier l'option).

1. Sous **Option details** (Détails de l'option), choisissez **OLEDB\$1ORACLE** pour **Option name** (Nom de l'option).

1. Sous **Version**, choisissez la version du pilote OLEDB Oracle que vous souhaitez installer.

1. Sous **Planification**, choisissez si vous souhaitez modifier l’option immédiatement ou lors de la fenêtre de maintenance suivante.

1. Choisissez **Modify option** (Modifier l'option).

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="LinkedServers_Oracle_OLEDB.Add.CLI"></a>

Pour modifier la version d’option `OLEDB_ORACLE`, utilisez la commande [https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html](https://docs.aws.amazon.com/cli/latest/reference/rds/add-option-to-option-group.html)AWS CLI avec le groupe d’options et l’option de version que vous voulez utiliser.

**Pour modifier l’option OLEDB\$1ORACLE**
+   
**Example**  

  Pour Linux, macOS ou Unix :

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

  Pour Windows :

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

### Association du groupe d’options à votre instance de base de données
<a name="LinkedServers_Oracle_OLEDB.Apply"></a>

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

#### Console
<a name="LinkedServers_Oracle_OLEDB.Apply.Console"></a>

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 :
+ Pour une nouvelle instance de base de données, associez-les lorsque vous lancez l'instance. Pour plus d’informations, consultez [Création d'une instance de base de données Amazon RDS](USER_CreateDBInstance.md).
+ Pour une instance de base de données existante, associez-les en modifiant l'instance. Pour plus d’informations, consultez [Modification d'une instance de base de données Amazon RDS](Overview.DBInstance.Modifying.md).

#### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="LinkedServers_Oracle_OLEDB.Apply.CLI"></a>

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.  
**Example**  

  Pour Linux, macOS 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
  ```

  Pour 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 :  
**Example**  

  Pour Linux, macOS 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
  ```

  Pour 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
<a name="LinkedServers_Oracle_OLEDB.ModifyProviderProperties"></a>

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
<a name="LinkedServers_Oracle_OLEDB.ModifyDriverProperties"></a>

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
<a name="LinkedServers_Oracle_OLEDB.Disable"></a>

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.

### Console
<a name="LinkedServers_Oracle_OLEDB.Disable.Console"></a>

La procédure suivante supprime l'option `OLEDB_ORACLE`.

**Pour supprimer l'option OLEDB\$1ORACLE de son groupe d'options**

1. Connectez-vous à la console Amazon RDS AWS Management Console et ouvrez-la à [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/)l'adresse.

1. Dans le panneau de navigation, choisissez **Groupes d’options**.

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

1. Choisissez **Supprimer une option**.

1. Sous **Deletion options** (Options de suppression), choisissez **OLEDB\$1ORACLE** pour **Options to delete** (Options à supprimer).

1. 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.

1. Sélectionnez **Delete (Supprimer)**.

### INTERFACE DE LIGNE DE COMMANDE (CLI)
<a name="LinkedServers_Oracle_OLEDB.Disable.CLI"></a>

La procédure suivante supprime l'option `OLEDB_ORACLE`.

**Pour supprimer l'option OLEDB\$1ORACLE de son groupe d'options**
+ Exécutez une des commandes suivantes :  
**Example**  

  Pour Linux, macOS ou Unix :

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

  Pour Windows :

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