Compartilhar via


Criar uma publicação de um banco de dados Oracle

Este tópico descreve como criar uma publicação de um banco de dados Oracle no SQL Server 2014 usando o SQL Server Management Studio ou o Transact-SQL.

Nesse Tópico

Antes de começar

Pré-requisitos

  • Antes de criar uma publicação, você deve instalar o software Oracle no Distribuidor do Microsoft SQL Server e configurar o banco de dados Oracle. Para obter mais informações, consulte Configurar um Publicador Oracle.

Como usar o SQL Server Management Studio.

Crie um instantâneo ou publicação transacional de um Banco de Dados Oracle com o Assistente de Nova Publicação.

Na primeira vez que criar uma publicação de um banco de dados Oracle, você deve identificar o Publicador Oracle no Distribuidor do SQL Server (não é necessário fazer isso para publicações subsequentes do mesmo banco de dados). A identificação do Publicador Oracle pode ser realizada no Assistente de Nova Publicação ou na caixa de diálogo Propriedades do Distribuidor – <Distribuidor> ; este tópico mostra a caixa de diálogo Propriedades do Distribuidor – <Distribuidor> .

Para identificar o Publicador Oracle no Distribuidor do SQL Server

  1. No SQL Server Management Studio, conecte-se à instância do SQL Server que o Publicador Oracle usará como Distribuidor e expanda a árvore do servidor.

  2. Clique com o botão direito do mouse na pasta Replicação e clique em Propriedades do Distribuidor.

  3. Na página Publishers da caixa de diálogo Propriedades do Distribuidor – <Distribuidor> , clique em Adicionar e, em seguida, clique em Adicionar Publicador Oracle.

  4. Na caixa de diálogo Conectar ao Servidor , clique no botão Opções .

  5. Na guia Login :

    1. Insira o nome da instância do banco de dados Oracle ou selecione Procurar mais na caixa de combinação da instância do servidor .

    2. Selecione a Autenticação Padrão oracle (recomendada) ou a Autenticação do Windows.

      Se você selecionar a Autenticação do Windows: o servidor Oracle deverá ser configurado para permitir conexões usando credenciais do Windows (para obter mais informações, consulte a documentação do Oracle); e você deve estar conectado com a mesma conta do Microsoft Windows especificada para o esquema de usuário administrativo de replicação.

    3. Se você selecionar Autenticação Padrão Oracle, insira o login e a senha do esquema de usuário administrativo de replicação que você criou no Oracle Publisher durante a configuração.

  6. Na guia Propriedades da Conexão, selecione um tipo de Publicador do Gateway ou Completa.

    A opção Completo foi projetada para fornecer publicações transacionais e de instantâneo com o conjunto completo de recursos suportados para publicação Oracle. A opção Gateway fornece otimizações de design específicas para melhorar o desempenho de casos em que a replicação serve como um gateway entre sistemas. A opção Gateway não poderá ser usada se você planeja publicar a mesma tabela em várias publicações transacionais. Uma tabela pode aparecer em no máximo uma publicação transacional e em qualquer número de publicações de instantâneo se você selecionar Gateway.

  7. Clique em Conectar, que cria uma conexão com o Publicador Oracle e a configura para replicação. A caixa de diálogo Conectar ao Servidor é fechada e você é retornado para a caixa de diálogo Propriedades do Distribuidor – <Distribuidor> .

    Observação

    Se houver problemas com a configuração de rede, você receberá um erro neste momento. Se você tiver problemas ao se conectar ao banco de dados Oracle, consulte a seção "O Distribuidor do SQL Server não pode se conectar à instância do banco de dados Oracle" na solução de problemas do Oracle Publishers.

  8. Clique em OK.

Para criar uma publicação de um banco de dados Oracle

  1. Conecte-se à instância do SQL Server que será usada pelo Publicador Oracle como Distribuidor e expanda o nó do servidor.

  2. Expanda a pasta Replicação .

  3. Clique com o botão direito do mouse na pasta Publicações Locais e clique em Nova Publicação Oracle.

  4. Na página Publicador Oracle do Assistente para Nova Publicação, selecione o Publicador Oracle. Se o Publicador Oracle não for exibido, clique em Adicionar Publicador Oracle, que leva você pelas etapas do procedimento anterior.

  5. Na página Tipo de Publicação , selecione Publicação de instantâneo ou publicação transacional.

  6. Na página Artigos , selecione os objetos de banco de dados que você deseja publicar.

    Opcionalmente, filtre as colunas de uma tabela expandindo a seção correspondente e desmarcando a caixa de seleção para uma ou mais colunas. Clique em Propriedades do Artigo para exibir e modificar as propriedades do artigo e especificar mapeamentos de tipo de dados alternativos, se necessário. Para obter mais informações sobre mapeamentos de tipo de dados, consulte Especificar mapeamentos de tipo de dados para um Publicador Oracle.

  7. Na página Filtrar Linhas da Tabela , opcionalmente, aplique filtros para publicar um subconjunto de dados de uma ou mais tabelas.

  8. Desmarque a opção Criar um instantâneo imediatamente na página Snapshot Agent somente se você tiver concluído todos os objetos e adicionado todos os dados necessários no banco de dados de assinatura.

  9. Na página Segurança do Agente, especifique as credenciais para o Agente de Instantâneo (para todas as publicações) e o Agente de Leitor de Log (para publicações transacionais). Os agentes operam e estabelecem conexões com o Distribuidor do SQL Server utilizando o contexto da conta do Microsoft Windows especificada. Os agentes fazem conexões com o banco de dados Oracle usando o contexto da conta que você especificou como o esquema de usuário administrativo de replicação. Para obter mais informações, consulte Configurar um Publicador Oracle.

    Para obter mais informações sobre as permissões exigidas por cada agente, consulte As práticas recomendadas de segurança de replicação e modelo de segurança do agente de replicação.

  10. Na página Ações do Assistente, você pode opcionalmente scriptar a publicação. Para obter mais informações, consulte Replicação de Scripts.

  11. Na página Concluir o Assistente, especifique um nome para a publicação.

Usando Transact-SQL

Depois que o banco de dados Oracle tiver sido configurado como um Publicador, você poderá criar uma publicação transacional ou de instantâneo da mesma maneira que faria de um Publicador do Microsoft SQL Server usando procedimentos armazenados do sistema.

Para criar uma publicação Oracle

  1. Configure o banco de dados Oracle como Publisher. Para obter mais informações, consulte Configurar um Publicador Oracle.

  2. Se um Distribuidor remoto não existir, configure o Distribuidor remoto. Para obter mais informações, consulte Configurar Publicação e Distribuição.

  3. No caso do Distribuidor remoto que será usado pelo Publicador Oracle, execute sp_adddistpublisher (Transact-SQL). Especifique o nome TNS (Transparent Network Substrate) da instância do banco de dados Oracle para @publisher e um valor de ORACLE ou ORACLE GATEWAY para @publisher_type. Specify o modo de segurança utilizado ao se conectar do Publicador Oracle ao Distribuidor remoto do SQL Server é um dos seguintes:

    • Para usar a Autenticação Padrão Oracle, o padrão, especifique um valor de 0 para @security_mode, o login do esquema de usuário administrativo de replicação criado no Oracle Publisher durante a configuração para @login e a senha para @password.

      Importante

      Quando possível, solicite aos usuários que insiram credenciais de segurança no runtime. Se você armazenar credenciais em um arquivo de script, deverá proteger o arquivo para impedir o acesso não autorizado.

    • Para usar a Autenticação do Windows, especifique um valor de 1 para @security_mode.

      Observação

      Para usar a Autenticação do Windows, o servidor Oracle deve ser configurado para permitir conexões usando credenciais do Windows (para obter mais informações, consulte a documentação do Oracle); e você deve estar conectado com a mesma conta do Microsoft Windows especificada para o esquema de usuário administrativo de replicação.

  4. Crie um trabalho do Agente Leitor de Log para o banco de dados de publicação.

    • Se você não tiver certeza se existe uma tarefa do Agente de Leitor de Log para um banco de dados publicado, execute sp_helplogreader_agent (Transact-SQL) no Distribuidor utilizado pelo Oracle Publisher no banco de dados de distribuição. Especifique o nome do Publicador Oracle para @publisher. Se o conjunto de resultados estiver vazio, um trabalho do Agente Leitor de Logs deverá ser criado.

    • Se já existir uma tarefa do Agente de Leitor de Log para a base de dados de publicação, avance para a etapa 5.

    • No distribuidor usado pelo publicador Oracle no banco de dados de distribuição, execute sp_addlogreader_agent (Transact-SQL). Especifique as credenciais do Windows nas quais o agente é executado para @job_login e @job_password.

      Observação

      O parâmetro @job_login deve corresponder ao logon fornecido na etapa 3. Não forneça informações de segurança do editor. O agente leitor de log se conecta ao Publicador usando as informações de segurança fornecidas na etapa 3.

  5. No banco de dados de distribuição no Distribuidor, execute sp_addpublication (Transact-SQL) para criar a publicação. Para obter mais informações, consulte Criar uma publicação.

  6. No Distribuidor no banco de dados de distribuição, execute sp_addpublication_snapshot (Transact-SQL). Especifique o nome da publicação usado na etapa 4 para @publication e as credenciais do Windows nas quais o Snapshot Agent é executado para @job_name e @password. Para usar a Autenticação Padrão Oracle ao se conectar ao Publicador, você também deve especificar um valor 0 para @publisher_security_mode e as informações de login do Oracle para @publisher_login e @publisher_password. Isso cria um trabalho do Snapshot Agent para a publicação.

Consulte Também

Configurar um Publicador Oracle
Publicar dados e objetos de banco de dados
Configurar o Trabalho do Conjunto de Transações para um Fornecedor Oracle (Programação de Replicação Transact-SQL)
Visão geral da publicação do Oracle
Script para conceder permissões do Oracle