Compatibilidad con servidores enlazados con Oracle OLEDB en Amazon RDS para SQL Server
Los servidores enlazados con Oracle Provider for OLEDB en RDS para SQL Server le permiten acceder a orígenes de datos externos en una base de datos de Oracle. Puede leer datos de orígenes de datos remotos de Oracle y ejecutar comandos en servidores de bases de datos de Oracle remotos fuera de su instancia de base de datos de RDS para SQL Server. Al usar servidores enlazados con Oracle OLEDB puede:
-
Acceder directamente a orígenes de datos distintas de SQL Server
-
Realizar consultas en diversos orígenes de datos de Oracle con la misma consulta sin mover los datos
-
Emitir consultas, actualizaciones, comandos y transacciones distribuidas en orígenes de datos en un ecosistema empresarial
-
Integrar las conexiones a una base de datos de Oracle desde la suite de Microsoft Business Intelligence (SSIS, SSRS, SSAS)
-
Migrar desde una base de datos de Oracle a RDS para SQL Server
Puede activar uno o más servidores enlazados para Oracle en una instancia de base de datos de RDS para SQL Server existente o nueva. A continuación, puede integrar orígenes de datos de Oracle externas con su instancia de base de datos.
Contenido
Versiones y regiones compatibles
RDS para SQL Server admite servidores vinculados con Oracle OLEDB en todas las regiones para las ediciones Standard y Enterprise de SQL Server en las siguientes versiones:
-
SQL Server 2022, todas las versiones
-
SQL Server 2019, todas las versiones
-
SQL Server 2017, todas las versiones
Los servidores vinculados con Oracle OLEDB son compatibles con las siguientes versiones de Oracle Database:
-
Oracle Database 21c, todas las versiones
-
Oracle Database 19c, todas las versiones
-
Oracle Database 18c, todas las versiones
Limitaciones y recomendaciones
Tenga en cuenta las siguientes limitaciones y recomendaciones que se aplican a los servidores enlazados con Oracle OLEDB:
-
Permita el tráfico de red añadiendo el puerto TCP correspondiente en el grupo de seguridad para cada instancia de base de datos de RDS para SQL Server. Por ejemplo, si está configurando un servidor vinculado entre una instancia de base de datos de Oracle de EC2 y una instancia de base de datos de RDS para SQL Server, debe permitir el tráfico desde la dirección IP de la instancia de base de datos de Oracle de EC2. También debe permitir el tráfico en el puerto que utiliza SQL Server para escuchar la comunicación de la base de datos. Para obtener más información acerca de los grupos de seguridad, consulte Control de acceso con grupos de seguridad.
-
Reinicie la instancia de base de datos de RDS para SQL Server después de activar, desactivar o modificar la opción
OLEDB_ORACLE
del grupo de opciones. El estado del grupo de opciones muestrapending_reboot
para estos eventos y es obligatorio. -
Solo se admite la autenticación simple con un nombre de usuario y una contraseña para el origen de datos de Oracle.
-
No se admiten los controladores de Open Database Connectivity (ODBC). Solo se admite la versión más reciente del controlador OLEDB.
-
Se admiten transacciones distribuidas (XA). Para activar las transacciones distribuidas, active la opción
MSDTC
del grupo de opciones de su instancia de base de datos y asegúrese de que las transacciones XA estén activadas. Para obtener más información, consulte Compatibilidad con el Coordinador de transacciones distribuidas de Microsoft en RDS for SQL Server. -
No se admite la creación de nombres de orígenes de datos (DSN, por sus siglas en inglés) para usarlos como atajos para una cadena de conexión.
-
No se admite el rastreo del controlador OLEDB. Puede utilizar eventos extendidos de SQL Server para rastrear eventos de OLEDB. Para obtener más información, consulte Set up Extended Events in RDS for SQL Server
(Configuración de eventos extendidos en RDS para SQL Server). -
SQL Server Management Studio (SSMS) no admite el acceso a la carpeta de catálogos para un servidor vinculado a Oracle.
Activación de servidores enlazados con Oracle
Active los servidores enlazados con Oracle al agregar la opción OLEDB_ORACLE
a la instancia de instancia de base de RDS para SQL Server. Utilice el siguiente proceso:
-
Cree un nuevo grupo de opciones o elija un grupo de opciones ya existente.
-
Añada la opción
OLEDB_ORACLE
al grupo de opciones. -
Elija una versión del controlador OLEDB que desee utilizar.
-
Asocie el grupo de opciones a la instancia de base de datos.
-
Reinicie la instancia de base de datos.
Creación del grupo de opciones para OLEDB_ORACLE
Para trabajar con servidores enlazados con Oracle, cree un grupo de opciones o modifique un grupo de opciones que corresponda a la edición y versión de SQL Server de la instancia de base de datos que planea utilizar. Para completar este procedimiento, utilice la AWS Management Console o la AWS CLI.
El siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2019.
Para crear el grupo de opciones
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Option groups (Grupos de opciones).
-
Elija Create group.
-
En la ventana Create option group (Crear grupo de opciones), haga lo siguiente:
-
En Nombre, escriba un nombre para el grupo de opciones que sea exclusivo dentro de su cuenta de AWS, como
oracle-oledb-se-2019
. El nombre solo puede contener letras, dígitos y guiones. -
En Descripción, escriba una breve descripción del grupo de opciones, como
OLEDB_ORACLE option group for SQL Server SE 2019
. La descripción se utiliza para fines de visualización. -
Para Engine (Motor), elija sqlserver-se.
-
En Major engine version (Versión principal del motor), elija 15.00.
-
-
Elija Create (Crear).
El siguiente procedimiento crea un grupo de opciones para SQL Server Standard Edition 2019.
Para crear el grupo de opciones
-
Ejecute uno de los siguientes comandos.
Para Linux, macOS o:Unix
aws rds create-option-group \ --option-group-name
oracle-oledb-se-2019
\ --engine-namesqlserver-se
\ --major-engine-version15.00
\ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019
"En:Windows
aws rds create-option-group ^ --option-group-name
oracle-oledb-se-2019
^ --engine-namesqlserver-se
^ --major-engine-version15.00
^ --option-group-description "OLEDB_ORACLE option group for SQL Server SE 2019
"
Agregar la opción OLEDB_ORACLE
al grupo de opciones
A continuación, utilice la AWS Management Console o la AWS CLI para agregar la opción OLEDB_ORACLE
al grupo de opciones.
Para añadir la opción OLEDB_ORACLE
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Option groups (Grupos de opciones).
-
Elija el grupo de opciones que acaba de crear, oracle-oledb-se-2019 en este ejemplo.
-
Elija Add option (Agregar opción).
-
En Option details (Detalles de la opción), elija OLEDB_ORACLE para Option name (Nombre de la opción).
-
En Scheduling (Programación), elija si desea agregar la opción inmediatamente o en el siguiente período de mantenimiento.
-
Elija Add option (Agregar opción).
Para añadir la opción OLEDB_ORACLE
-
Agregue la opción
OLEDB_ORACLE
al grupo de opciones.Para Linux, macOS o:Unix
aws rds add-option-to-option-group \ --option-group-name
oracle-oledb-se-2019
\ --options OptionName=OLEDB_ORACLE \ --apply-immediatelyEn:Windows
aws rds add-option-to-option-group ^ --option-group-name
oracle-oledb-se-2019
^ --options OptionName=OLEDB_ORACLE ^ --apply-immediately
Asociación del grupo de opciones a su instancia de base de datos
Para asociar el grupo de opciones OLEDB_ORACLE
y el grupo de parámetros con su instancia de base de datos, utilice la AWS Management Console o la AWS CLI
Para terminar de activar los servidores enlazados para Oracle, asocie su grupo de opciones OLEDB_ORACLE
a una instancia de base de datos nueva o existente:
-
Para una nueva instancia de base de datos, asóciela cuando inicie la instancia. Para obtener más información, consulte Creación de una instancia de base de datos de Amazon RDS.
-
Para una instancia de base de datos existente, asóciela modificando la instancia. Para obtener más información, consulte Modificación de una instancia de base de datos de Amazon RDS.
Puede asociar el grupo de opciones OLEDB_ORACLE
y el grupo de parámetros con una instancia de base de datos nueva o existente.
Para crear una instancia con el grupo de opciones OLEDB_ORACLE
y el grupo de parámetros
-
Especifique el mismo tipo de motor de base de datos y la misma versión principal que ha utilizado al crear el grupo de opciones.
Para Linux, macOS o:Unix
aws rds create-db-instance \ --db-instance-identifier
mytestsqlserveroracleoledbinstance
\ --db-instance-classdb.m5.2xlarge
\ --enginesqlserver-se
\ --engine-version15.0.4236.7.v1
\ --allocated-storage100
\ --manage-master-user-password \ --master-usernameadmin
\ --storage-typegp2
\ --license-modelli
\ --domain-iam-role-namemy-directory-iam-role
\ --domainmy-domain-id
\ --option-group-nameoracle-oledb-se-2019
\ --db-parameter-group-namemy-parameter-group-name
En:Windows
aws rds create-db-instance ^ --db-instance-identifier
mytestsqlserveroracleoledbinstance
^ --db-instance-classdb.m5.2xlarge
^ --enginesqlserver-se
^ --engine-version15.0.4236.7.v1
^ --allocated-storage100
^ --manage-master-user-password ^ --master-usernameadmin
^ --storage-typegp2
^ --license-modelli
^ --domain-iam-role-namemy-directory-iam-role
^ --domainmy-domain-id
^ --option-group-nameoracle-oledb-se-2019
^ --db-parameter-group-namemy-parameter-group-name
Para modificar una instancia y asociar el grupo de opciones OLEDB_ORACLE
-
Ejecute uno de los siguientes comandos.
Para Linux, macOS o:Unix
aws rds modify-db-instance \ --db-instance-identifier
mytestsqlserveroracleoledbinstance
\ --option-group-nameoracle-oledb-se-2019
\ --db-parameter-group-namemy-parameter-group-name
\ --apply-immediatelyEn:Windows
aws rds modify-db-instance ^ --db-instance-identifier
mytestsqlserveroracleoledbinstance
^ --option-group-nameoracle-oledb-se-2019
^ --db-parameter-group-namemy-parameter-group-name
^ --apply-immediately
Modificación de las propiedades del proveedor de OLEDB
Puede ver y cambiar las propiedades del proveedor de OLEDB. Solo el usuario master
puede realizar esta tarea. Todos los servidores enlazados de Oracle que se crean en la instancia de base de datos utilizan las mismas propiedades de ese proveedor de OLEDB. Ejecute el procedimiento almacenado sp_MSset_oledb_prop
para cambiar las propiedades del proveedor de OLEDB.
Para cambiar las propiedades del proveedor de 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
Se pueden modificar las siguientes propiedades:
Nombre de la propiedad | Valor recomendado (1 = activado, 0 = desactivado) | Descripción |
---|---|---|
|
1 |
Permite los marcadores de posición de SQL (representados por “?”) en consultas parametrizadas. |
|
1 |
Permite sentencias |
|
0 |
Solo las interfaces OLEDB de nivel base se invocan contra el proveedor. |
|
1 |
Si está activado, Microsoft SQL Server permite crear instancias del proveedor como un servidor en proceso. Defina esta propiedad en 1 para usar servidores enlazados de Oracle. |
|
0 |
Si no es cero, SQL Server permite las actualizaciones. |
|
False |
Si no es cero, SQL Server intenta usar los índices del proveedor para obtener datos. |
|
False |
Si está configurado, SQL Server no permite ejecutar consultas de transferencia con el proveedor de OLEDB. Si bien se puede marcar esta opción, a veces es adecuado ejecutar consultas de transferencia. |
|
1 |
Indica que el proveedor admite consultas con la palabra clave LIKE. |
Modificación de las propiedades del controlador OLEDB
Puede ver y cambiar las propiedades del controlador OLEDB al crear un servidor vinculado para Oracle. Solo el usuario master
puede realizar esta tarea. Las propiedades del controlador definen la forma en que el controlador OLEDB gestiona los datos cuando trabaja con un origen de datos remoto de Oracle. Las propiedades del controlador son específicas de cada servidor vinculado de Oracle creado en la instancia de base de datos. Ejecute el procedimiento almacenado master.dbo.sp_addlinkedserver
para cambiar las propiedades del controlador OLEDB.
Ejemplo: Para crear un servidor vinculado y cambiar la propiedad FetchSize
del controlador 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
Especifique una contraseña distinta de la que se muestra aquí como práctica recomendada de seguridad.
Activación de servidores enlazados con Oracle
Para desactivar los servidores enlazados con Oracle, quite la opción OLEDB_ORACLE
de su grupo de opciones.
importante
La eliminación de la opción no elimina las configuraciones de servidor enlazado a la instancia de la base de datos. Debe eliminarlos manualmente para eliminarlos de la instancia de base de datos.
Puede volver a activar la opción OLEDB_ORACLE
después de eliminarla para volver a utilizar las configuraciones del servidor enlazado que se configuraron previamente en la instancia de base de datos.
El procedimiento siguiente quita la opción OLEDB_ORACLE
.
Para quitar la opción OLEDB_ORACLE de su grupo de opciones
Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/
. -
En el panel de navegación, elija Option groups (Grupos de opciones).
-
Elija el grupo de opciones con la opción
OLEDB_ORACLE
(oracle-oledb-se-2019
en los ejemplos anteriores). -
Elija Delete option (Eliminar opción).
-
En Deletion options (Eliminar opciones), elija OLEDB_ORACLE para Options to delete (Opciones para eliminar).
-
En Apply immediately (Aplicar inmediatamente), seleccione Yes (Sí) para eliminar la opción inmediatamente o No para eliminarla en el siguiente período de mantenimiento.
-
Elija Delete (Eliminar).
El procedimiento siguiente quita la opción OLEDB_ORACLE
.
Para quitar la opción OLEDB_ORACLE de su grupo de opciones
-
Ejecute uno de los siguientes comandos.
Para Linux, macOS o:Unix
aws rds remove-option-from-option-group \ --option-group-name
oracle-oledb-se-2019
\ --options OLEDB_ORACLE \ --apply-immediatelyEn:Windows
aws rds remove-option-from-option-group ^ --option-group-name
oracle-oledb-se-2019
^ --options OLEDB_ORACLE ^ --apply-immediately