

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Supporto per server collegati con Oracle OLEDB in Amazon RDS per SQL Server
<a name="Appendix.SQLServer.Options.LinkedServers_Oracle_OLEDB"></a>

I server collegati con Oracle Provider for OLEDB su RDS per SQL Server consentono di accedere alle origini dei dati esterne in un database Oracle. È possibile leggere dati da origini dei dati Oracle remote ed eseguire comandi su server di database Oracle remoti all'esterno dell'istanza database RDS per SQL Server. Utilizzando i server collegati con Oracle OLEDB, è possibile:
+ Accedere direttamente a origini dei dati diverse da SQL Server
+ Eseguire query su origini dei dati Oracle diverse con la stessa query senza spostare i dati
+ Eseguire query, aggiornamenti, comandi e transazioni distribuiti sulle origini dei dati in un ecosistema aziendale
+ Integrare le connessioni a un database Oracle dall'interno della suite Microsoft Business Intelligence (SSIS, SSRS, SSAS)
+ Eseguire la migrazione da un database Oracle a RDS per SQL Server

È possibile attivare uno o più server collegati per Oracle su un'istanza database RDS per SQL Server nuova o esistente. Quindi puoi integrare le origini dei dati Oracle esterne nella tua istanza database.

**Contents**
+ [Versioni e regioni supportate](#LinkedServers_Oracle_OLEDB.VersionRegionSupport)
+ [Limitazioni e consigli](#LinkedServers_Oracle_OLEDB.Limitations)
+ [Attivazione di server collegati con Oracle](#LinkedServers_Oracle_OLEDB.Enabling)
  + [Creazione del gruppo di opzioni per OLEDB\$1ORACLE](#LinkedServers_Oracle_OLEDB.OptionGroup)
  + [Aggiunta dell'opzione `OLEDB_ORACLE` al gruppo di opzioni](#LinkedServers_Oracle_OLEDB.Add)
  + [Modifica dell’opzione della versione `OLEDB_ORACLE` con un’altra versione](#LinkedServers_Oracle_OLEDB.Modify)
  + [Associazione del gruppo di opzioni all'istanza database](#LinkedServers_Oracle_OLEDB.Apply)
+ [Modifica delle proprietà del provider OLEDB](#LinkedServers_Oracle_OLEDB.ModifyProviderProperties)
+ [Modifica delle proprietà del driver OLEDB](#LinkedServers_Oracle_OLEDB.ModifyDriverProperties)
+ [Disattivazione dei server collegati con Oracle](#LinkedServers_Oracle_OLEDB.Disable)

## Versioni e regioni supportate
<a name="LinkedServers_Oracle_OLEDB.VersionRegionSupport"></a>

RDS per SQL Server supporta i server collegati con Oracle OLEDB in tutte le regioni per SQL Server Standard ed Enterprise Edition nelle seguenti versioni:
+ SQL Server 2022, tutte le versioni
+ SQL Server 2019, tutte le versioni
+ SQL Server 2017, tutte le versioni

I server collegati con Oracle OLEDB sono supportati per le seguenti versioni di Oracle Database:
+ Oracle Database 21c, tutte le versioni
+ Oracle Database 19c, tutte le versioni
+ Oracle Database 18c, tutte le versioni

I server collegati con Oracle OLEDB sono supportati per le seguenti versioni del driver di Oracle OLEDB:
+ 21,7
+ 21,16

## Limitazioni e consigli
<a name="LinkedServers_Oracle_OLEDB.Limitations"></a>

Tieni presente le seguenti limitazioni e raccomandazioni che si applicano ai server collegati con Oracle OLEDB:
+ Consenti il traffico di rete aggiungendo la porta TCP applicabile nel gruppo di sicurezza per ogni istanza database RDS per SQL Server. Ad esempio, se stai configurando un server collegato tra un'istanza database Oracle EC2 e un'istanza database RDS per SQL Server, devi consentire il traffico dall'indirizzo IP dell'istanza database Oracle EC2. È inoltre necessario consentire il traffico sulla porta utilizzata da SQL Server per ascoltare le comunicazioni con il database. Per ulteriori informazioni sui gruppi di sicurezza, consulta [Controllo dell'accesso con i gruppi di sicurezza](Overview.RDSSecurityGroups.md).
+ Esegui un riavvio dell'istanza database RDS per SQL Server dopo aver attivato, disattivato o modificato l'opzione `OLEDB_ORACLE` nel tuo gruppo di opzioni. Lo stato del gruppo di opzioni è `pending_reboot` per questi eventi ed è obbligatorio. Per le istanze RDS per SQL Server Multi-AZ con l'opzione Mirroring abilitata, è previsto un failover al riavvio dell'istanza dopo la creazione AlwaysOn o il ripristino della nuova istanza.
+ È supportata solo l'autenticazione semplice con un nome utente e una password per l'origine dei dati Oracle.
+ I driver Open Database Connectivity (ODBC) non sono supportati. Sono supportate solo le versioni del driver OLEDB elencate sopra.
+ Le transazioni distribuite (XA) sono supportate. Per attivare le transazioni distribuite, attiva l'opzione `MSDTC` nel gruppo di opzioni per la tua istanza database e assicurati che le transazioni XA siano attivate. Per ulteriori informazioni, consulta [Supporto per Microsoft Distributed Transaction Coordinator in RDS per SQL Server](Appendix.SQLServer.Options.MSDTC.md).
+ La creazione di nomi di origini dati (DSNs) da utilizzare come scorciatoia per una stringa di connessione non è supportata.
+ Il tracciamento dei driver OLEDB non è supportato. È possibile utilizzare gli eventi estesi SQL Server per tracciare gli eventi OLEDB. Per ulteriori informazioni, consulta [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/) (Impostazione degli eventi estesi in RDS per SQL Server).
+ L'accesso alla cartella dei cataloghi per un server collegato Oracle non è supportato con SQL Server Management Studio (SSMS).

## Attivazione di server collegati con Oracle
<a name="LinkedServers_Oracle_OLEDB.Enabling"></a>

Attiva i server collegati con Oracle aggiungendo l' opzione `OLEDB_ORACLE` all'istanza database RDS per SQL Server. Utilizzare il seguente processo:

1. Creare un nuovo gruppo di opzioni oppure utilizzare un gruppo di opzioni esistente.

1. Aggiungere l'opzione `OLEDB_ORACLE` al gruppo di opzioni.

1. Scegli la versione del driver OLEDB da usare.

1. Associare il gruppo di opzioni a questa istanza database.

1. Riavvia l'istanza database.

### Creazione del gruppo di opzioni per OLEDB\$1ORACLE
<a name="LinkedServers_Oracle_OLEDB.OptionGroup"></a>

Per utilizzare i server collegati con Oracle, crea un gruppo di opzioni o modifica un gruppo di opzioni che corrisponda all'edizione di SQL Server e alla versione dell'istanza database che vuoi utilizzare. Per completare questa procedura, utilizzare Console di gestione AWS o il AWS CLI.

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

La seguente procedura crea un gruppo di opzioni per SQL Server Standard Edition 2019.

**Per creare il gruppo di opzioni**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegliere **Option groups (Gruppi di opzioni)**.

1. Seleziona **Create group** (Crea gruppo).

1. Nella finestra **Create option group (Crea gruppo di opzioni)** eseguire queste operazioni:

   1. Per **Nome**, inserisci un nome per il gruppo di opzioni che sia unico all'interno del tuo AWS account, ad esempio**oracle-oledb-se-2019**. Il nome può includere solo lettere, cifre e trattini.

   1. Per **Descrizione**, immettere una breve descrizione del gruppo di opzioni, ad esempio **OLEDB\$1ORACLE option group for SQL Server SE 2019**. La descrizione viene usata per la visualizzazione.

   1. Per **Engine (Motore)**, scegliere **sqlserver-se**.

   1. Per **Major engine version** (Versione del motore principale), scegli **15.00**.

1. Scegli **Create** (Crea).

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

La seguente procedura crea un gruppo di opzioni per SQL Server Standard Edition 2019.

**Per creare il gruppo di opzioni**
+ Eseguire uno dei seguenti comandi.  
**Example**  

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

  Per 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"
  ```

### Aggiunta dell'opzione `OLEDB_ORACLE` al gruppo di opzioni
<a name="LinkedServers_Oracle_OLEDB.Add"></a>

Quindi, usa Console di gestione AWS o AWS CLI per aggiungere l'`OLEDB_ORACLE`opzione al tuo gruppo di opzioni.

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

**Per aggiungere l'opzione OLEDB\$1ORACLE**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegliere **Option groups (Gruppi di opzioni)**.

1. Scegli il gruppo di opzioni che hai appena creato, che in questo **oracle-oledb-seesempio è -2019**.

1. Scegliere **Add option (Aggiungi opzione)**.

1. In **Option details** (Dettagli opzione), scegli **OLEDB\$1ORACLE** per **Option name** (Nome opzione).

1. In **Versione**, scegli la versione del driver Oracle OLEDB che desideri installare.

1. In **Scheduling (Pianificazione)**, scegliere se aggiungere l'opzione immediatamente o alla finestra di manutenzione successiva.

1. Scegliere **Add option (Aggiungi opzione)**.

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

**Per aggiungere l'opzione OLEDB\$1ORACLE**
+ Aggiungere l'opzione `OLEDB_ORACLE` al gruppo di opzioni.  
**Example**  

  Per Linux, macOS o Unix:

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

  Per Windows:

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

### Modifica dell’opzione della versione `OLEDB_ORACLE` con un’altra versione
<a name="LinkedServers_Oracle_OLEDB.Modify"></a>

Per modificare la versione dell'`OLEDB_ORACLE`opzione in un'altra versione, usa il Console di gestione AWS o il AWS CLI.

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

**Per modificare l’opzione OLEDB\$1ORACLE**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegliere **Option groups (Gruppi di opzioni)**.

1. Scegli il gruppo di opzioni con l'`OLEDB_ORACLE`opzione (**oracle-oledb-se-2019** nell'esempio precedente).

1. Scegli **Modify option** (Modifica l'opzione).

1. In **Option details** (Dettagli opzione), scegli **OLEDB\$1ORACLE** per **Option name** (Nome opzione).

1. In **Versione** scegli la versione del driver Oracle OLEDB da utilizzare.

1. In **Pianificazione**, scegli se aggiungere l’opzione immediatamente o alla finestra di manutenzione successiva.

1. Scegli **Modify option** (Modifica l'opzione).

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

Per modificare la versione dell’opzione `OLEDB_ORACLE`, utilizza il comando AWS CLI [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) con il gruppo di opzioni e l’opzione da modificare.

**Per modificare l’opzione OLEDB\$1ORACLE**
+   
**Example**  

  Per Linux, macOS o Unix:

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

  Per Windows:

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

### Associazione del gruppo di opzioni all'istanza database
<a name="LinkedServers_Oracle_OLEDB.Apply"></a>

Per associare il gruppo di `OLEDB_ORACLE` opzioni e il gruppo di parametri alla tua istanza DB, usa il Console di gestione AWS o il AWS CLI 

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

Per completare l'attivazione dei server collegati per Oracle, associa il gruppo di opzioni `OLEDB_ORACLE` a un'istanza database nuova o esistente:
+ Per una nuova istanza database, associarli all'avvio dell'istanza. Per ulteriori informazioni, consulta [Creazione di un'istanza database Amazon RDS](USER_CreateDBInstance.md).
+ Per un'istanza database esistente, associarli modificando l'istanza. Per ulteriori informazioni, consulta [Modifica di un'istanza database Amazon RDS](Overview.DBInstance.Modifying.md).

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

Puoi associare il gruppo di opzioni `OLEDB_ORACLE` e il gruppo di parametri a un'istanza database nuova o esistente.

**Per creare un'istanza con il gruppo di opzioni `OLEDB_ORACLE` e il gruppo di parametri**
+ Specificare lo stesso tipo di motore database e la versione principale utilizzata durante la creazione del gruppo di opzioni.  
**Example**  

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

  Per 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
  ```

**Per modificare un'istanza e associare il gruppo di opzioni `OLEDB_ORACLE`**
+ Eseguire uno dei seguenti comandi.  
**Example**  

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

  Per 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
  ```

## Modifica delle proprietà del provider OLEDB
<a name="LinkedServers_Oracle_OLEDB.ModifyProviderProperties"></a>

È possibile visualizzare e modificare le proprietà del provider OLEDB. Solo l'utente `master` può eseguire questa attività. Tutti i server collegati per Oracle creati sull'istanza database utilizzano le stesse proprietà del provider OLEDB. Chiama la stored procedure `sp_MSset_oledb_prop` per modificare le proprietà del provider OLEDB.

Per modificare le proprietà del provider 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
```

È possibile modificare le seguenti proprietà:


****  

| Nome proprietà | Valore consigliato (1 = attivato, 0 = disattivato) | Description | 
| --- | --- | --- | 
| `Dynamic parameter` | 1 | Consente segnaposti SQL (rappresentati da "?") nelle query parametrizzate. | 
| `Nested queries` | 1 | Consente istruzioni annidate `SELECT` nella clausola `FROM`, ad esempio le query secondarie. | 
| `Level zero only` | 0 | Solo le interfacce OLEDB di livello base vengono chiamate sul provider. | 
| `Allow inprocess` | 1 | Se attivato, Microsoft SQL Server consente di creare l'istanza del provider come server in esecuzione. Imposta questa proprietà su 1 per utilizzare i server collegati Oracle. | 
| `Non transacted updates` | 0 | Se diverso da zero, SQL Server consente gli aggiornamenti. | 
| `Index as access path` | False | Se diverso da zero, SQL Server tenta di utilizzare gli indici del provider per recuperare i dati. | 
| `Disallow adhoc access` | False | Se impostato, SQL Server non consente l'esecuzione di query pass-through sul provider OLEDB. Sebbene questa opzione possa essere selezionata, a volte è opportuno eseguire query pass-through. | 
| `Supports LIKE operator` | 1 | Indica che il provider supporta le query utilizzando la parola chiave LIKE. | 

## Modifica delle proprietà del driver OLEDB
<a name="LinkedServers_Oracle_OLEDB.ModifyDriverProperties"></a>

È possibile visualizzare e modificare le proprietà del driver OLEDB per la creazione di un server collegato per Oracle. Solo l'utente `master` può eseguire questa attività. Le proprietà del driver definiscono il modo in cui il driver OLEDB gestisce i dati quando utilizza un'origine dei dati Oracle remota. Le proprietà del driver sono specifiche per ogni server collegato Oracle creato nell'istanza database. Chiama la stored procedure `master.dbo.sp_addlinkedserver` per modificare le proprietà del driver OLEDB.

Esempio: per creare un server collegato e modificare la proprietà `FetchSize` del driver 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
```

**Nota**  
Specifica una password diversa dal prompt mostrato qui come best practice per la sicurezza.

## Disattivazione dei server collegati con Oracle
<a name="LinkedServers_Oracle_OLEDB.Disable"></a>

Per disattivare i server collegati con Oracle, rimuovi l'opzione `OLEDB_ORACLE` dal gruppo di opzioni.

**Importante**  
La rimozione dell'opzione non elimina le configurazioni del server collegato esistente nell'istanza database. È necessario eliminarle manualmente per rimuoverle dall'istanza database.  
È possibile riattivare l'opzione `OLEDB_ORACLE` dopo la rimozione per riutilizzare le configurazioni del server collegato precedentemente presenti nell'istanza database.

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

La procedura seguente rimuove l'opzione `OLEDB_ORACLE`.

**Per rimuovere l'opzione OLEDB\$1ORACLE dal suo gruppo di opzioni**

1. Accedi a Console di gestione AWS e apri la console Amazon RDS all'indirizzo [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Nel pannello di navigazione scegliere **Option groups (Gruppi di opzioni)**.

1. Scegliere il gruppo di opzioni con l'opzione `OLEDB_ORACLE` (`oracle-oledb-se-2019` negli esempi precedenti).

1. Scegliere **Delete option (Elimina opzione)**.

1. In **Deletion options** (Opzioni di eliminazione), scegli **OLEDB\$1ORACLE** per **Options to delete** (Opzioni da eliminare).

1. In **Apply immediately** (Applica immediatamente), scegli **Yes** (Sì) per eliminare immediatamente l'opzione oppure **No** per eliminarla nella finestra di manutenzione successiva.

1. Scegli **Elimina**.

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

La procedura seguente rimuove l'opzione `OLEDB_ORACLE`.

**Per rimuovere l'opzione OLEDB\$1ORACLE dal suo gruppo di opzioni**
+ Eseguire uno dei seguenti comandi.  
**Example**  

  Per Linux, macOS o Unix:

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

  Per Windows:

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