Konfigurieren eines Oracle-Verlegers
Gilt für: SQL Server
Veröffentlichungen von Oracle-Verlegern werden auf dieselbe Weise erstellt wie gängige Momentaufnahme- und Transaktionsveröffentlichungen. Vor der Erstellung einer Veröffentlichung eines Oracle-Verlegers müssen jedoch folgende Schritte ausgeführt werden (die Schritte eins, drei und vier werden in diesem Thema ausführlich beschrieben):
Erstellen Sie innerhalb der Oracle-Datenbank mit dem angegebenen Skript einen administrativen Replikationsbenutzer.
Erteilen Sie dem in Schritt 1 erstellten administrativen Oracle-Benutzer für die Tabellen, die Sie veröffentlichen möchten, direkt für die jeweilige Tabelle (nicht über eine Rolle) eine SELECT-Berechtigung.
Installieren Sie die Oracle-Clientsoftware und den OLE DB-Anbieter auf dem Microsoft SQL Server-Verteiler und starten Sie die SQL Server-Instanz anschließend neu. Wenn der Verteiler auf einer 64-Bit-Plattform ausgeführt wird, müssen Sie die 64-Bit-Version des Oracle OLE DB-Anbieters verwenden.
Konfigurieren Sie die Oracle-Datenbank als Verleger auf dem SQL Server-Verteiler.
SQL Server unterstützt die folgenden heterogenen Szenarien für die Transaktions- und Momentaufnahmereplikation:
Veröffentlichen von SQL Server-Daten für Nicht-SQL Server-Abonnenten.
Beim Veröffentlichen von Daten an und von Oracle bestehen folgende Einschränkungen:
Szenario | 2016 oder früher | 2017 oder höher |
---|---|---|
Replikation von Oracle | Wird nur für Oracle 10g oder früher unterstützt | Wird nur für Oracle 10g oder früher unterstützt |
Replikation zu Oracle | Bis Oracle 12c | Nicht unterstützt |
Die heterogene Replikation an Nicht-SQL Server-Abonnenten ist veraltet. Das Veröffentlichen mit Oracle ist veraltet. Um Daten zu verschieben, erstellen Sie Lösungen mit Change Data Capture und SSIS.
Eine Liste der Objekte, die aus der Oracle-Datenbank repliziert werden können, finden Sie unter Überlegungen zum Entwurf und Einschränkungen für Oracle-Verleger.
Hinweis
Sie müssen ein Mitglied der festen Serverrolle sysadmin sein, um einen Verleger oder Verteiler zu aktivieren und um eine Oracle-Veröffentlichung bzw. ein Abonnement einer Oracle-Veröffentlichung erstellen zu können.
Erstellen des Schemas für den administrativen Replikationsbenutzer innerhalb der Oracle-Datenbank
Replikations-Agents stellen eine Verbindung mit der Oracle-Datenbank her und führen Operationen im Kontext eines Benutzerschemas aus, das Sie erstellen müssen. Diesem Schema müssen mehrere Berechtigungen erteilt werden, die im nächsten Abschnitt aufgeführt werden. Dieses Schema besitzt mit Ausnahme des öffentlichen Synonyms MSSQLSERVERDISTRIBUTOR alle Objekte, die durch den Microsoft SQL Server-Replikationsprozess auf dem Oracle-Verleger erstellt wurden. Weitere Informationen zu den in der Oracle-Datenbank erstellten Objekten finden Sie unter Objects Created on the Oracle Publisher.
Hinweis
Beim Löschen des öffentlichen Synonyms MSSQLSERVERDISTRIBUTOR und des konfigurierten Oracle-Replikationsbenutzers mit der CASCADE -Option werden alle Replikationsobjekte vom Oracle-Verleger entfernt.
Es wurde ein Beispielskript angegeben, um das Setup des Schemas für den Oracle-Replikationsbenutzer zu erleichtern. Nach dem Installieren von SQL Server ist das Skript im folgenden Verzeichnis verfügbar: <Laufwerk>:\\Programme\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Es ist auch im Thema Script to Grant Oracle Permissionsenthalten.
Stellen Sie mithilfe eines Kontos mit DBA-Berechtigungen eine Verbindung mit der Oracle-Datenbank her, und führen Sie das Skript aus. Dieses Skript fordert zur Eingabe des Benutzernamens und des Kennworts für das Schema des administrativen Replikationsbenutzers sowie der Standardtabellenbereich, in der die Objekte erstellt werden sollen (der Tabellenbereich muss in der Oracle-Datenbank bereits vorhanden sein), auf. Informationen zum Angeben anderer Tabellenbereiche für Objekte finden Sie unter Verwalten von Oracle-Tabellenbereichen. Wählen Sie einen beliebigen Benutzernamen und ein sicheres Kennwort aus. Notieren Sie sich jedoch beides, da Sie diese Informationen später beim Konfigurieren der Oracle-Datenbank als Verleger erneut bereitstellen müssen. Es empfiehlt sich, das Schema nur für Objekte zu verwenden, die für die Replikation erforderlich sind. Erstellen Sie keine Tabellen, die in diesem Schema veröffentlicht werden sollen.
Manuelles Erstellen des Benutzerschemas
Wenn Sie das Schema für den administrativen Replikationsbenutzer erstellen, müssen Sie dem Schema entweder direkt oder über eine Datenbankrolle folgende Berechtigungen erteilen:
CREATE PUBLIC SYNONYM und DROP PUBLIC SYNONYM
CREATE PROCEDURE
CREATE SEQUENCE
CREATE SESSION
Zudem müssen Sie dem Benutzer folgende Berechtigungen direkt (nicht über eine Rolle) erteilen:
CREATE ANY TRIGGER Dies ist sowohl bei der Momentaufnahme- als auch bei der Transaktionsreplikation erforderlich.
CREATE TABLE
CREATE VIEW
Installieren und Konfigurieren der Oracle-Clientnetzwerksoftware auf dem SQL Server-Verteiler
Sie müssen die Oracle-Clientnetzwerksoftware und den Oracle OLE DB-Anbieter auf dem SQL Server-Verteiler installieren, sodass der Verteiler Verbindungen mit dem Oracle-Verleger herstellen kann. Nach dem Installieren der Software legen Sie die entsprechenden Berechtigungen in den Ordnern fest, in denen die Software installiert wurde, und starten Sie dann die Instanz von SQL Server neu, um sicherzustellen, dass alle Einstellungen aktualisiert werden (Berechtigungen werden unten im Abschnitt zum Festlegen von Verzeichnisberechtigungen beschrieben).
Hinweis
Die Oracle-Clientnetzwerksoftware muss die neueste verfügbare Version aufweisen. Oracle empfiehlt Benutzern, die aktuellste Version der Clientsoftware zu installieren. Dabei ist die Clientsoftware häufig aktueller als die Datenbanksoftware.
Die einfachste Methode zum Installieren und Konfigurieren der Clientnetzwerksoftware ist das Verwenden von Oracle Universal Installer und des Net-Konfigurationsassistenten auf dem Datenträger des Oracle-Clients.
Im Oracle Universal Installer müssen Sie folgende Informationen angeben:
Informationen | Beschreibung |
---|---|
Oracle-Homeverzeichnis | Der Pfad zum Installationsverzeichnis für die Oracle-Software. Übernehmen Sie die Standardeinstellung (C:\oracle\ora90 oder Ähnliches), oder geben Sie einen anderen Pfad ein. Weitere Informationen zum Oracle-Homeverzeichnis finden Sie im Abschnitt zu Überlegungen zum Oracle-Homeverzeichnis weiter unten in diesem Thema. |
Oracle-Homeverzeichnisname | Alias für den Pfad zum Oracle-Homeverzeichnis. |
Installationstyp | Wählen Sie in Oracle 10g die Installationsoption Administrator aus. |
Wenn der Oracle Universal Installer abgeschlossen ist, konfigurieren Sie die Netzwerkkonnektivität mit Net Configuration Assistant. Zur Konfiguration der Netzwerkkonnektivität müssen Sie vier Informationen eingeben. Der Oracle-Datenbankadministrator, der die Netzwerkkonfiguration beim Einrichten der Datenbank und der Überwachung (Listener) konfiguriert, kann Ihnen diese Informationen geben, falls Sie sie nicht selbst besitzen. Führen Sie folgende Schritte aus:
Aktion | Beschreibung |
---|---|
Identifizieren Sie die Datenbank. | Es gibt zwei Methoden, mit denen Sie die Datenbank identifizieren können. Die erste Methode besteht darin, die Oracle SID (System Identifier) zu verwenden. Die SID ist in jeder Oracle-Version verfügbar. Die zweite Methode besteht darin, den Dienstnamen zu verwenden, der ab Oracle Version 8.0 verfügbar ist. Beide Methoden basieren auf einem Wert, der beim Erstellen der Datenbank konfiguriert wird. Wichtig ist dabei, dass Sie bei der Clientnetzwerkkonfiguration dieselbe Benennungsmethode verwenden wie der Administrator beim Konfigurieren des Listeners der Datenbank. |
Identifizieren Sie den Datenbankalias. | Für den Zugriff auf die Oracle-Datenbank müssen Sie einen Netzwerkalias angeben. Dieser Alias muss auch angegeben werden, wenn Sie die Oracle-Datenbank auf dem SQL Server-Verteiler als Verleger identifizieren. Der Netzwerkalias ist im Wesentlichen ein Zeiger auf die während der Erstellung der Datenbank konfigurierte Remote-SID bzw. den Service Name. In manchen Oracle-Versionen und -Produkten wird er u. a. auch als "Net Service Name" oder "TNS Alias" bezeichnet. SQL*Plus fordert bei der Anmeldung zur Eingabe dieses Netzwerkalias als Parameter "Host String" auf. |
Wählen Sie ein Netzwerkprotokoll aus. | Wählen Sie die Netzwerkprotokolle aus, die unterstützt werden sollen. Die meisten Anwendungen verwenden TCP. |
Geben Sie die Hostinformationen zur Identifikation des Datenbanklisteners an. | Der Host ist der Name oder DNS-Alias des Computers, auf dem der Oracle-Listener ausgeführt wird, d. h. normalerweise der Computer, auf dem sich die Datenbank befindet. Für bestimmte Protokolle müssen Sie zusätzliche Informationen angeben. Wenn Sie TCP ausgewählt haben, müssen Sie beispielsweise auch den Port angeben, an dem der Listener Verbindungsanforderungen zur Zieldatenbank überwachen soll. Standardmäßig verwendet die TCP-Konfiguration Port 1521. |
Festlegen von Verzeichnisberechtigungen
Dem Konto, unter dem der SQL Server-Dienst auf dem Verteiler ausgeführt wird, müssen Lese- und Ausführungsberechtigungen für das Verzeichnis (und alle Unterverzeichnisse) erteilt sein, in dem die Oracle-Clientnetzwerksoftware installiert ist.
Testen der Konnektivität zwischen dem SQL Server-Verteiler und dem Oracle-Verleger
Gegen Ende des Net Configuration Assistant sollte eine Option zum Testen der Verbindung mit dem Oracle-Verleger verfügbar sein. Stellen Sie sicher, dass die Oracle-Datenbankinstanz online ist und der Oracle-Listener ausgeführt wird, bevor Sie die Verbindung testen. Wenn der Test nicht erfolgreich ist, wenden Sie sich an den Administrator der Oracle-Datenbank, zu der Sie die Verbindung herstellen möchten.
Wenn Sie eine Verbindung mit dem Oracle-Verleger herstellen konnten, versuchen Sie, sich mit dem Konto und dem Kennwort bei der Datenbank anzumelden, die dem erstellten Schema für den administrativen Replikationsbenutzer zugeordnet sind. Beim Ausführen unter demselben Windows-Konto, das der SQL Server-Dienst verwendet, muss Folgendes ausgeführt werden:
Klicken Sie im Startmenüauf Ausführen.
Geben Sie
cmd
ein und klicken Sie dann auf OK.Geben Sie an der Eingabeaufforderung Folgendes ein:
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>
Beispiel:
sqlplus replication/$tr0ngPasswerd@Oracle90Server
Wenn die Netzwerkkonfiguration erfolgreich war, werden Sie jetzt angemeldet und sehen folgende
SQL
-Eingabeaufforderung.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.
Überlegungen zum Oracle-Homeverzeichnis
Oracle unterstützt die parallele Installation von Anwendungsbinärdateien; die Replikation kann jedoch nur einen Binärdateisatz gleichzeitig verwenden. Jeder Binärdateisatz ist einem Oracle-Homeverzeichnis zugeordnet; die Binärdateien befinden sich im Verzeichnis %ORACLE_HOME%\bin. Sie müssen sicherstellen, dass das richtige Set von Binärdateien (insbesondere die neueste Version der Clientnetzwerksoftware) verwendet wird, wenn die Replikation Verbindungen mit dem Oracle-Verleger herstellt.
Melden Sie sich mit den vom SQL Server-Dienst und dem SQL Server-Agentdienst verwendeten Konten beim Verteiler an, und legen Sie die entsprechenden Umgebungsvariablen fest. Die %ORACLE_HOME%-Variable muss auf den Installationspunkt verweisen, den Sie beim Installieren der Clientnetzwerksoftware angegeben haben. Der %PATH% muss das %ORACLE_HOME% \bin-Verzeichnis als ersten Oracle-Eintrag beinhalten. Informationen zum Festlegen von Umgebungsvariablen finden Sie in der Windows-Dokumentation.
Konfigurieren der Oracle-Datenbank als Verleger auf dem SQL Server-Verteiler
Oracle-Verleger verwenden immer einen Remoteverteiler. Sie müssen eine Instanz von SQL Server konfigurieren, die als Verteiler für den Oracle-Verleger fungieren soll (ein Oracle-Verleger kann nur einen Verteiler verwenden, ein Verteiler kann jedoch mehrere Oracle-Verleger bedienen). Nach dem Konfigurieren eines Verteilers identifizieren Sie über SQL Server Management Studio, Transact-SQL oder Replikationsverwaltungsobjekte (RMO) die Oracle-Datenbankinstanzen auf dem SQL Server-Verteiler, die als Verleger fungieren sollen. Weitere Informationen zum Konfigurieren eines Verteilers finden Sie unter Konfigurieren der Verteilung.
Hinweis
Ein Oracle-Verleger darf nicht denselben Namen aufweisen wie der zugehörige SQL Server-Verteiler oder wie ein anderer SQL Server-Verleger, der denselben Verteiler verwendet.
Wenn Sie die Oracle-Datenbank als Verleger identifizieren, müssen Sie eine Oracle-Veröffentlichungsoption auswählen: Vollständig oder Oracle-Gateway. Nachdem ein Verleger identifiziert wurde, kann diese Option nicht mehr geändert werden, ohne dass der Verleger gelöscht und neu konfiguriert wird. Bei Verwendung der Option Vollständig werden Momentaufnahme- und Transaktionsveröffentlichungen mit dem vollständigen Satz der unterstützten Funktionen für das Veröffentlichen mit Oracle bereitgestellt. Die Oracle-Gateway-Option bietet spezifische Entwurfsoptimierungen für die Verbesserung der Leistung für den Fall, dass die Replikation als Gateway zwischen Systemen fungiert.
Nachdem der Oracle-Verleger auf dem SQL Server-Verteiler identifiziert wurde, erstellt die Replikation einen Verbindungsserver mit dem Namen des TNS-Dienstes der Oracle-Datenbank. Dieser Verbindungsserver kann ausschließlich von der Replikation verwendet werden. Wenn Sie über eine Verbindungsserververbindung eine Verbindung mit dem Oracle-Verleger herstellen müssen, erstellen Sie einen anderen TNS-Dienstnamen, und verwenden Sie dann für den Aufruf von sp_addlinkedserver (Transact-SQL) diesen Namen.
Informationen zum Konfigurieren eines Oracle-Verlegers und zum Erstellen einer Veröffentlichung finden Sie unter Create a Publication from an Oracle Database.