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:
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.
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.
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:
SQL Server Management Studio: Jak Utwórz subskrypcję abonenta serwer-do SQL (SQL Server Management Studio)
Programowanie języka Transact-SQL replikacji: Jak Utworzyć subskrypcję, innej niż SQL Server abonenta (Programowanie replikacji Transact-SQL)
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:
Kliknij Start, a następnie kliknij przycisk uruchomić.
Typ cmd i kliknij przycisk OK.
W wiersz polecenia należy wpisać:
sqlplus <UserSchemaLogin>/<UserSchemaPassword>@<NetServiceName>
Na przykład: sqlplus replication/$tr0ngPasswerd@Oracle90Server
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 |