Konfigurieren eines Oracle-Verlegers
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 eins 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 den Server der Instanz von SQL Server 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 auf dem SQL Server-Verteiler als Verleger.
Eine Liste der Objekte, die von einer 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 erstellt wurden. Weitere Informationen zu den in der Oracle-Datenbank erstellten Objekten finden Sie unter Auf dem Oracle-Verleger erstellte Objekte.
Hinweis |
---|
Beim Löschen des öffentlichen Synonyms MSSQLSERVERDISTRIBUTOR und des konfigurierten Oracle-Replikationsbenutzers mit der CASCADE-Option werden alle Replikationsobjekte aus dem 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: <drive>:\\Programme\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Es ist auch im Thema Skript zum Erteilen von Oracle-Berechtigungen enthalten.
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 später beim Konfigurieren der Oracle-Datenbank als Verleger erneut zum Eingeben dieser Informationen aufgefordert werden. 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 Sie ist nur für die Momentaufnahme- und 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 allen Benutzern die Installation der neuesten Versionen der Clientsoftware. Aus diesem Grund weist die Clientsoftware häufig eine neuere Version auf 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 geben Sie folgende Informationen an:
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. |
Nachdem der Oracle Universal Installer abgeschlossen wurde, 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. |
Sie müssen ein Netzwerkalias angeben, das zum Zugreifen auf die Oracle-Datenbank verwendet wird. 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 Verweis auf den Remote-SID oder auf den Dienstnamen, der beim Erstellen der Datenbank konfiguriert wurde. Er wurde in den unterschiedlichen Oracle-Versionen und -Produkten unterschiedlich bezeichnet, unter anderem als Net Service Name und TNS-Alias. 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 beispielsweise TCP auswählen, müssen Sie den Anschluss angeben, an dem die Überwachung Verbindungsanforderungen an die Zieldatenbank überwacht. In der standardmäßigen TCP-Konfiguration wird Anschluss 1521 verwendet. |
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-Konfigurationsassistenten ist möglicherweise eine Option zum Testen der Verbindung mit dem Oracle-Verleger verfügbar. Vor dem Testen der Verbindung sollten Sie sicherstellen, dass eine Instanz der Oracle-Datenbank online ist und dass der Oracle Listener ausgeführt wird. Falls der Test nicht erfolgreich verläuft, wenden Sie sich an den Oracle-DBA, der für die Datenbank verantwortlich ist, mit der Sie versuchen eine Verbindung herzustellen.
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 auf Start und dann auf Ausführen.
Geben Sie cmd ein, und klicken Sie auf OK.
Geben Sie an der Eingabeaufforderung Folgendes ein:
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>
Beispiel: sqlplus replication/$tr0ngPasswerd@Oracle90Server
Wenn die Netzwerkkonfiguration erfolgreich durchgeführt wurde, wird der Anmeldevorgang erfolgreich ausgeführt, und eine SQL-Eingabeaufforderung wird angezeigt.
Wenn Sie Probleme haben, eine Verbindung mit der Oracle-Datenbank herzustellen, finden Sie entsprechende Informationen in dem Abschnitt in Problembehandlung bei Oracle-Verlegern, der sich mit Verbindungsproblemen zwischen dem SQL Server-Verteiler und der Oracle-Datenbankinstanz beschäftigt.
Überlegungen zu Oracle Home
Oracle unterstützt die gleichzeitige Installation von Anwendungsbinärdateien, es kann jedoch zu einem bestimmten Zeitpunkt jeweils nur ein Set von Binärdateien pro Replikation verwendet werden. 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 vom SQL Server Agent-Dienst 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. Nach dem Identifizieren eines Verlegers kann diese Option nicht mehr geändert werden, ohne den Verleger zu löschen und erneut zu konfigurieren. 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.
So konfigurieren Sie einen Oracle-Verleger und erstellen eine Veröffentlichung
SQL Server Management Studio: Vorgehensweise: Erstellen einer Veröffentlichung aus einer Oracle-Datenbank (SQL Server Management Studio)
Replikationsprogrammierung mit Transact-SQL: Vorgehensweise: Erstellen einer Veröffentlichung aus einer Oracle-Datenbank (Replikationsprogrammierung mit Transact-SQL)