Maak een publicatie aan vanuit een Oracle-database

Van toepassing op:SQL Server

Dit onderwerp beschrijft hoe je een publicatie kunt maken vanuit een Oracle-database in SQL Server met behulp van SQL Server Management Studio of Transact-SQL.

Prerequisites

  • Voordat je een publicatie maakt, moet je Oracle-software installeren op de Microsoft SQL Server Distributor en moet je de Oracle-database configureren. Voor meer informatie, zie Configure an Oracle Publisher.

SQL Server Management Studio gebruiken

Maak een snapshot of transactionele publicatie aan vanuit een Oracle-database met de New Publication Wizard.

De eerste keer dat je een publicatie aanmaakt uit een Oracle-database, moet je de Oracle Publisher identificeren bij de SQL Server Distributor (dit hoeft niet te gebeuren voor latere publicaties uit dezelfde database). Het identificeren van de Oracle Publisher kan worden gedaan via de New Publication Wizard of het dialoogvenster Distributor Properties - <Distributor>; dit onderwerp toont het dialoogvenster Distributor Properties - <Distributor>.

Om de Oracle Publisher te identificeren bij de SQL Server Distributor

  1. In SQL Server Management Studio verbind je met de SQL Server-instantie die de Oracle Publisher als Distributor zal gebruiken, en breid je vervolgens de servernode uit.

  2. Klik met de rechtermuisknop op de Replicatiemap en klik vervolgens op Eigenschappen van de distributeur.

  3. Op de pagina Uitgevers van het dialoogvenster Distributor Properties - <Distributor> klik je op Toevoegen en vervolgens op Add Oracle Publisher.

  4. Klik in het dialoogvenster Verbinding met Server op de knop Opties .

  5. Op het tabblad Inloggen:

    1. Voer de naam van de Oracle-database-instantie in of selecteer Bladeren naar meer in de keuzelijst Serverinstantie.

    2. Kies Oracle Standard Authentication (aanbevolen) of Windows Authentication.

      Als je Windows Authenticatie selecteert: de Oracle-server moet zo zijn geconfigureerd dat verbindingen worden toegestaan met Windows inloggegevens (voor meer informatie, zie de Oracle-documentatie); en je moet momenteel ingelogd zijn met hetzelfde Microsoft Windows account dat je hebt opgegeven voor het replicatie-administratieve gebruikersschema.

    3. Als je Oracle Standard Authentication selecteert, voer dan de login en het wachtwoord in van het replicatie-beheerdersschema dat je hebt aangemaakt op de Oracle Publisher tijdens de configuratie.

  6. Selecteer op het tabblad Connection Properties een Publisher-type Gateway of Complete.

    De optie Complete-modus is ontworpen om snapshot- en transactionele publicaties te voorzien van de volledige set ondersteunde functies voor Oracle-publicatie. De Gateway-optie biedt specifieke ontwerpoptimalisaties om de prestaties te verbeteren in gevallen waarin replicatie dient als gateway tussen systemen. De Gateway-optie kan niet worden gebruikt als je van plan bent dezelfde tabel in meerdere transactionele publicaties te publiceren. Een tabel kan in maximaal één transactionele publicatie verschijnen en in een willekeurig aantal snapshotpublicaties als je Gateway kiest.

  7. Klik op Connect, wat een verbinding maakt met de Oracle Publisher en deze configureert voor replicatie. Het dialoogvenster Verbinden met Server sluit en je wordt teruggebracht naar het dialoogvenster Distributor Properties - <Distributor> .

    Note

    Als er problemen zijn met de netwerkconfiguratie, krijg je op dat moment een foutmelding. Als u problemen ondervindt bij het maken van verbinding met de Oracle-database, raadpleegt u de sectie 'The SQL Server Distributor cannot connect to the Oracle database instance' in Troubleshooting Oracle Publishers.

  8. Kies OK.

Om een publicatie te maken uit een Oracle-database

  1. Maak verbinding met de SQL Server-instantie die de Oracle Publisher als distributeur zal gebruiken, en breid vervolgens de servernode uit.

  2. Vouw de map Replicatie uit.

  3. Klik met de rechtermuisknop op de map Lokale Publicaties en klik vervolgens op Nieuwe Oracle-publicatie.

  4. Selecteer op de Oracle Publisher-pagina van de New Publication Wizard de Oracle Publisher. Als de Oracle Publisher niet wordt weergegeven, klik dan op Add Oracle Publisher, waarmee je de stappen van de vorige procedure doorloopt.

  5. Selecteer op de Publicatietype-pagina Momentopnamepublicatie of Transactionele publicatie.

  6. Selecteer op de pagina Artikelen de databaseobjecten die je wilt publiceren.

    Filtert optioneel de kolommen van tabellen door een tabel uit te breiden en vervolgens het selectievakje voor één of meer kolommen te verwijderen. Klik op Artikeleigenschappen om artikeleigenschappen te bekijken en aan te passen en om indien nodig alternatieve datatype-mappings aan te geven. Voor meer informatie over datatype-mappings, zie Specificeer Data Type Mappings for an Oracle Publisher.

  7. Op de pagina Tabelrijen filteren kunt u desgewenst filters toepassen om een subset van gegevens uit één of meer tabellen te publiceren.

  8. Op de Snapshot Agent-pagina verwijder je 'Create a snapshot' alleen als je alle objecten hebt aangemaakt en alle benodigde gegevens in de abonnementsdatabase hebt toegevoegd.

  9. Op de pagina Agent Security specificeert u inloggegevens voor de Snapshot Agent (voor alle publicaties) en de Log Reader Agent (voor transactionele publicaties). De agenten maken connecties met de SQL Server distributeur aan de hand van de context van het door jou opgegeven Microsoft Windows account. De agenten maken verbindingen met de Oracle-database via de context van het account dat je als replicatie-administratief gebruikersschema hebt opgegeven. Voor meer informatie, zie Configure an Oracle Publisher.

    Voor meer informatie over de benodigde rechten voor elke agent, zie Replication Agent Security Model en Replication Security Best Practices.

  10. Op de pagina Wizard Actions kunt u optioneel de publicatie scripten. Zie Scripting Replicationvoor meer informatie.

  11. Op de pagina 'Voltooi de Wizard ' specificeert u een naam voor de publicatie.

Transact-SQL gebruiken

Nadat de Oracle-database als Publisher is geconfigureerd, kun je een transactionele of snapshotpublicatie maken zoals je dat van een Microsoft SQL Server Publisher zou doen, door gebruik te maken van systeemopgeslagen procedures.

Om een Oracle-publicatie te creëren

  1. Configureer de Oracle-database als een Publisher. Voor meer informatie, zie Configure an Oracle Publisher.

  2. Als er geen externe Distributor bestaat, configureer dan de remote Distributor. Voor meer informatie, zie Configuratie van Publicatie en distributie.

  3. Voer bij de externe distributeur die de Oracle Publisher zal gebruiken, sp_adddistpublisher uit (Transact-SQL). Specificeer de naam Transparent Network Substrate (TNS) van de Oracle-databaseinstantie voor @publisher en een waarde van ORACLE of ORACLE GATEWAY voor @publisher_type. Specifyde beveiligingsmodus die wordt gebruikt bij het verbinden van de Oracle Publisher naar de externe SQL Server Distributor is een van de volgende:

    • Om Oracle Standard Authentication te gebruiken, is de standaardwaarde, geef je een waarde van 0 op voor @security_mode, het inloggen van het replicatie-administratieve gebruikersschema dat je op de Oracle Publisher hebt gemaakt tijdens de configuratie voor @login, en het wachtwoord voor @password.

      Important

      Indien mogelijk vraagt u gebruikers om beveiligingsreferenties in te voeren tijdens runtime. Als je inloggegevens opslaat in een scriptbestand, moet je het bestand beveiligen om ongeautoriseerde toegang te voorkomen.

    • Om Windows Authenticatie te gebruiken, specificeer je een waarde van 1 voor @security_mode.

      Note

      Om Windows Authentication te gebruiken, moet de Oracle-server zo zijn geconfigureerd dat verbindingen worden toegestaan met Windows inloggegevens (voor meer informatie, zie de Oracle-documentatie); en je moet momenteel ingelogd zijn met hetzelfde Microsoft Windows account dat je hebt opgegeven voor het replicatie-administratieve gebruikersschema..

  4. Maak een taak als Log Reader Agent aan voor de publicatiedatabase.

    • Als je niet zeker weet of er een Log Reader Agent-taak bestaat voor een gepubliceerde database, voer dan sp_helplogreader_agent (Transact-SQL) uit bij de Distributor die door de Oracle Publisher op de distributiedatabase wordt gebruikt. Specificeer de naam van de Oracle Publisher voor @publisher. Als de resultaatset leeg is, moet er een Log Reader Agent-job worden aangemaakt.

    • Als er al een taak als Log Reader Agent bestaat voor de publicatiedatabase, ga dan door naar stap 5.

    • Voer op de distributeur die door de Oracle Publisher op de distributiedatabase wordt gebruikt, sp_addlogreader_agent (Transact-SQL) uit. Specificeer de Windows inloggegevens waaronder de agent voor @job_login en @job_password werkt.

      Note

      De @job_login parameter moet overeenkomen met de login die in stap 3 is opgegeven. Geef geen beveiligingsinformatie aan de uitgever. De Log Reader-agent maakt verbinding met de Publisher via de beveiligingsinformatie die in stap 3 is verstrekt.

  5. Voer bij de distributeur in de distributiedatabase sp_addpublication uit (Transact-SQL) om de publicatie te maken. Zie Een publicatie maken voor meer informatie.

  6. Voer bij de distributeur in de distributiedatabase sp_addpublication_snapshot uit (Transact-SQL). Specificeer de publicatienaam die in stap 4 voor @publication wordt gebruikt en de Windows referenties waaronder de Snapshot Agent voor @job_name en @password draait. Om Oracle Standard Authentication te gebruiken bij het verbinden met de Publisher, moet je ook een waarde van 0 opgeven voor @publisher_security_mode en de Oracle-inloggegevens voor @publisher_login en @publisher_password. Dit creëert een Snapshot Agent-taak voor de publicatie.