Cómo crear una publicación a partir de una base de datos de Oracle (programación de la replicación con Transact-SQL)

Una vez configurada como publicador la base de datos Oracle, puede crear una publicación transaccional o de instantáneas del mismo modo en que lo haría desde un publicador de Microsoft SQL Server, utilizando los procedimientos almacenados del sistema.

Para crear una publicación Oracle

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

  2. Si no existe ningún distribuidor remoto, configúrelo. Para obtener más información, vea Cómo configurar la publicación y la distribución (programación de la replicación con Transact-SQL).

  3. En el distribuidor remoto que utilizará el publicador de Oracle, ejecute sp_adddistpublisher (Transact-SQL). Especifique el nombre TNS (Transparent Network Substrate, Sustrato de red transparente) de la instancia de base de datos Oracle para @publisher y el valor ORACLE u ORACLE GATEWAY para @publisher_type. Especifique el modo de seguridad que utilizó al conectarse desde el publicador de Oracle al distribuidor remoto de SQL Server, que ha de ser uno de los siguientes:

    • Para utilizar autenticación estándar de Oracle, el valor predeterminado, especifique el valor 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 para @loginy la contraseña para @password.

      Nota de seguridadNota de seguridad

      Cuando sea posible, pida a los usuarios que proporcionen 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 utilizar autenticación de Windows, especifique el valor 1 para @security_mode.

      Nota

      Para usar autenticación de Windows, el servidor de Oracle debe estar configurado para admitir conexiones con credenciales de Windows (para obtener más información, vea la documentación de Oracle) y deberá haber iniciado una sesión con la misma cuenta de Microsoft Windows que especificó para el esquema de usuario administrativo de replicación.

  4. Cree un trabajo de Agente de registro del LOG para la base de datos de publicación.

    • Si no está seguro de si existe un trabajo de Agente de registro del LOG para una base de datos publicada, ejecute sp_helplogreader_agent (Transact-SQL) en el distribuidor utilizado 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, es necesario crear un trabajo de Agente de registro del LOG.

    • Si ya existe un trabajo de Agente de registro del LOG para la base de datos de publicación, continúe en el paso 5.

    • En la base de datos de distribución del distribuidor utilizado por el publicador de Oracle, ejecute sp_addlogreader_agent (Transact-SQL). Especifique las credenciales de Windows con 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 editor. El Agente de registro del LOG se conecta al publicador utilizando la información de seguridad proporcionada en el paso 3.

  5. En la base de datos de distribución del distribuidor, ejecute sp_addpublication (Transact-SQL) para crear la publicación. Para obtener más información, vea Cómo crear una publicación (programación de la replicación con Transact-SQL).

  6. En la base de datos de distribución del distribuidor, ejecute sp_addpublication_snapshot (Transact-SQL). Especifique el nombre de publicación usado en el paso 4 para @publication y las credenciales de Windows con las que se ejecuta el Agente de instantáneas para @job_name y @password. Para utilizar la autenticación estándar de Oracle al conectarse al publicador, también debe especificar el valor 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.