Freigeben über


Erstellen einer Veröffentlichung aus einer Oracle-Datenbank

Gilt für: SQL Server

In diesem Thema wird beschrieben, wie Sie eine Veröffentlichung aus einer Oracle-Datenbank in SQL Server mit SQL Server Management Studio oder Transact-SQL erstellen.

In diesem Thema

Vorbereitungen

Voraussetzungen

  • Voraussetzung für das Erstellen einer Veröffentlichung aus einer Oracle-Datenbank ist, dass die Oracle-Software auf dem Microsoft SQL Server-Verteiler installiert ist und die Oracle-Datenbank konfiguriert wurde. 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 Veröffentlichung aus einer Oracle-Datenbank erstellen, müssen Sie den Oracle-Verleger auf dem SQL Server-Verteiler identifizieren (für nachfolgende Veröffentlichungen aus derselben Datenbank ist dies nicht mehr erforderlich). Der Oracle-Verleger kann über den Assistenten für neue Veröffentlichung oder das Dialogfeld Verteilereigenschaften - <Verteiler> identifiziert werden. Im Folgenden wird das Identifizieren anhand der Vorgehensweise im Dialogfeld Verteilereigenschaften - <Verteiler> beschrieben.

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 der Oracle-Verleger als Verteiler verwenden wird. 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 Verleger des Dialogfelds Verteilereigenschaften - <Verteiler> auf Hinzufügen und anschließend auf Oracle-Verleger 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 wählen: Der Oracle-Server muss 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 Windows-Konto angemeldet sein, das Sie für das Schema des administrativen Replikationsbenutzers 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 Verbindung mit Server herstellen wird geschlossen, und es wird wieder das Dialogfeld Verteilereigenschaften - <Verteiler> angezeigt.

    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. Wählen Sie OK aus.

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

  1. Stellen Sie eine Verbindung mit der SQL Server-Instanz her, die der Oracle-Verleger als Verteiler verwenden wird. 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 werden ausgeführt und stellen mithilfe des von Ihnen angegebenen Microsoft Windows-Kontos Verbindungen zum SQL Server-Verteiler her. 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 eine Oracle-Datenbank als Verleger konfiguriert wurde, können Sie mit gespeicherten Systemprozeduren auf die gleiche Weise wie bei Verwendung eines Microsoft SQL Server-Verlegers eine Transaktions- oder Momentaufnahmenveröffentlichung erstellen.

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 auf dem Remoteverteiler, der vom Oracle-Verleger verwendet wird, 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: Geben Sie den beim Herstellen der Verbindung vom Oracle-Verleger zum Remote-SQL Server-Verteiler verwendeten Sicherheitsmodus auf eine der folgenden Arten an:

    • 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 sich nicht sicher sind, ob ein Protokolllese-Agentauftrag für die Veröffentlichungsdatenbank vorhanden ist, dann führen Sie sp_helplogreader_agent (Transact-SQL) auf dem vom Oracle-Verleger verwendeten Verteiler für die Verteilerdatenbank aus. 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 dem vom Oracle-Verleger verwendeten Verteiler für die Verteilungsdatenbank sp_addlogreader_agent (Transact-SQL) aus. 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 auf dem Verteiler für die Verteilerdatenbank sp_addpublication (Transact-SQL) aus, um die Veröffentlichung zu erstellen. Weitere Informationen finden Sie unter Create a Publication.

  6. Führen Sie auf dem Verteiler für die Verteilerdatenbank sp_addpublication_snapshot (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