Erstellen einer Veröffentlichung aus einer Oracle-Datenbank

Gilt für:SQL Server

In diesem Thema wird beschrieben, wie Sie eine Publikation aus einer Oracle-Datenbank in SQL Server mithilfe von SQL Server Management Studio oder Transact-SQL erstellen.

In diesem Thema

Vorbereitungen

Voraussetzungen

  • Bevor Sie eine Publikation erstellen, müssen Sie Oracle-Software im Microsoft SQL Server-Distributor installieren und die Oracle-Datenbank konfigurieren. Weitere Informationen finden Sie unter Konfigurieren eines Oracle-Verlegers.

Verwendung von SQL Server Management Studio

Sie können mithilfe des Assistenten für neue Veröffentlichung eine Momentaufnahme- bzw. eine Transaktionsveröffentlichung aus einer Oracle-Datenbank erstellen.

Wenn Sie zum ersten Mal eine Publikation aus einer Oracle-Datenbank erstellen, müssen Sie den Oracle Publisher im SQL Server-Distributor identifizieren (Sie müssen dies nicht für nachfolgende Publikationen aus derselben Datenbank tun.) Die Identifizierung des Oracle Publisher kann über den Assistenten für neue Publikation oder über das Dialogfeld "Händlereigenschaften - <Distributor>" erreicht werden. In diesem Thema wird das Dialogfeld "Händlereigenschaften - <Distributor>" angezeigt.

So identifizieren Sie den Oracle-Verleger auf dem SQL Server-Verteiler

  1. Stellen Sie in SQL Server Management Studio eine Verbindung mit der SQL Server-Instanz her, die von Oracle Publisher als Distributor verwendet wird, und erweitern Sie dann den Serverknoten.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation , und klicken Sie dann auf Verteilereigenschaften.

  3. Klicken Sie auf der Seite "Herausgeber " des Dialogfelds "Verteilereigenschaften <– Verteiler> " auf "Hinzufügen", und klicken Sie dann auf " Oracle Publisher hinzufügen".

  4. Klicken Sie im Dialogfeld Verbindung mit Server herstellen auf die Schaltfläche Optionen .

  5. Gehen Sie auf der Registerkarte Anmeldung wie folgt vor:

    1. Geben Sie den Namen der Oracle-Datenbankinstanz ein, oder wählen Sie im Kombinationsfeld Serverinstanz den Eintrag Suche fortsetzen aus.

    2. Wählen Sie Oracle-Standardauthentifizierung (empfohlen) oder Windows-Authentifizierungaus.

      Wenn Sie die Windows-Authentifizierung auswählen: Der Oracle-Server muss so konfiguriert sein, dass Verbindungen mit Windows-Anmeldeinformationen zugelassen werden (weitere Informationen finden Sie in der Oracle-Dokumentation). Sie müssen zurzeit mit dem microsoft Windows-Konto angemeldet sein, das Sie für das Schema der Verwaltungsbenutzer für die Replikation angegeben haben.

    3. Wenn Sie sich für Oracle-Standardauthentifizierungentschieden haben, geben Sie den Anmeldenamen und das Kennwort für das Schema für den administrativen Replikationsbenutzer ein, das Sie beim Konfigurieren auf dem Oracle-Verleger erstellt haben.

  6. Wählen Sie auf der Registerkarte Verbindungseigenschaften als Verlegertyp Gateway oder Vollständigaus.

    Mithilfe der Option Vollständig kann für Momentaufnahme- und Transaktionsveröffentlichungen der vollständige Satz an unterstützten Funktionen für Oracle-Veröffentlichungen verfügbar gemacht werden. Die Option Gateway bietet spezielle Designoptimierungen, um die Leistung in Fällen zu verbessern, in denen die Replikation als Gateway zwischen Systemen verwendet wird. Sie können die Option Gateway nicht verwenden, wenn Sie planen, dieselbe Tabelle in mehreren Transaktionsveröffentlichungen zu veröffentlichen. Wenn Sie Gatewayauswählen, kann eine Tabelle höchstens in einer Transaktionsveröffentlichung und in einer beliebigen Zahl an Momentaufnahmeveröffentlichungen erscheinen.

  7. Klicken Sie auf Verbinden. Es wird eine Verbindung mit dem Oracle-Verleger hergestellt, und die Verbindung wird für die Replikation konfiguriert. Das Dialogfeld "Verbinden zu Server" wird geschlossen, und Sie werden an das Dialogfeld "Verteilereigenschaften - <Verteiler"> zurückgegeben.

    Hinweis

    Falls bei der Netzwerkkonfiguration Probleme auftreten, wird jetzt eine Fehlermeldung angezeigt. Wenn Sie Probleme haben, eine Verbindung mit der Oracle-Datenbank herzustellen, finden Sie entsprechende Informationen in dem Abschnitt in Troubleshooting Oracle Publishers, der sich mit Verbindungsproblemen zwischen dem SQL Server-Verteiler und der Oracle-Datenbankinstanz beschäftigt.

  8. Klickan Sie auf OK.

So erstellen Sie eine Veröffentlichung aus einer Oracle-Datenbank

  1. Verbinden zu der SQL Server-Instanz, die von Oracle Publisher als Distributor verwendet wird, und erweitern Sie dann den Serverknoten.

  2. Erweitern Sie den Ordner Replikation .

  3. Klicken Sie mit der rechten Maustaste auf den Ordner Lokale Veröffentlichungen , und klicken Sie dann auf Neue Oracle-Veröffentlichung.

  4. Wählen Sie auf der Seite Oracle-Verleger des Assistenten für neue Veröffentlichung den Oracle-Verleger aus. Wenn der Oracle-Verleger nicht angezeigt wird, klicken Sie auf Oracle-Verleger hinzufügen. Führen Sie dann die in der vorherigen Prozedur beschriebenen Schritte aus.

  5. Wählen Sie auf der Seite Veröffentlichungstyp entweder Momentaufnahmeveröffentlichung oder Transaktionsveröffentlichungaus.

  6. Wählen Sie auf der Seite Artikel die Datenbankobjekte aus, die Sie veröffentlichen möchten.

    Optional können Sie auch Tabellenspalten herausfiltern, indem Sie eine Tabelle erweitern und dann die Kontrollkästchen für die Spalten deaktivieren, die nicht einbezogen werden sollen. Klicken Sie auf Artikeleigenschaften , um die Artikeleigenschaften anzuzeigen und zu ändern und um bei Bedarf alternative Datentypzuordnungen anzugeben. Weitere Informationen zu Datentypzuordnungen finden Sie unter Angeben von Datentypzuordnungen für einen Oracle-Verleger.

  7. Wenden Sie bei Bedarf auf der Seite Tabellenzeilen filtern Filter an, um nur bestimmte Daten aus einer oder mehreren Tabellen zu veröffentlichen.

  8. Deaktivieren Sie auf der Seite Momentaufnahme-Agent nur dann die Option Momentaufnahme sofort erstellen , wenn Sie alle Objekte erstellt und alle erforderlichen Daten der Abonnementdatenbank hinzugefügt haben.

  9. Geben Sie auf der Seite Agentsicherheit die Anmeldeinformationen für den Momentaufnahme-Agent (für alle Veröffentlichungen) und den Protokolllese-Agent (für Transaktionsveröffentlichungen) an. Die Agents führen verbindungen mit dem SQL Server-Distributor aus, und verwenden den Kontext des von Ihnen angegebenen Microsoft Windows-Kontos. Für die Verbindungen zur Oracle-Datenbank verwenden die Agents den Kontext des Kontos, das Sie als Schema für den administrativen Replikationsbenutzer angegeben haben. Weitere Informationen finden Sie unter Konfigurieren eines Oracle-Verlegers.

    Weitere Informationen zu den erforderlichen Berechtigungen für die einzelnen Agents finden Sie unter Replication Agent Security Model und Replication Security Best Practices.

  10. Erstellen Sie optional auf der Seite Aktionen des Assistenten ein Skript für die Veröffentlichung. Weitere Informationen finden Sie unter Scripting Replication.

  11. Geben Sie auf der Seite Assistenten abschließen einen Namen für die Veröffentlichung an.

Verwenden von Transact-SQL

Nachdem die Oracle-Datenbank als Publisher konfiguriert wurde, können Sie eine Transaktions- oder Momentaufnahme Publikation auf die gleiche Weise wie bei einem Microsoft SQL Server Publisher erstellen, indem Sie gespeicherte Systemprozeduren verwenden.

So erstellen Sie eine Oracle-Veröffentlichung

  1. Konfigurieren Sie die Oracle-Datenbank als Verleger. Weitere Informationen finden Sie unter Konfigurieren eines Oracle-Verlegers.

  2. Wenn kein Remoteverteiler vorhanden ist, konfigurieren Sie den Remoteverteiler. Weitere Informationen finden Sie unter Configure Publishing and Distribution.

  3. Führen Sie bei dem Remoteverteiler, den Oracle Publisher verwendet, sp_adddistpublisher (Transact-SQL) aus. Geben Sie den Transparent Network Substrate (TNS)-Namen der Oracle-Datenbankinstanz für @publisher und einen Wert von ORACLE oder ORACLE GATEWAY für @publisher_typean. Specify Der Sicherheitsmodus, der beim Herstellen einer Verbindung von Oracle Publisher mit dem Sql Server-Remote-Distributor verwendet wird, als einer der folgenden Optionen:

    • Um die Standardeinstellung Oracle-Standardauthentifizierung zu verwenden, geben Sie den Wert 0 für @security_mode, den Anmeldenamen für das Schema des administrativen Replikationsbenutzers, das Sie während der Konfiguration auf dem Oracle-Verleger erstellt haben, für @loginund das Kennwort für @passwordan.

      Wichtig

      Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben. Wenn Sie Anmeldeinformationen in einer Skriptdatei speichern, müssen Sie die Datei schützen, um unberechtigtem Zugriff vorzubeugen.

    • Um die Windows-Authentifizierung zu verwenden, geben Sie den Wert 1 für @ security_modean.

      Hinweis

      Für die Verwendung der Windows-Authentifizierung muss der Oracle-Server so konfiguriert werden, dass Verbindungen mithilfe von Windows-Anmeldeinformationen möglich sind (weitere Informationen dazu finden Sie in der Oracle-Dokumentation). Darüber hinaus müssen Sie aktuell mit demselben Microsoft Windows-Konto angemeldet sein, das Sie für das Schema für den administrativen Replikationsbenutzer angegeben haben.

  4. Erstellen Sie einen Protokolllese-Agentauftrag für die Veröffentlichungsdatenbank.

    • Wenn Sie nicht sicher sind, ob ein Log Reader Agent-Auftrag für eine veröffentlichte Datenbank vorhanden ist, führen Sie sp_helplogreader_agent (Transact-SQL) an dem Distributor aus, der von Oracle Publisher in der Verteilungsdatenbank verwendet wird. Geben Sie den Namen des Oracle-Verlegers für @publisheran. Wenn das Resultset leer ist, muss ein Protokolllese-Agentauftrag erstellt werden.

    • Wenn ein Protokolllese-Agentauftrag für die Veröffentlichungsdatenbank bereits vorhanden ist, fahren Sie mit Schritt 5 fort.

    • Führen Sie sp_addlogreader_agent (Transact-SQL) bei dem Distributor aus, der vom Oracle Publisher in der Verteilungsdatenbank verwendet wird. Geben Sie die Windows-Anmeldeinformationen , unter denen der Agent ausgeführt wird, für @job_login und @job_passwordan.

      Hinweis

      Der @job_login -Parameter muss mit den in Schritt 3 angegebenen Anmeldeinformationen übereinstimmen. Geben Sie keine Sicherheitsinformationen zum Verleger an. Der Protokolllese-Agent stellt mit den in Schritt 3 bereitgestellten Sicherheitsinformationen eine Verbindung mit dem Verleger her.

  5. Führen Sie beim Distributor in der Verteilungsdatenbank sp_addpublication (Transact-SQL) aus, um die Publikation zu erstellen. Weitere Informationen finden Sie unter Create a Publication.

  6. Führen Sie beim Distributor in der Verteilungsdatenbank sp_addpublication_Momentaufnahme (Transact-SQL) aus. Geben Sie den in Schritt 4 für @publication verwendeten Veröffentlichungsnamen und die Windows-Anmeldeinformationen, unter denen der Momentaufnahme-Agent ausgeführt wird, für @job_name und @job_passwordan. Wenn zum Herstellen der Verbindung mit dem Verleger die Oracle-Standardauthentifizierung verwendet werden soll, müssen Sie außerdem den Wert 0 für @publisher_security_mode und die Oracle-Anmeldeinformationen für @publisher_login und @publisher_passwordangeben. Dadurch wird ein Auftrag des Momentaufnahme-Agents für die Veröffentlichung erstellt.

Weitere Informationen

Konfigurieren eines Oracle-Verlegers
Veröffentlichen von Daten und Datenbankobjekten
Konfigurieren des Transaktionssatz-Auftrags für einen Oracle-Verleger (Replikationsprogrammierung mit Transact-SQL)
Veröffentlichungen mit Oracle (Übersicht)
Skript zum Erteilen von Oracle-Berechtigungen