Supporto per server collegati con Oracle OLEDB in Amazon RDS per SQL Server - Amazon Relational Database Service

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

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.

Versioni e regioni supportate

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

Limitazioni e consigli

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.

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

  • È 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. È supportata solo la versione più recente del driver OLEDB.

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

  • La creazione di nomi di origine dei dati (DSN) da utilizzare come scelta rapida 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 (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

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.

  2. Aggiungere l'opzione OLEDB_ORACLE al gruppo di opzioni.

  3. Scegli la versione del driver OLEDB da usare.

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

  5. Riavvia l'istanza database.

Creazione del gruppo di opzioni per OLEDB_ORACLE

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, utilizza la AWS Management Console o AWS CLI.

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

Per creare il gruppo di opzioni
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

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

  3. Seleziona Create group (Crea gruppo).

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

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

    2. Per Descrizione, immettere una breve descrizione del gruppo di opzioni, ad esempio OLEDB_ORACLE option group for SQL Server SE 2019. La descrizione viene usata per la visualizzazione.

    3. Per Engine (Motore), scegliere sqlserver-se.

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

  5. Scegli Crea.

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.

    Per LinuxmacOS, oUnix:

    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

Utilizzare la AWS Management Console o l'AWS CLI per aggiungere l'opzione OLEDB_ORACLE al gruppo di opzioni.

Per aggiungere l'opzione OLEDB_ORACLE
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

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

  3. Scegliete il gruppo di opzioni che avete appena creato, che in questo esempio è oracle-oledb-se-2019.

  4. Scegliere Add option (Aggiungi opzione).

  5. In Option details (Dettagli opzione), scegli OLEDB_ORACLE per Option name (Nome opzione).

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

  7. Scegliere Add option (Aggiungi opzione).

Per aggiungere l'opzione OLEDB_ORACLE
  • Aggiungere l'opzione OLEDB_ORACLE al gruppo di opzioni.

    Per LinuxmacOS, oUnix:

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

    Per Windows:

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

Associazione del gruppo di opzioni all'istanza database

Per associare il gruppo di opzioni OLEDB_ORACLE e il gruppo di parametri all'istanza database, utilizza la AWS Management Console o AWS CLI

Per completare l'attivazione dei server collegati per Oracle, associa il gruppo di opzioni OLEDB_ORACLE a un'istanza database nuova o esistente:

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.

    Per LinuxmacOS, oUnix:

    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.

    Per LinuxmacOS, oUnix:

    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

È 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) Descrizione

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

È 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

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.

La procedura seguente rimuove l'opzione OLEDB_ORACLE.

Per rimuovere l'opzione OLEDB_ORACLE dal suo gruppo di opzioni
  1. Accedi alla AWS Management Console e apri la console Amazon RDS all'indirizzo https://console.aws.amazon.com/rds/.

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

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

  4. Scegliere Delete option (Elimina opzione).

  5. In Deletion options (Opzioni di eliminazione), scegli OLEDB_ORACLE per Options to delete (Opzioni da eliminare).

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

  7. Scegli Elimina.

La procedura seguente rimuove l'opzione OLEDB_ORACLE.

Per rimuovere l'opzione OLEDB_ORACLE dal suo gruppo di opzioni
  • Eseguire uno dei seguenti comandi.

    Per LinuxmacOS, oUnix:

    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