Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Publicaties van Oracle Publishers worden op dezelfde manier gemaakt als typische momentopnamen en transactionele publicaties, maar voordat u een publicatie maakt op basis van een Oracle-Publisher, moet u de volgende stappen uitvoeren (stap één, drie en vier worden in dit onderwerp gedetailleerd beschreven).):
Maak een gebruiker met replicatiebeheer in de Oracle-database met behulp van het opgegeven script.
Voor de tabellen die u publiceert, verleent u SELECT-machtigingen rechtstreeks aan de Oracle-gebruiker met beheerdersrechten (niet via een rol) die u in stap 1 hebt gemaakt.
Installeer de Oracle-clientsoftware en OLE DB-provider op de Microsoft SQL Server Distributor en stop en start het SQL Server-exemplaar opnieuw op. Als de distributeur wordt uitgevoerd op een 64-bits platform, moet u de 64-bits versie van de Oracle OLE DB-provider gebruiken.
Configureer de Oracle-database als een Publisher bij de SQL Server Distributor.
SQL Server ondersteunt de volgende heterogene scenario's voor transactionele en momentopnamereplicatie:
Gegevens publiceren van SQL Server naar niet-SQL Server-abonnees.
Het publiceren van gegevens naar en van Oracle heeft de volgende beperkingen:
| Scenario | 2016 of eerder | 2017 of hoger |
|---|---|---|
| Replicatie van Oracle | Alleen ondersteuning voor Oracle 10g of eerder | Alleen ondersteuning voor Oracle 10g of eerder |
| Replicatie naar Oracle | Tot en met Oracle 12c | Niet ondersteund |
Heterogene replicatie naar niet-SQL Server-abonnees is afgeschaft. Oracle Publishing is verouderd verklaard. Als u gegevens wilt verplaatsen, maakt u oplossingen met behulp van wijzigingsgegevens vastleggen en SSIS.
Zie Ontwerpoverwegingen en -beperkingen voor Oracle Publishers voor een lijst met objecten die kunnen worden gerepliceerd vanuit een Oracle-database.
Note
U moet lid zijn van de vaste serverfunctie sysadmin om een Publisher of Distributeur in te schakelen en een Oracle-publicatie of een abonnement te maken op basis van een Oracle-publicatie.
Het schema voor de replicatiebeheerder in de Oracle-database maken
Replicatieagents maken verbinding met de Oracle-database en voeren bewerkingen uit in de context van een gebruikersschema dat u moet maken. Aan dit schema moet een aantal machtigingen worden verleend, die worden vermeld in de volgende sectie. Dit schema is eigenaar van alle objecten die zijn gemaakt door het Microsoft SQL Server replicatieproces op de Oracle-Publisher, met uitzondering van een openbaar synoniem, MSSQLSERVERDISTRIBUTOR. Zie Objecten die zijn gemaakt op de Oracle-Publisher voor meer informatie over de objecten die zijn gemaakt in de Oracle-database.
Note
Als u het openbare synoniem MSSQLSERVERDISTRIBUTOR weghaalt en de geconfigureerde Oracle-replicatiegebruiker met de optie CASCADE verwijdert u alle replicatieobjecten uit de Oracle-Publisher.
Er is een voorbeeldscript verstrekt voor hulp bij het instellen van het Oracle-replicatiegebruikersschema. Het script is beschikbaar in de volgende map na installatie van SQL Server: <drive>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Het is ook opgenomen in het onderwerpScript om Oracle-machtigingen te verlenen.
Maak verbinding met de Oracle-database met behulp van een account met DBA-bevoegdheden en voer het script uit. Dit script vraagt om de gebruiker en het wachtwoord voor het schema van de replicatiebeheerders en de standaardtabelruimte waarin de objecten moeten worden gemaakt (de tabelruimte moet al bestaan in de Oracle-database). Zie Oracle-tabelruimten beheren voor informatie over het opgeven van andere tabelruimten voor objecten. Kies een gebruikersnaam en een sterk wachtwoord, maar noteer beide, omdat u deze informatie later moet opgeven wanneer u de Oracle-database configureert als een Publisher. Het wordt aanbevolen om het schema alleen te gebruiken voor objecten die door replicatie zijn vereist; maak geen tabellen die in dit schema moeten worden gepubliceerd.
Het gebruikersschema handmatig maken
Als u het gebruikersschema voor replicatiebeheer handmatig maakt, moet u het schema de volgende machtigingen verlenen, hetzij rechtstreeks of via een databaserol.
OPENBAAR SYNONYM MAKEN EN OPENBAAR VERWIJDEREN SYNONYM
CREATE PROCEDURE
CREATE SEQUENCE
SESSIE MAKEN
U moet ook de volgende machtigingen rechtstreeks aan de gebruiker verlenen (niet via een rol):
MAAK EEN TRIGGER. Dit is alleen vereist voor zowel momentopnamen als transactionele replicatie.
CREATE TABLE
CREATE VIEW
Oracle Client Networking Software installeren en configureren op de SQL Server Distributor
U moet Oracle-clientnetwerksoftware en de Oracle OLE DB-provider installeren en configureren op de SQL Server Distributor, zodat de distributeur verbinding kan maken met de Oracle-Publisher. Nadat u de software hebt geïnstalleerd, stelt u de juiste machtigingen in voor de mappen waarin de software is geïnstalleerd en start u het SQL Server exemplaar opnieuw op om ervoor te zorgen dat alle instellingen worden bijgewerkt (machtigingen worden later beschreven in de sectie Mapmachtigingen instellen).
Note
De Oracle-clientnetwerksoftware moet de meest recente versie zijn die beschikbaar is. Oracle raadt gebruikers aan de meest recente versies van clientsoftware te installeren. De clientsoftware is daarom vaak een recentere versie dan de databasesoftware.
De eenvoudigste manier om de clientnetwerksoftware te installeren en te configureren, is door gebruik te maken van de Oracle Universal Installer en Net Configuration Assistant op de Oracle-clientschijf.
In het Universele installatieprogramma van Oracle moet u de volgende informatie opgeven:
| Information | Description |
|---|---|
| Oracle Home | Dit is het pad naar de installatiemap voor de Oracle-software. Accepteer de standaardwaarde (C:\oracle\ora90 of vergelijkbaar) of voer een ander pad in. Zie de sectie 'Overwegingen voor Oracle Home' verderop in dit onderwerp voor meer informatie over oracle home. |
| Oracle-thuisnaam | Een alias voor het Oracle-basispad. |
| Installatietype | Selecteer in Oracle 10g de installatieoptie Administrator. |
Nadat het Oracle Universal Installer is voltooid, gebruikt u de Net Configuration Assistant om de netwerkverbinding te configureren. U moet vier stukjes informatie opgeven om de netwerkverbinding te configureren. De Oracle-databasebeheerder configureert de netwerkconfiguratie bij het instellen van de database en listener en moet deze informatie kunnen opgeven als u deze niet hebt. U moet het volgende doen:
| Action | Description |
|---|---|
| De database identificeren | Er zijn twee methoden voor het identificeren van de database. De eerste methode maakt gebruik van de Oracle System Identifier (SID) en is beschikbaar in elke Oracle-release. De tweede methode maakt gebruik van de servicenaam, die beschikbaar is vanaf Oracle-release 8.0. Beide methoden gebruiken een waarde die is geconfigureerd wanneer de database wordt gemaakt en het is belangrijk dat de clientnetwerkconfiguratie dezelfde naamgevingsmethode gebruikt die de beheerder heeft gebruikt bij het configureren van de listener voor de database. |
| Een netwerkalias voor de database identificeren | U moet een netwerkalias opgeven die wordt gebruikt voor toegang tot de Oracle-database. U geeft deze alias ook op wanneer u de Oracle-database identificeert als een Publisher bij de SQL Server Distributor. De netwerkalias is in feite een verwijzing naar de externe SID of servicenaam die is geconfigureerd toen de database werd gemaakt; er is naar verwezen door verschillende namen in verschillende Oracle-releases en -producten, waaronder Net Service Name en TNS Alias. SQL*Plus vraagt om deze alias als de parameter Host String wanneer u zich aanmeldt. |
| Het netwerkprotocol selecteren | Selecteer de juiste protocollen die u wilt ondersteunen. De meeste toepassingen gebruiken TCP. |
| Geef de hostgegevens op om de databaselistener te identificeren | De host is de naam of DNS-alias van de computer waarop de Oracle-listener wordt uitgevoerd. Dit is doorgaans dezelfde computer waarop de database zich bevindt. Voor sommige protocollen moet u aanvullende informatie opgeven. Als u bijvoorbeeld TCP selecteert, moet u de poort opgeven waarop de listener luistert naar verbindingsaanvragen naar de doeldatabase. De standaard-TCP-configuratie maakt gebruik van poort 1521. |
Mapmachtigingen instellen
Aan het account waaronder de SQL Server-service op de Distributeur wordt uitgevoerd, moeten lees- en uitvoeringsmachtigingen zijn verleend voor de map (en alle submappen) waarin de Oracle-clientnetwerksoftware is geïnstalleerd.
Connectiviteit testen tussen de SQL Server Distributor en de Oracle-Publisher
Aan het einde van de Net Configuration Assistant is er mogelijk een optie om de verbinding met de Oracle-Publisher te testen. Voordat u de verbinding test, moet u ervoor zorgen dat het Oracle-database-exemplaar online is en of de Oracle Listener wordt uitgevoerd. Als de test mislukt, neemt u contact op met de Oracle DBA die verantwoordelijk is voor de database waarmee u verbinding wilt maken.
Nadat u verbinding hebt gemaakt met de Oracle-Publisher, probeert u zich aan te melden bij de database met behulp van het account en wachtwoord dat is gekoppeld aan het schema van de replicatiebeheerder die u hebt gemaakt. Het volgende moet worden uitgevoerd onder hetzelfde Windows account dat door de SQL Server-service wordt gebruikt:
Klik op Start en klik vervolgens op Uitvoeren.
Typ
cmden klik op OK.Typ bij de opdrachtprompt:
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>Bijvoorbeeld:
sqlplus replication/$tr0ngPasswerd@Oracle90ServerAls de netwerkconfiguratie is geslaagd, slaagt de aanmelding en ziet u een
SQLprompt.Als u problemen ondervindt bij het maken van verbinding met de Oracle-database, raadpleegt u de sectie 'The SQL Server Distributor cannot connect to the Oracle database instance' in Troubleshooting Oracle Publishers.
Overwegingen voor Oracle Home
Oracle biedt ondersteuning voor het side-by-side installeren van binaire toepassingsbestanden, maar slechts één set binaire bestanden kan op een bepaald moment worden gebruikt door replicatie. Elke set binaire bestanden is gekoppeld aan een Oracle Home; de binaire bestanden bevinden zich in de map %ORACLE_HOME%\bin. U moet ervoor zorgen dat de juiste set binaire bestanden (met name de nieuwste versie van de clientnetwerksoftware) wordt gebruikt wanneer replicatie verbindingen maakt met de Oracle-Publisher.
Meld u aan bij de Distributeur met de accounts die worden gebruikt door de SQL Server-service en de SQL Server Agent-service en stel de juiste omgevingsvariabelen in. De %ORACLE_HOME% variabele moet worden ingesteld om te verwijzen naar het installatiepunt dat u hebt opgegeven toen u de clientnetwerksoftware hebt geïnstalleerd. De %PATH% moet de map %ORACLE_HOME% \bin bevatten als de eerste Oracle-vermelding die wordt aangetroffen. Zie de documentatie Windows voor informatie over het instellen van omgevingsvariabelen.
De Oracle Database configureren als een Publisher bij de SQL Server Distributor
Oracle Publishers gebruiken altijd een externe distributeur; u moet een exemplaar van SQL Server configureren om als distributeur voor uw Oracle-Publisher te fungeren (een Oracle-Publisher kan slechts één distributeur gebruiken, maar één distributeur kan meer dan één Oracle-Publisher gebruiken). Nadat een distributeur is geconfigureerd, identificeert u het Oracle-database-exemplaar als een Publisher bij de SQL Server Distributor via SQL Server Management Studio, Transact-SQL of Replicatiebeheerobjecten (RMO). Zie Distributie configureren voor meer informatie over het configureren van een distributeur.
Note
Een Oracle-Publisher mag niet dezelfde naam hebben als de SQL Server Distributor of dezelfde naam als een van de SQL Server Publishers die dezelfde distributeur gebruiken.
Wanneer u de Oracle-database identificeert als een Publisher, moet u een Oracle-publicatieoptie kiezen: Complete of Oracle Gateway. Nadat een Publisher is geïdentificeerd, kan deze optie niet meer worden gewijzigd zonder de Publisher te verwijderen en opnieuw te configureren. De optie Volledig is ontworpen om momentopnamen en transactionele publicaties te bieden met de volledige set ondersteunde functies voor Oracle-publicatie. De Oracle Gateway-optie biedt specifieke ontwerpoptimalisaties om de prestaties te verbeteren voor gevallen waarin replicatie fungeert als een gateway tussen systemen.
Nadat de Oracle-Publisher is geïdentificeerd bij de SQL Server Distributor, maakt replicatie een gekoppelde server met dezelfde naam als de TNS-servicenaam van de Oracle-database. Deze gekoppelde server kan alleen worden gebruikt door replicatie. Als u verbinding wilt maken met de Oracle-Publisher via een gekoppelde serververbinding, maakt u een andere TNS-servicenaam en gebruikt u deze naam bij het aanroepen van sp_addlinkedserver (Transact-SQL).
Zie Een publicatie maken op basis van een Oracle-database om een Oracle-Publisher te configureren en een publicatie te maken.