Compatibilidad con servidores enlazados con Oracle OLEDB en Amazon RDS para SQL Server - Amazon Relational Database Service

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.

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 muestra pending_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:

  1. Cree un nuevo grupo de opciones o elija un grupo de opciones ya existente.

  2. Añada la opción OLEDB_ORACLE al grupo de opciones.

  3. Elija una versión del controlador OLEDB que desee utilizar.

  4. Asocie el grupo de opciones a la instancia de base de datos.

  5. 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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija Create group.

  4. En la ventana Create option group (Crear grupo de opciones), haga lo siguiente:

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

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

    3. Para Engine (Motor), elija sqlserver-se.

    4. En Major engine version (Versión principal del motor), elija 15.00.

  5. 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-name sqlserver-se \ --major-engine-version 15.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-name sqlserver-se ^ --major-engine-version 15.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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija el grupo de opciones que acaba de crear, oracle-oledb-se-2019 en este ejemplo.

  4. Elija Add option (Agregar opción).

  5. En Option details (Detalles de la opción), elija OLEDB_ORACLE para Option name (Nombre de la opción).

  6. En Scheduling (Programación), elija si desea agregar la opción inmediatamente o en el siguiente período de mantenimiento.

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

    En 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:

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

    En 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
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-name oracle-oledb-se-2019 \ --db-parameter-group-name my-parameter-group-name \ --apply-immediately

    En 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

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

Dynamic parameter

1

Permite los marcadores de posición de SQL (representados por “?”) en consultas parametrizadas.

Nested queries

1

Permite sentencias SELECT anidadas en la cláusula FROM, como las subconsultas.

Level zero only

0

Solo las interfaces OLEDB de nivel base se invocan contra el proveedor.

Allow inprocess

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.

Non transacted updates

0

Si no es cero, SQL Server permite las actualizaciones.

Index as access path

False

Si no es cero, SQL Server intenta usar los índices del proveedor para obtener datos.

Disallow adhoc access

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.

Supports LIKE operator

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
  1. Inicie sesión en la AWS Management Console y abra la consola de Amazon RDS en https://console.aws.amazon.com/rds/.

  2. En el panel de navegación, elija Option groups (Grupos de opciones).

  3. Elija el grupo de opciones con la opción OLEDB_ORACLE (oracle-oledb-se-2019 en los ejemplos anteriores).

  4. Elija Delete option (Eliminar opción).

  5. En Deletion options (Eliminar opciones), elija OLEDB_ORACLE para Options to delete (Opciones para eliminar).

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

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

    En Windows:

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