Konfigurera en Oracle-Publisher

Gäller för:SQL Server

Publikationer från Oracle Publishers skapas på samma sätt som vanliga ögonblicksbilder och transaktionspublikationer skapas, men innan du skapar en publikation från en Oracle-Publisher måste du utföra följande steg (steg ett, tre och fyra beskrivs i detalj i det här avsnittet.):

  1. Skapa en administrativ replikeringsanvändare i Oracle-databasen med hjälp av det angivna skriptet.

  2. För de tabeller som du publicerar beviljar du SELECT-behörighet direkt på var och en av dem (inte via en roll) till den administrativa Oracle-användare som du skapade i steg ett.

  3. Installera Oracle-klientprogramvaran och OLE DB-providern på Microsoft SQL Server-distributören och stoppa och starta sedan om SQL Server-instansen. Om distributören körs på en 64-bitars plattform måste du använda 64-bitarsversionen av Oracle OLE DB-providern.

  4. Konfigurera Oracle-databasen som en Publisher på SQL Server Distributor.

SQL Server stöder följande heterogena scenarier för transaktions- och ögonblicksbildreplikering:

  • Publicera data från SQL Server till icke-SQL Server-prenumeranter.

  • Publicering av data till och från Oracle har följande begränsningar:

Scenario 2016 eller tidigare 2017 eller senare
Replikering från Oracle Stöd endast för Oracle 10g eller tidigare Stöd endast för Oracle 10g eller tidigare
Replikering till Oracle Upp till Oracle 12c Stöds ej

Heterogen replikering till icke-SQL Server-prenumeranter är inaktuell. Oracle Publishing är inaktuellt. Om du vill flytta data skapar du lösningar med hjälp av ändringsdatainsamling och SSIS.

En lista över objekt som kan replikeras från en Oracle-databas finns i Designöverväganden och begränsningar för Oracle Publishers.

Anmärkning

Du måste vara medlem i den fasta serverrollen sysadmin för att aktivera en Publisher eller distributör och skapa en Oracle-publikation eller en prenumeration från en Oracle-publikation.

Skapa det administrativa användarschemat för replikering i Oracle-databasen

Replikeringsagenter ansluter till Oracle-databasen och utför åtgärder i kontexten för ett användarschema som du måste skapa. Det här schemat måste tilldelas ett antal behörigheter, som listas i nästa avsnitt. Det här schemat äger alla objekt som skapats av Microsoft SQL Server replikeringsprocessen på Oracle-Publisher, med undantag för en offentlig synonym, MSSQLSERVERDISTRIBUTOR. Mer information om de objekt som skapats i Oracle-databasen finns i Objekt som skapats på Oracle-Publisher.

Anmärkning

Om du tar bort den publika synonymen MSSQLSERVERDISTRIBUTOR och den konfigurerade Oracle-replikeringsanvändaren med alternativet CASCADE, tas alla replikeringsobjekt bort från Oracle Publisher.

Ett exempelskript har angetts för att underlätta installationen av Oracle-replikeringsanvändarschemat. Skriptet är tillgängligt i följande katalog efter installationen av SQL Server: <enhet>:\\Program Files\Microsoft SQL Server\<InstanceName>\MSSQL\Install\oracleadmin.sql. Det ingår också i ämnet Skript för att bevilja Oracle-behörigheter.

Anslut till Oracle-databasen med ett konto med DBA-behörigheter och kör skriptet. Det här skriptet frågar efter användaren och lösenordet för det administrativa användarschemat för replikering samt standardtabellområdet där objekten ska skapas (tabellområdet måste redan finnas i Oracle-databasen). Information om hur du anger andra tabellområden för objekt finns i Hantera Oracle Tablespaces. Välj ett användarnamn och ett starkt lösenord, men anteckna båda eftersom du måste ange den här informationen senare när du konfigurerar Oracle-databasen som en Publisher. Vi rekommenderar att schemat endast används för objekt som krävs av replikeringen. skapa inte tabeller som ska publiceras i det här schemat.

Skapa användarschemat manuellt

Om du skapar det administrativa användarschemat för replikering manuellt måste du ge schemat följande behörigheter, antingen direkt eller via en databasroll.

  • CREATE PUBLIC SYNONYM och DROP PUBLIC SYNONYM

  • CREATE PROCEDURE

  • CREATE SEQUENCE

  • SKAPA SESSION

Du måste också ge användaren följande behörigheter direkt (inte via en roll):

  • Skapa valfri TRIGGER. Detta krävs endast för ögonblicksbildsreplikering och transaktionsreplikering.

  • CREATE TABLE

  • CREATE VIEW

Installera och konfigurera Oracle-klientnätverksprogram på SQL Server-distributören

Du måste installera och konfigurera Oracle-klientnätverksprogram och Oracle OLE DB-providern på SQL Server-distributören, så att distributören kan ansluta till Oracle-Publisher. När du har installerat programvaran anger du lämpliga behörigheter för de mappar där programvaran är installerad och stoppar och startar sedan om SQL Server-instansen för att säkerställa att alla inställningar uppdateras (behörigheter beskrivs senare i avsnittet "Ange katalogbehörigheter").

Anmärkning

Oracle-klientnätverksprogramvaran måste vara den senaste tillgängliga versionen. Oracle rekommenderar att användarna installerar de senaste versionerna av klientprogramvaran. Klientprogramvaran är därför ofta en nyare version än databasprogramvaran.

Det enklaste sättet att installera och konfigurera klientnätverksprogramvaran är att använda Oracle Universal Installer och Net Configuration Assistant på Oracle-klientdisken.

I Oracle Universal Installer måste du ange följande information:

Information Description
Oracle Home Det här är sökvägen till installationskatalogen för Oracle-programvaran. Acceptera standardvärdet (C:\oracle\ora90 eller liknande) eller ange en annan sökväg. Mer information om Oracle Home finns i avsnittet "Överväganden för Oracle Home" senare i det här avsnittet.
Oracle-hemnamn Ett alias för sökvägen till Oracle Home.
Installationstyp I Oracle 10g väljer du alternativet Administratörsinstallation .

När Oracle Universal Installer har slutförts använder du Net Configuration Assistant för att konfigurera nätverksanslutning. Du måste ange fyra informationsdelar för att konfigurera nätverksanslutningen. Oracle-databasadministratören konfigurerar nätverkskonfigurationen när du konfigurerar databasen och lyssnaren och bör kunna ange den här informationen om du inte har den. Du måste göra följande:

Action Description
Identifiera databasen Det finns två metoder för att identifiera databasen. Den första metoden använder Oracle System Identifier (SID) och är tillgänglig i varje Oracle-version. Den andra metoden använder tjänstnamnet, som är tillgängligt från och med Oracle version 8.0. Båda metoderna använder ett värde som konfigureras när databasen skapas och det är viktigt att klientnätverkskonfigurationen använder samma namngivningsmetod som administratören använde när du konfigurerade lyssnaren för databasen.
Identifiera ett nätverksalias för databasen Du måste ange ett nätverksalias som används för att komma åt Oracle-databasen. Du anger även det här aliaset när du identifierar Oracle-databasen som en Publisher på SQL Server Distributor. Nätverksaliaset är i princip en pekare till fjärr-SID eller tjänstnamn som konfigurerades när databasen skapades. Det har hänvisats till av flera namn i olika Oracle-versioner och produkter, inklusive Net Service Name och TNS Alias. SQL*Plus efterfrågar det här aliaset som värde för parametern "Värdsträng" när du loggar in.
Välj nätverksprotokollet Välj lämpliga protokoll som du vill stödja. De flesta program använder TCP.
Ange värdinformationen för att identifiera databaslyssnaren Värdnamnet är namnet eller DNS-aliaset på den dator där Oracle-lyssnaren körs, vilket vanligtvis är samma dator där databasen finns. För vissa protokoll måste du ange ytterligare information. Om du till exempel väljer TCP måste du ange den port där lyssnaren lyssnar efter anslutningsbegäranden till måldatabasen. Standardkonfigurationen för TCP använder port 1521.

Ange katalogbehörigheter

Det konto under vilket SQL Server-tjänsten på distributören körs måste beviljas läs- och körningsbehörigheter för katalogen (och alla underkataloger) där Oracle-klientnätverksprogramvaran är installerad.

Testa anslutningen mellan SQL Server-distributören och Oracle-Publisher

Nära slutet av Net Configuration Assistant kan det finnas ett alternativ för att testa anslutningen till Oracle-Publisher. Innan du testar anslutningen kontrollerar du att Oracle-databasinstansen är online och att Oracle-lyssnaren körs. Om testet misslyckas kontaktar du Oracle DBA som ansvarar för databasen som du försöker ansluta till.

När du har gjort en lyckad anslutning till Oracle-Publisher försöker du logga in på databasen med det konto och lösenord som är associerat med det administrativa användarschemat för replikering som du skapade. Följande måste utföras när du kör under samma Windows konto som SQL Server-tjänsten använder:

  1. Klicka på Start och sedan på Kör.

  2. Skriv cmd och klicka på OK.

  3. Skriv i kommandotolken:

    sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>

    Till exempel: sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. Om nätverkskonfigurationen lyckades lyckas inloggningen och du får en SQL uppmaning.

  5. Om du har problem med att ansluta till Oracle-databasen kan du läsa avsnittet "Den SQL Server distributören kan inte ansluta till Oracle-databasinstansen" i Felsöka Oracle Publishers.

Överväganden för Oracle Home

Oracle stöder separat installation av programbinärfiler, men endast en uppsättning binärfiler kan användas av replikering vid en viss tidpunkt. Varje uppsättning binärfiler är associerad med ett Oracle Home; binärfilerna finns i katalogen %ORACLE_HOME%\bin. Du måste se till att rätt uppsättning binärfiler (särskilt den senaste versionen av klientnätverksprogramvaran) används när replikeringen ansluter till Oracle Publisher.

Logga in på distributören med de konton som används av SQL Server-tjänsten och SQL Server Agent-tjänsten och ange lämpliga miljövariabler. Variabeln %ORACLE_HOME% ska anges så att den refererar till den installationspunkt som du angav när du installerade klientnätverksprogramvaran. %PATH% måste innehålla katalogen %ORACLE_HOME% \bin som den första Oracle-post som påträffas. Information om hur du anger miljövariabler finns i dokumentationen om Windows.

Konfigurera Oracle Database som en Publisher hos SQL Server Distributor

Oracle Publishers använder alltid en fjärransluten distributör; du måste konfigurera en instans av SQL Server att fungera som distributör för oracle-Publisher (ett Oracle-Publisher kan bara använda en distributör, men en enda distributör kan betjäna mer än en Oracle-Publisher). När en distributör har konfigurerats identifierar du Oracle-databasinstansen som en Publisher hos SQL Server-distributören via SQL Server Management Studio, Transact-SQL eller replikeringshanteringsobjekt (RMO). Mer information om hur du konfigurerar en distributör finns i Konfigurera distribution.

Anmärkning

Ett Oracle-Publisher kan inte ha samma namn som dess SQL Server-distributör eller samma namn som någon av de SQL Server utgivare som använder samma distributör.

När du identifierar Oracle-databasen som en Publisher måste du välja ett Oracle-publiceringsalternativ: Complete eller Oracle Gateway. När en utgivare har fastställts kan detta alternativ inte ändras utan att ta bort och konfigurera utgivaren på nytt. Alternativet Slutför är utformat för att tillhandahålla ögonblicksbilder och transaktionspublikationer med den fullständiga uppsättningen funktioner som stöds för Oracle-publicering. Oracle Gateway-alternativet ger specifika designoptimeringar för att förbättra prestanda för fall där replikering fungerar som en gateway mellan system.

När Oracle-Publisher har identifierats på SQL Server Distributor skapar replikering en länkad server med samma namn som TNS-tjänstnamnet för Oracle-databasen. Den här länkade servern kan endast användas av replikering. Om du behöver ansluta till Oracle-Publisher via en länkad serveranslutning skapar du ett annat TNS-tjänstnamn och använder sedan det här namnet när du anropar sp_addlinkedserver (Transact-SQL).

Information om hur du konfigurerar en Oracle-Publisher och skapar en publikation finns i Skapa en publikation från en Oracle-databas.