Compartir a través de


Creación de una publicación a partir de una base de datos de Oracle

En este tema se describe cómo crear una publicación a partir de una base de datos de Oracle en SQL Server 2014 mediante SQL Server Management Studio o Transact-SQL.

En este tema

Antes de empezar

Prerrequisitos

  • Antes de crear una publicación, debe instalar software de Oracle en el distribuidor de Microsoft SQL Server y debe configurar la base de datos de Oracle. Para obtener más información, consulte Configuración de un publicador de Oracle.

Uso de SQL Server Management Studio

Cree una instantánea o una publicación transaccional desde una base de datos Oracle utilizando el Asistente para Nueva Publicación.

La primera vez que cree una publicación a partir de una base de datos de Oracle, debe identificar el publicador de Oracle en el distribuidor de SQL Server (no es necesario hacerlo para publicaciones posteriores de la misma base de datos). La identificación del publicador de Oracle se puede realizar desde el Asistente para nueva publicación o el cuadro de diálogo Propiedades del distribuidor : <distribuidor> ; en este tema se muestra el cuadro de diálogo Propiedades del distribuidor : <distribuidor> .

Para identificar el publicador de Oracle en el distribuidor de SQL Server

  1. En SQL Server Management Studio, conéctese a la instancia de SQL Server que el publicador de Oracle usará como distribuidor y, a continuación, expanda el nodo de servidor.

  2. Haga clic con el botón derecho en la carpeta Replicación y, a continuación, haga clic en Propiedades del distribuidor.

  3. En la página Editores del cuadro de diálogo Propiedades del distribuidor - <Distribuidor>, haga clic en Agregar, y a continuación, haga clic en Agregar editor de Oracle.

  4. En el cuadro de diálogo Conectar al servidor , haga clic en el botón Opciones .

  5. En la pestaña Inicio de sesión :

    1. Escriba el nombre de la instancia de base de datos de Oracle o seleccione Examinar para obtener más en el cuadro combinado Instancia de servidor.

    2. Seleccione Autenticación estándar de Oracle (recomendado) o Autenticación de Windows.

      Si selecciona Autenticación de Windows: el servidor oracle debe configurarse para permitir conexiones mediante credenciales de Windows (para obtener más información, consulte la documentación de Oracle); y debe iniciar sesión actualmente con la misma cuenta de Microsoft Windows que especificó para el esquema de usuario administrativo de replicación.

    3. Si selecciona Autenticación estándar de Oracle, escriba el inicio de sesión y la contraseña del esquema de usuario administrativo de replicación que creó en el publicador de Oracle durante la configuración.

  6. En la pestaña Propiedades de conexión , seleccione un tipo de publicador de Puerta de enlace o Completar.

    La opción Completar está diseñada para proporcionar publicaciones transaccionales y de instantáneas con el conjunto completo de características admitidas para la publicación de Oracle. La opción Puerta de enlace proporciona optimizaciones de diseño específicas para mejorar el rendimiento en los casos en los que la replicación actúa como puerta de enlace entre sistemas. La opción Puerta de enlace no se puede usar si tiene previsto publicar la misma tabla en varias publicaciones transaccionales. Una tabla puede aparecer en no más de una publicación transaccional y en cualquier número de publicaciones de instantáneas si selecciona Puerta de enlace.

  7. Haga clic en Conectar, que crea una conexión al publicador de Oracle y la configura para la replicación. El cuadro de diálogo Conectar al servidor se cierra y se le devuelve al cuadro de diálogo Propiedades del distribuidor : <distribuidor> .

    Nota:

    Si hay algún problema con la configuración de red, recibirá un error en este momento. Si tiene problemas para conectarse a la base de datos de Oracle, consulte la sección "El distribuidor de SQL Server no se puede conectar a la instancia de base de datos de Oracle" en Solución de problemas de publicadores de Oracle.

  8. Haz clic en Aceptar.

Para crear una publicación a partir de una base de datos de Oracle

  1. Conéctese a la instancia de SQL Server que el publicador de Oracle usará como distribuidor y, a continuación, expanda el nodo de servidor.

  2. Expanda la carpeta Replicación .

  3. Haga clic con el botón derecho en la carpeta Publicaciones locales y, a continuación, haga clic en Nueva publicación de Oracle.

  4. En la página Publicador de Oracle del Asistente para nueva publicación, seleccione el publicador de Oracle. Si no se muestra el publicador de Oracle, haga clic en Agregar publicador de Oracle, que le llevará a través de los pasos del procedimiento anterior.

  5. En la página Tipo de publicación, seleccione Publicación de instantáneas o Publicación transaccional.

  6. En la página Artículos , seleccione los objetos de base de datos que desea publicar.

    De manera opcional, filtre las columnas de la tabla al expandir la tabla y desmarcando las casillas correspondientes de una o varias columnas. Haga clic en Propiedades del artículo para ver y modificar las propiedades del artículo y especificar asignaciones de tipos de datos alternativos si es necesario. Para obtener más información sobre las asignaciones de tipos de datos, vea Especificar asignaciones de tipos de datos para un publicador de Oracle.

  7. En la página Filtrar filas de tabla , puede aplicar filtros para publicar un subconjunto de datos de una o varias tablas.

  8. En la página Agente de instantáneas, desactive Crear una instantánea inmediatamente solo si ha creado todos los objetos y ha agregado todos los datos necesarios en la base de datos de suscripción.

  9. En la página Seguridad del agente, especifique las credenciales del Agente de instantáneas (para todas las publicaciones) y del Agente de Lectura de Registro (para las publicaciones transaccionales). Los agentes ejecutan y realizan conexiones al distribuidor de SQL Server mediante el contexto de la cuenta de Microsoft Windows que especifique. Los agentes realizan conexiones a la base de datos de Oracle mediante el contexto de la cuenta que especificó como esquema de usuario administrativo de replicación. Para obtener más información, consulte Configuración de un publicador de Oracle.

    Para obtener más información sobre los permisos necesarios para cada agente, consulte Replication Agent Security Model and Replication Security Best Practices.

  10. En la página Acciones del asistente, puede opcionalmente escribir un script para la publicación. Para más información, consulte Scripting de replicación.

  11. En la página Completar el Asistente , especifique un nombre para la publicación.

Uso de Transact-SQL

Una vez configurada la base de datos de Oracle como publicador, puede crear una publicación transaccional o de instantánea de la misma manera que lo haría desde un publicador de Microsoft SQL Server mediante procedimientos almacenados del sistema.

Para crear una publicación de Oracle

  1. Configure la base de datos de Oracle como publicador. Para obtener más información, consulte Configuración de un publicador de Oracle.

  2. Si no existe un distribuidor remoto, configure el distribuidor remoto. Para obtener más información, vea Configurar publicación y distribución.

  3. En el distribuidor remoto que usará el publicador de Oracle, ejecute sp_adddistpublisher (Transact-SQL). Especifique el nombre del sustrato de red transparente (TNS) de la instancia de base de datos de Oracle para @publisher y un valor de ORACLE o ORACLE GATEWAY para @publisher_type. Specify el modo de seguridad que se usa cuando se conecta desde el publicador de Oracle al distribuidor remoto de SQL Server como uno de los siguientes:

    • Para usar la autenticación estándar de Oracle, el valor predeterminado, especifique un valor de 0 para @security_mode, el inicio de sesión del esquema de usuario administrativo de replicación que creó en el publicador de Oracle durante la configuración de @login y la contraseña de @password.

      Importante

      Cuando sea posible, pida a los usuarios que escriban credenciales de seguridad en tiempo de ejecución. Si almacena credenciales en un archivo de script, debe proteger el archivo para evitar el acceso no autorizado.

    • Para usar la autenticación de Windows, especifique un valor de 1 para @security_mode.

      Nota:

      Para usar la autenticación de Windows, el servidor de Oracle debe configurarse para permitir conexiones mediante credenciales de Windows (para obtener más información, consulte la documentación de Oracle); y debe iniciar sesión actualmente con la misma cuenta de Microsoft Windows que especificó para el esquema de usuario administrativo de replicación.

  4. Cree un trabajo del agente de Log Reader para la base de datos de publicación.

    • Si no está seguro de si existe un trabajo del agente lector de registros para una base de datos publicada, ejecute sp_helplogreader_agent (Transact-SQL) en el distribuidor usado por el publicador de Oracle en la base de datos de distribución. Especifique el nombre del publicador de Oracle para @publisher. Si el conjunto de resultados está vacío, se debe crear un trabajo del agente lector de registros.

    • Si ya existe un trabajo del Agente de lectura del registro para la base de datos de publicación, vaya al paso 5.

    • En el distribuidor usado por el publicador de Oracle en la base de datos de distribución, ejecute sp_addlogreader_agent (Transact-SQL). Especifique las credenciales de Windows en las que se ejecuta el agente para @job_login y @job_password.

      Nota:

      El parámetro @job_login debe coincidir con el inicio de sesión proporcionado en el paso 3. No proporcione información de seguridad del publicador. El agente del Log Reader se conecta al publicador mediante la información de seguridad proporcionada en el paso 3.

  5. En el distribuidor de la base de datos de distribución, ejecute sp_addpublication (Transact-SQL) para crear la publicación. Para obtener más información, vea Crear una publicación.

  6. En el Distribuidor en la base de datos de distribución, ejecute sp_addpublication_snapshot (Transact-SQL). Especifique el nombre de publicación usado en el paso 4 para @publication y las credenciales de Windows en las que se ejecuta el Agente de instantáneas para @job_name y @password. Para usar la autenticación estándar de Oracle al conectarse al publicador, también debe especificar un valor de 0 para @publisher_security_mode y la información de inicio de sesión de Oracle para @publisher_login y @publisher_password. Esto crea un trabajo de agente de instantáneas para la publicación.

Véase también

Configuración de un publicador de Oracle
Publicar datos y objetos de base de datos
Configurar el trabajo del conjunto de transacciones para un publicador de Oracle (programación de la replicación con Transact-SQL)
Información general sobre la publicación de Oracle
Script para conceder permisos a Oracle