Udostępnij za pośrednictwem


Subskrybenci Oracle

Począwszy od SQL Server 2005, SQL Server obsługuje wypychanie subskrypcji Oracle dostawca Oracle OLE DB, dostarczonych przez Oracle.

Konfigurowanie subskrybenta Oracle

Aby skonfigurować subskrybenta Oracle, wykonaj następujące kroki:

  1. Instalowanie i konfigurowanie oprogramowania klient Oracle i Oracle OLE DB dostawca na SQL Server dystrybutor, tak aby dystrybutor może nawiązywać połączenia do subskrybenta Oracle.Oprogramowanie sieciowe klient Oracle powinny być dostępne najnowszej wersja.Oracle zaleca, aby użytkownicy zainstalowali najnowsze wersje klient oprogramowania.Oprogramowanie klient jest często nowsza wersja niż oprogramowania bazy danych.Najprostszą metodą instalacji oprogramowania jest użycie Instalatora Universal Oracle na dysku klienta Oracle.W Instalatorze Universal Oracle będzie dostarczyć następujących informacji:

    Informacyjne

    Opis

    Strona Główny programu Oracle

    Jest to ścieżka do katalogu instalacyjnego oprogramowanie Oracle.Zaakceptuj domyślne (C:\oracle\ora90 lub podobne) lub wprowadź inną ścieżka.Aby uzyskać więcej informacji na temat Główny Oracle można znaleźć w sekcji "Uwagi dla Oracle Główny" w dalszej części tego tematu.

    Nazwa domu Oracle

    Alias dla ścieżka macierzystego Oracle.

    Typ instalacji

    W Oracle 10 g, zaznacz Runtime lub Administrator opcji instalacji.

  2. Utwórz nazwę TNS subskrybenta.TNS (substratu sieci przezroczysty) jest warstwy komunikacji używany przez baz danych Oracle.Nazwę usługi TNS jest nazwą, której znany jest wystąpienie bazy danych Oracle w sieci.Podczas konfigurowania połączenia z bazą danych Oracle można przypisać nazwę usługi TNS.Replikacja wykorzystuje nazwę usługi TNS do zidentyfikowania abonenta i ustanawiania połączeń.

    Po zakończeniu pracy Instalatora Universal Oracle służy netto Asystenta konfiguracji do konfigurowania połączeń sieciowych.Należy podać czterech rodzajów informacji do konfigurowania połączeń sieciowych.Administrator bazy danych Oracle konfiguruje konfiguracja sieci, podczas konfigurowania bazy danych i odbiornika i powinny być w stanie dostarczyć te informacje, jeśli nie jest konieczne.Należy wykonać następujące czynności:

    Action

    Opis

    Określ bazę danych

    Istnieją dwie metody identyfikacji bazy danych.Pierwsza metoda wykorzystuje identyfikator systemu Oracle (SID) i jest dostępny w każdym wydaniu Oracle.Druga metoda używa nazwy usługi dostępnej, począwszy od Oracle w wersji 8.0.Obie metoda należy użyć wartości, skonfigurowany po utworzeniu bazy danych i jest ważne, że konfiguracja klient sieci używają tej samej metoda nazewnictwa, administrator podczas konfigurowania detektora dla bazy danych.

    Określić alias sieciowy dla bazy danych

    Należy określić alias sieciowy, który jest używany do dostępu do bazy danych Oracle.Alias sieciowy jest zasadniczo wskaźnik do zdalnego identyfikator SID lub nazwa usługi, który został skonfigurowany podczas tworzenia bazy danych; on została przekazana przez kilka nazw w różnych wydaniach Oracle i produktów, w tym netto nazwa i usługi TNS aliasu.SQL * Plus monity dla tego alias jako ciąg"Host" Parametr podczas logowania.

    Wybieranie protokół sieciowego

    Wybierz odpowiednie protokoły chcesz obsługiwać.Większość aplikacji używa protokołu TCP.

    Określ informacje hosta do identyfikowania odbiornika bazy danych

    Host jest nazwa lub alias DNS na komputerze działa odbiornika Oracle, który zazwyczaj jest tym samym komputerze, na którym znajduje się baza danych.Niektóre protokoły trzeba podać dodatkowe informacje.Na przykład wybrać TCP, należy podać port, na którym odbiornik jest nasłuchiwanie żądań połączeń do miejsce docelowe bazy danych.Domyślna konfiguracja TCP używa portu 1521.

  3. Tworzenie publikacja migawka lub transakcyjnych, włączanie nie-SQL Server abonentów, a następnie utworzyć subskrypcja wypychana dla subskrybenta.Aby uzyskać więcej informacji, zobacz:

Uprawnienia do katalogów

Konto, pod którym SQL Server usługa na uruchamia dystrybutor musi odczytać przyznane i wykonać uprawnienia do katalogu (i podkatalogach) zainstalowanym oprogramowanie sieciowe klient Oracle.

Testowanie łączności między SQL Server dystrybutora i Oracle Publisher

Koniec netto Asystenta konfiguracji może być opcję, aby przetestować połączenie Oracle subskrybenta.Przed przetestować połączenie, upewnij się, wystąpienie bazy danych Oracle jest w trybie online i systemem odbiornika Oracle.Jeśli test zakończy się niepowodzeniem, skontaktuj się administrator bazy danych Oracle, odpowiedzialne za próby nawiązania połączenia bazy danych.

Po utworzeniu połączenia do subskrybenta Oracle próby logowania do bazy danych przy użyciu tego samego konta i hasło skonfigurowane dla agenta dystrybucji subskrypcja:

  1. Kliknij Start, a następnie kliknij przycisk uruchomić.

  2. Typ cmd i kliknij przycisk OK.

  3. W wiersz polecenia należy wpisać:

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

    Na przykład: sqlplus replication/$tr0ngPasswerd@Oracle90Server

  4. Jeśli konfiguracja sieci zakończyła się pomyślnie, logowania się powiedzie się i zostanie wyświetlony SQL wiersza.

Zagadnienia dotyczące Główny Oracle

Oracle obsługuje instalację przez siebie plików binarnych aplikacji, ale tylko jeden zestaw pliki binarne mogą być używane przez replikację na danym czas.Każdy zestaw plików binarnych jest skojarzony z Główny Oracle; pliki binarne znajdują się w katalogu % ORACLE_HOME%\bin.Należy się upewnić, że poprawny zestaw plików binarnych (w szczególności najnowszą wersja klient oprogramowanie sieciowe) jest używany po replikacja połączeń subskrybenta Oracle.

Dziennik do dystrybutora z konta używane przez SQL Server usługa oraz SQL Server usługa agenta i zestaw zmienne środowiska właściwe.Zmienna % ORACLE_HOME % powinna być zestaw do odwoływania się do punktu instalacji określonych, gdy zainstalowane jest oprogramowanie sieciowe klient.% PATH % musi zawierać katalogu \bin % ORACLE_HOME % jako napotkania pierwszego wpisu Oracle.Aby uzyskać informacje dotyczące ustawiania zmiennych środowiskowych Zobacz dokumentację systemu Windows.

Ostrzeżenie

Jeśli masz więcej niż jeden Oracle domu na SQL Server dystrybutor, zapewnienia używa agenta dystrybucji najnowsze dostawca Oracle OLE DB.W niektórych przypadkach Oracle nie aktualizuje dostawca OLE DB domyślnie podczas aktualizacji składników klient na SQL Server dystrybutora.Odinstalowanie starego dostawca OLE DB i zainstalować najnowsze dostawca OLE DB.Więcej informacji na temat instalowania i odinstalowywania dostawca można znaleYć w dokumentacji programu Oracle.

Zagadnienia dotyczące abonentów Oracle

Oprócz okoliczności omówionych w temacie -Z SQL Server abonentów, należy rozważyć następujące zagadnienia podczas replikowania subskrybentom Oracle:

  • Oracle traktuje puste ciągi i wartości NULL jako NULL.Jest to ważne, jeśli zdefiniowano SQL Server kolumna NOT NULL, i jest replikowana kolumna subskrybenta Oracle.Aby uniknąć błędów podczas stosowania zmian do subskrybenta Oracle, należy wykonać jedną z następujących czynności:

    • Upewnij się, że puste ciągi nie są wstawiane do tabela opublikowane jako wartości kolumna.

    • Użyj –SkipErrors parametr agenta dystrybucji, jeśli jest powiadamiany o błędy w dzienniku historia agenta dystrybucji i kontynuować przetwarzanie.Specify the Oracle error code 1400 (-SkipErrors1400).Aby uzyskać więcej informacji dotyczących tego parametru, zobacz Pomijanie błędy replikacji transakcyjnej.

    • Zmodyfikuj skrypt tabela wygenerowane tworzenie, usuwanie atrybut NOT NULL z żadnych kolumn znaków, które mogą być powiązane puste ciągi i dostaw zmodyfikowany skrypt jako skrypt niestandardowy Utwórz stosowania artykuł @creation_script parametr sp_addarticle.

  • Subskrybenci Oracle obsługują opcję schematu z 0x4071.Aby uzyskać więcej informacji o opcjach schematu, zobacz sp_addarticle (języka Transact-SQL).

Mapowania typów danych programu SQL Server do Oracle

W poniższej tabela przedstawiono mapowania typu danych, które są używane, gdy dane są replikowane do subskrybenta z Oracle.

Typ danych programu SQL Server

Typ danych Oracle

bigint

NUMBER(19,0)

binary(1-2000)

RAW(1-2000)

binary(2001-8000)

BLOB

bit

NUMBER(1)

char(1-2000)

CHAR(1-2000)

char(2001-4000)

VARCHAR2(2001-4000)

char(4001-8000)

CLOB

date

DATA

datetime

DATA

datetime2(0-7)

Timestamp(7) Oracle 9 i Oracle 10; VARCHAR(27) for Oracle 8

datetimeoffset(0-7)

Timestamp(7) Z STREFĘ CZASOWĄ dla Oracle 9 i Oracle 10; VARCHAR(34) for Oracle 8

decimal(1-38, 0-38)

NUMER (1-38 0 38)

float(53)

ZMIENNOPRZ

float

ZMIENNOPRZ

geography

BLOB

geometry

BLOB

hierarchyid

BLOB

image

BLOB

int

NUMBER(10,0)

money

NUMBER(19,4)

nchar(1-1000)

CHAR(1-1000)

nchar(1001-4000)

NCLOB

ntext

NCLOB

numeric(1-38, 0-38)

NUMER (1-38 0 38)

nvarchar(1-1000)

VARCHAR2(1-2000)

nvarchar(1001-4000)

NCLOB

nvarchar(max)

NCLOB

real

Liczba rzeczywista

smalldatetime

DATA

smallint

NUMBER(5,0)

smallmoney

NUMBER(10,4)

sql_variant

Brak

sysname

VARCHAR2(128)

text

CLOB

time(0-7)

VARCHAR(16)

timestamp

RAW(8)

tinyint

NUMBER(3,0)

uniqueidentifier

CHAR(38)

varbinary(1-2000)

RAW(1-2000)

varbinary(2001-8000)

BLOB

varchar(1-4000)

VARCHAR2(1-4000)

varchar(4001-8000)

CLOB

varbinary(max)

BLOB

varchar(max)

CLOB

xml

NCLOB