Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a: SQL Server
As publicações da Oracle Publishers são criadas da mesma forma que as publicações snapshot e transacionais típicas são criadas, mas antes de criar uma publicação a partir de uma Oracle Publisher, deve completar os seguintes passos (os passos um, três e quatro são descritos em detalhe neste tópico.):
Crie um utilizador administrativo de replicação dentro da base de dados Oracle usando o script fornecido.
Nas tabelas que publicar, conceda a permissão SELECT diretamente em cada uma delas (não através de uma função) ao utilizador administrativo do Oracle que criou no passo 1.
Instale o software cliente Oracle e o fornecedor OLE DB no Microsoft SQL Server Distributor, e depois pare e reinicie a instância do SQL Server. Se o Distribuidor estiver a correr numa plataforma de 64 bits, deve usar a versão de 64 bits do fornecedor Oracle OLE DB.
Configure a base de dados Oracle como um Publisher no SQL Server Distributor.
O SQL Server suporta os seguintes cenários heterogéneos para replicação transacional e snapshot:
Publicação de dados do SQL Server para Assinantes não SQL Server.
Publicar dados para e a partir da Oracle tem as seguintes restrições:
| Scenario | 2016 ou antes | 2017 ou depois |
|---|---|---|
| Replicação a partir da Oracle | Só suportam Oracle 10g ou anteriores | Só suportam Oracle 10g ou anteriores |
| Replicação para Oracle | Até Oracle 12c | Não suportado |
A replicação heterogénea para assinantes que não sejam do SQL Server foi preterida. O Oracle Publishing está obsoleto. Para mover dados, crie soluções usando captura de dados de alteração e SSIS.
Para uma lista de objetos que podem ser replicados a partir de uma base de dados Oracle, consulte Considerações e Limitações de Design para Editores Oracle.
Note
Deve ser membro da função de servidor fixa sysadmin para ativar um Publicador ou Distribuidor e criar uma publicação Oracle ou uma subscrição de uma publicação Oracle.
Criação do Esquema de Utilizador Administrativo de Replicação dentro da Base de Dados Oracle
Os agentes de replicação ligam-se à base de dados Oracle e realizam operações no contexto de um esquema de utilizador que deve criar. Este esquema deve receber um número de permissões, que estão listadas na secção seguinte. Este esquema detém todos os objetos criados pelo processo de replicação do Microsoft SQL Server no Oracle Publisher, com exceção de um sinónimo público, MSSQLSERVERDISTRIBUTOR. Para mais informações sobre os objetos criados na base de dados Oracle, consulte Objetos Criados no Oracle Publisher.
Note
A remoção do sinónimo público MSSQLSERVERDISTRIBUTOR e do utilizador de replicação configurado do Oracle com a opção CASCADE remove todos os objetos de replicação do Publicador Oracle.
Foi fornecido um script de exemplo para ajudar na configuração do esquema de utilizador de replicação da Oracle. O script está disponível no seguinte diretório após a instalação do SQL Server: <drive>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Também está incluído no tópico Script para Conceder Permissões Oracle.
Liga-te à base de dados Oracle usando uma conta com privilégios de DBA e executa o script. Este script solicita o utilizador e a palavra-passe para o esquema administrativo de replicação, bem como o espaço de tabela padrão para criar os objetos (o espaço de tabela deve já existir na base de dados Oracle). Para obter informações sobre como especificar outras tablespaces para objetos, consulte Gerir tablespaces do Oracle. Escolha qualquer nome de utilizador e palavra-passe forte, mas note ambos, pois terá de fornecer essa informação mais tarde quando configurar a base de dados Oracle como Publisher. Recomenda-se que o esquema seja usado apenas para objetos exigidos pela replicação; Não crie tabelas para serem publicadas neste esquema.
Criar manualmente o esquema do utilizador
Se criar manualmente o esquema do utilizador administrativo da replicação, tem de conceder ao esquema as seguintes permissões, diretamente ou através de uma função da base de dados.
CRIAR PÚBLICO SYNONYM e DEIXAR PÚBLICO SYNONYM
CREATE PROCEDURE
CREATE SEQUENCE
CRIAR SESSÃO
Deve também conceder as seguintes permissões diretamente ao utilizador (não através de uma função):
CRIAR QUALQUER TRIGGER. Isto só é necessário para a replicação de instantâneo e a replicação transacional.
CREATE TABLE
CREATE VIEW
Instalação e Configuração do Software de Rede Cliente Oracle no Distribuidor SQL Server
Deve instalar e configurar o software de rede cliente Oracle e o fornecedor Oracle OLE DB no SQL Server Distributor, para que o Distribuidor possa fazer ligações ao Oracle Publisher. Após instalar o software, defina as permissões apropriadas nas pastas onde o software está instalado e depois pare e reinicie a instância do SQL Server para garantir que todas as definições estão atualizadas (as permissões são descritas mais adiante, na secção "Definir permissões de diretório").
Note
O software de rede cliente Oracle deve ser a versão mais recente disponível. A Oracle recomenda que os utilizadores instalem as versões mais recentes do software cliente. O software cliente é, portanto, frequentemente uma versão mais recente do que o software da base de dados.
A forma mais direta de instalar e configurar o software de rede do cliente é utilizar o Oracle Universal Installer e o Net Configuration Assistant no disco do Oracle Client.
No Oracle Universal Installer, deve fornecer a seguinte informação:
| Informação | Description |
|---|---|
| Oráculo Home | Este é o caminho para o diretório de instalação do software Oracle. Aceita o padrão (C:\oracle\ora90 ou semelhante) ou entra noutro caminho. Para mais informações sobre o Oracle Home, consulte a secção "Considerações para o Oracle Home" mais adiante neste tópico. |
| Nome da casa Oracle | Um pseudónimo para o caminho de origem do Oráculo. |
| Tipo de instalação | No Oracle 10g, selecione a opção de instalação Administrador. |
Depois de concluído o Oracle Universal Installer, utilize o Net Configuration Assistant para configurar a conectividade de rede. Deve fornecer quatro informações para configurar a conectividade de rede. O administrador da base de dados Oracle configura a configuração da rede ao configurar a base de dados e o ouvinte e deverá conseguir fornecer esta informação caso não a tenha. Você deve fazer o seguinte:
| Action | Description |
|---|---|
| Identificar a base de dados | Existem dois métodos para identificar a base de dados. O primeiro método utiliza o Identificador de Sistema Oracle (SID) e está disponível em todas as versões da Oracle. O segundo método utiliza o Nome do Serviço, que está disponível a partir da versão 8.0 da Oracle. Ambos os métodos usam um valor configurado quando a base de dados é criada e é importante que a configuração da rede cliente utilize o mesmo método de nomenclatura que o administrador utilizou ao configurar o ouvinte da base de dados. |
| Identificar um alias de rede para a base de dados | Deve especificar um alias de rede, que é usado para aceder à base de dados Oracle. Também tem de fornecer este alias ao identificar a base de dados Oracle como Publicador no Distribuidor do SQL Server. O alias de rede é essencialmente uma referência ao SID remoto ou ao nome de serviço configurado quando a base de dados foi criada; foi designado por vários nomes em diferentes versões e produtos da Oracle, incluindo Net Service Name e TNS Alias. O SQL*Plus solicita este alias como o parâmetro "Host String" quando inicias sessão. |
| Selecione o protocolo de rede | Selecione os protocolos apropriados que gostaria de suportar. A maioria das aplicações utiliza TCP. |
| Especifique a informação do host para identificar o ouvinte da base de dados | O host é o nome ou nome alternativo DNS do computador no qual o listener do Oracle está em execução, que normalmente é o mesmo computador onde a base de dados se encontra. Para alguns protocolos, deve fornecer informações adicionais. Por exemplo, se selecionar TCP, deve fornecer a porta onde o ouvinte está a ouvir pedidos de ligação à base de dados alvo. A configuração TCP padrão usa a porta 1521. |
Definir permissões de diretório
A conta sob a qual o serviço SQL Server no Distribuidor é executado deve receber permissões de leitura e execução para o diretório (e todos os subdiretórios) onde o software de rede cliente Oracle está instalado.
Testar a conectividade entre o distribuidor do SQL Server e o Oracle Publisher
Perto do final do Assistente de Configuração da Net, pode haver uma opção para testar a ligação ao Oracle Publisher. Antes de testar a ligação, certifique-se de que a instância da base de dados Oracle está online e que o Oracle Listener está a correr. Se o teste não for bem-sucedido, contacte o DBA Oracle responsável pela base de dados à qual pretende ligar-se.
Depois de estabelecer uma ligação bem-sucedida ao Oracle Publisher, tente iniciar sessão na base de dados usando a conta e a palavra-passe associadas ao esquema de utilizador administrativo de replicação que criou. O seguinte deve ser realizado enquanto está a correr sob a mesma conta Windows que o serviço SQL Server utiliza:
Clique em Iniciar e, em seguida, clique em Executar.
Digite
cmde clique em OK.Na linha de comandos, escreva:
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>Por exemplo:
sqlplus replication/$tr0ngPasswerd@Oracle90ServerSe a configuração de rede foi bem-sucedida, o login é bem-sucedido e verá um
SQLaviso.Se tiver problemas ao ligar-se à base de dados Oracle, consulte a secção "O Distribuidor SQL Server não consegue ligar-se à instância da base de dados Oracle" em Resolução de Problemas Oracle Publishers.
Considerações para a Oracle Home
A Oracle suporta a instalação lado a lado de binários de aplicação, mas apenas um conjunto de binários pode ser usado por replicação de cada vez. Cada conjunto de binários está associado a um Oracle Home; Os binários estão no diretório %ORACLE_HOME%\bin. Deve garantir que o conjunto correto de binários (especificamente a versão mais recente do software de rede cliente) é utilizado quando a replicação faz ligações ao Oracle Publisher.
Inicie sessão no Distribuidor com as contas usadas pelo serviço SQL Server e pelo serviço SQL Server Agent e defina as variáveis de ambiente apropriadas. A variável %ORACLE_HOME% deve ser definida para se referir ao ponto de instalação que especificou quando instalou o software de rede do cliente. O %PATH% deve incluir o diretório %ORACLE_HOME% \bin como a primeira entrada do Oracle encontrada. Para informações sobre a definição de variáveis de ambiente, consulte a documentação do Windows.
Configuração da Base de Dados Oracle como Publisher no SQL Server Distributor
Os editores Oracle utilizam sempre um distribuidor remoto; deve configurar uma instância de SQL Server para atuar como Distribuidor para o seu Oracle Publisher (um Oracle Publisher só pode usar um Distribuidor, mas um único Distribuidor pode servir mais do que um Oracle Publisher). Depois de um Distribuidor ser configurado, identifique a instância da base de dados Oracle como um Publisher no SQL Server Distributor através do SQL Server Management Studio, Transact-SQL ou Replication Management Objects (RMO). Para mais informações sobre a configuração de um distribuidor, consulte Configurar Distribuição.
Note
Um Oracle Publisher não pode ter o mesmo nome do seu SQL Server Distributor nem o mesmo nome de qualquer um dos SQL Server Publishers que utilizam o mesmo Distributor.
Quando identifica a base de dados Oracle como Publisher, deve escolher uma opção de publicação Oracle: Complete ou Oracle Gateway. Depois de um Publisher ser identificado, esta opção não pode ser alterada sem remover e reconfigurar o Publisher. A opção Completar foi concebida para fornecer publicações instantâneas e transacionais com o conjunto completo de funcionalidades suportadas para a edição Oracle. A opção Oracle Gateway fornece otimizações específicas de design para melhorar o desempenho em casos em que a replicação serve como um gateway entre sistemas.
Depois de o Oracle Publisher ser identificado no SQL Server Distributor, a replicação cria um servidor ligado com o mesmo nome que o serviço TNS da base de dados da Oracle. Este servidor ligado só pode ser usado por replicação. Se precisar de se ligar ao Oracle Publisher através de uma ligação a um servidor ligado, crie outro nome de serviço TNS e, em seguida, utilize esse nome ao chamar o sp_addlinkedserver (Transact-SQL).
Para configurar um Oracle Publisher e criar uma publicação, consulte Criar uma Publicação a partir de uma Base de Dados Oracle.