Freigeben über


Erstellen einer Veröffentlichung aus einer Oracle-Datenbank

In diesem Thema wird beschrieben, wie Sie eine Veröffentlichung aus einer Oracle-Datenbank in SQL Server 2014 mithilfe von 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). Die Identifizierung des Oracle-Verlegers kann über den Assistenten für neue Veröffentlichung oder über das Dialogfeld Verteilereigenschaften – <Verteiler> erfolgen. In diesem Thema wird das Dialogfeld Verteilereigenschaften – <Verteiler> angezeigt.

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

  1. Stellen Sie in SQL Server Management Studioeine 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 klicken Sie dann 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-Authentifizierungwä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 Microsoft 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 Mit Server verbinden wird geschlossen, und Sie kehren zum Dialogfeld Verteilereigenschaften – <Verteiler> zurück.

    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. Klicken Sie auf OK.

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 SQL Server Windows-Kontos Verbindungen zum Microsoft -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 am Remoteverteiler, den der Oracle-Verleger verwendet, sp_adddistpublisher (Transact-SQL) aus. Geben Sie den TNS-Namen (Transparent Network Substrate) der Oracle-Datenbank instance für @publisher und einen Wert von ORACLE oder ORACLE GATEWAY für @publisher_type an. 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 Oracle Standardauthentifizierung zu verwenden, geben Sie standardmäßig den Wert 0 für @security_mode, die Anmeldung des Replikationsadministratorbenutzerschemas an, das Sie während der Konfiguration für @login auf dem Oracle Publisher erstellt haben, und das Kennwort für @password.

      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_mode an.

      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 Protokolllese-Agent-Auftrag für eine veröffentlichte Datenbank vorhanden ist, führen Sie sp_helplogreader_agent (Transact-SQL) an dem Verteiler aus, der vom Oracle Publisher für die Verteilungsdatenbank verwendet wird. Geben Sie den Namen des Oracle-Verlegers für @publisher an. 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 an dem Verteiler aus, der vom Oracle Publisher für die Verteilungsdatenbank verwendet wird, sp_addlogreader_agent (Transact-SQL). Geben Sie die Windows-Anmeldeinformationen an, unter denen der Agent für @job_login und @job_password ausgeführt wird.

      Hinweis

      Der parameter @job_login muss mit der in Schritt 3 angegebenen Anmeldung ü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 am Verteiler in der Verteilungsdatenbank sp_addpublication (Transact-SQL) aus, um die Veröffentlichung zu erstellen. Weitere Informationen finden Sie unter Create a Publication.

  6. Führen Sie am Verteiler in der Verteilungsdatenbank sp_addpublication_snapshot (Transact-SQL) aus. Geben Sie den in Schritt 4 für @publication verwendeten Veröffentlichungsnamen und die Windows-Anmeldeinformationen an, unter denen die Momentaufnahmen-Agent für @job_name und @password ausgeführt wird. Zum Verwenden der Oracle Standardauthentifizierung beim Herstellen einer Verbindung mit dem Verleger müssen Sie auch den Wert 0 für @publisher_security_mode und die Oracle-Anmeldeinformationen für @publisher_login und @publisher_password angeben. 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