Instalowanie i konfigurowanie - suplement

Dodawanie źródeł danych Oracle do systemu stowarzyszonego

Aby uzyskać dostęp do baz danych Oracle, przy użyciu pseudonimów:

Krok  1.

Zainstaluj i skonfiguruj oprogramowanie klienta Oracle na serwerze stowarzyszonym DB2, używając dokumentacji dołączonej do systemu Oracle.

W celu uzyskania dostępu do źródeł danych Oracle wersja 7 i Oracle wersja 8 można użyć SQL*Net albo Net8.

Zalecenie dla serwerów stowarzyszonych działających na platformach typu UNIX:

Podczas instalowania oprogramowania klienta Oracle zgłoś żądanie ponownego połączenia (relink) SQL*Net lub Net8.

Krok  2.

Ustaw zmienne środowiskowe źródła danych, modyfikując w tym celu plik DB2DJ.ini i wydając komendę db2set. Komenda db2set uaktualnia rejestr profilów DB2 zgodnie z wybranymi ustawieniami.

Plik DB2DJ.ini zawiera informacje o konfiguracji oprogramowania klienta Oracle zainstalowanego na serwerze stowarzyszonym. W systemie partycjonowanych baz danych można użyć jednego pliku DB2DJ.ini dla wszystkich węzłów w wybranej instancji, można także użyć unikalnego pliku DB2DJ.ini dla jednego lub kilku węzłów w wybranej instancji. W systemie baz danych bez partycji jedna instancja może mieć tylko jeden plik DB2DJ.ini.

Krótka ścieżka

Jeśli domyślne ustawienia w pliku DB2DJ.ini odpowiadają żądanej konfiguracji, należy przejść do punktu 2.

  1. Wyedytuj plik DB2DJ.ini znajdujący się w katalogu sqllib/cfg i ustaw następujące zmienne środowiskowe:

    ORACLE_HOME

    Ustaw zmienną środowiskową ORACLE_HOME na katalog osobisty Oracle, na przykład:

     ORACLE_HOME=katalog_osobisty_oracle
    

    SQL*Net i Net8 wymagają, aby zmienna ta była ustawiona przed uruchomieniem instancji stowarzyszonej. Jeśli ta zmienna została zmieniona, to przed uwzględnieniem nowej wartości zmiennej ORACLE_HOME instancja stowarzyszona musi być zatrzymana i uruchomiona ponownie.

    Jeśli pojedynczy użytkownik instancji stowarzyszonej ma ustawioną własną wartość zmiennej środowiskowej ORACLE_HOME, to nie jest ona używana przez instancję stowarzyszoną. Instancja stowarzyszona używa wyłącznie wartości zmiennej ORACLE_HOME ustawionej w rejestrze profilów DB2.

    ORACLE_BASE

    W przypadku serwerów stowarzyszonych uruchomionych w wersjach systemu UNIX, jeśli zmienna ORACLE_BASE została ustawiona podczas instalowania oprogramowania klienta Oracle, to zmienną środowiskową ORACLE_BASE należy ustawić także na serwerze stowarzyszonym.

    ORACLE_BASE=katalog_osobisty_oracle
    

    ORA_NLS

    W przypadku serwerów stowarzyszonych, uruchomionych w wersjach systemu UNIX, które będą miały dostęp do źródeł danych Oracle wersja 7.2 lub nowsza, należy ustawić zmienną środowiskową ORA_NLS:

    ORA_NLS=katalog_osobisty_oracle/ocommon/nls/admin/data
    



    Krótka ścieżka

    Więcej informacji na temat obsługi języka narodowego dla źródeł danych Oracle można znaleźć w sekcji Opcje stron kodowych systemu Oracle.

    TNS_ADMIN

    Jeśli plik tnsnames.ora SQL*Net or Net8 znajduje się poza domyślnymi ścieżkami wyszukiwania, to zmienną środowiskową TNS_ADMIN należy ustawić w taki sposób, aby określała położenie pliku tnsnames.ora; na przykład:

    TNS_ADMIN=x:\ścieżka\tnsnames.ora
    

    Dla serwerów typu Windows:

    Domyślne położenie tego pliku zmienia się w zależności od używanego oprogramowania klienta:

    • Jeśli jest używane oprogramowanie SQL*Net, to plik tnsnames.ora znajduje się w katalogu %ORACLE_HOME%\NETWORK\ADMIN.
    • Jeśli jest używane oprogramowanie Net8, to plik tnsnames.ora znajduje się w katalogu %ORACLE_HOME%\NET8\ADMIN.

    Dla serwerów typu UNIX:

    Domyślnym położeniem tego pliku jest katalog $ORACLE_HOME/admin/util/network.

  2. Aby zaktualizować rejestr profilów DB2 zgodnie z przeprowadzonymi zmianami, wykonaj komendę db2set.

    W przypadku pliku DB2DJ.ini w systemie baz danych bez partycji, lub zastosowaniu wartości znajdujących się w pliku DB2DJ.ini tylko do bieżącego węzła, należy wydać komendę:

    db2set DB2_DJ_INI = sqllib/cfg/db2dj.ini
    

    W przypadku pliku DB2DJ.ini w systemie partycjonowanych baz danych i zastosowania wartości znajdujących się w pliku DB2DJ.ini do wszystkich węzłów danej instancji, należy wydać komendę:

    db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini
    

    W przypadku pliku DB2DJ.ini w systemie partycjonowanych baz danych i zastosowania wartości znajdujących się w pliku DB2DJ.ini do wybranego węzła, należy wydać komendę:

    db2set -i INSTANCEX 3 DB2_DJ_INI = sqllib/cfg/node3.ini 
    

    gdzie:

    • INSTANCEX jest nazwą instancji.
    • 3 jest numerem węzła zgodnym z plikiem db2nodes.cfg.
    • node3.ini jest zmodyfikowaną i przemianowaną wersją pliku DB2DJ.ini.

Krok  3.

Upewnij się, czy plik tnsnames.ora SQL*Net lub Net8 został zaktualizowany dla wszystkich serwerów Oracle, dla których została skonfigurowana komunikacja.

W pliku tnsnames.ora SID jest nazwą instancji Oracle, a HOST jest nazwą hosta, na którym znajduje się serwer Oracle.

Krok  4.

Ponownie uruchom instancję DB2:

Dla serwerów typu Windows:

NET STOP nazwa_instancji
NET START nazwa_instancji

Dla serwerów typu UNIX:

   db2stop
   db2start

Krok  5.

Użyj instrukcji CREATE WRAPPER w celu zdefiniowania biblioteki wrappera, który będzie używany do uzyskania dostępu do źródeł danych Oracle. Wrappery to mechanizmy używane przez serwery stowarzyszone do komunikowania się ze źródłami danych i odczytywania z nich danych. Użycie instrukcji CREATE WRAPPER pokazuje przykład:

CREATE WRAPPER SQLNET 

gdzie SQLNET jest domyślną nazwą wrappera używanego z oprogramowaniem klienta SQL*Net systemy Oracle. W przypadku oprogramowania klienta Net8 systemu Oracle należy użyć nazwy NET8.

Nazwę domyślną można zastąpić nazwą wybraną przez siebie. Jednak w takim przypadku należy dołączyć parametr LIBRARY i nazwę biblioteki wrappera dla platformy serwera DB2. Więcej informacji na temat nazw bibliotek modułów nakładkowych można znaleźć w podręczniku SQL Reference.

Krok  6.

Opcjonalnie: Ustaw wartość zmiennej środowiskowej DB2_DJ_COMM, aby dołączyć bibliotekę wrappera, która odpowiada modułowi utworzonemu w kroku poprzednim, na przykład:

db2set DB2_DJ_COMM = libsqlnet.a

Zmienna środowiskowa DB2_DJ_COMM kontroluje, czy wrapper jest załadowany w chwili inicjowania serwera stowarzyszonego. Jeśli najpierw jest uzyskiwany dostęp do źródła danych Oracle, może nastąpić poprawa wydajności. Więcej informacji na temat nazw bibliotek modułów nakładkowych można znaleźć w podręczniku SQL Reference.

Krok  7.

Użyj instrukcji CREATE SERVER do zdefiniowania każdego serwera Oracle, dla którego konfigurowana jest komunikacja, na przykład:

CREATE SERVER ORASERVER TYPE ORACLE VERSION 7.2 WRAPPER SQLNET
OPTIONS (NODE "oranode")

gdzie:

  • ORASERVER jest nazwą przypisaną do serwera Oracle. Musi to być nazwa unikalna.
  • ORACLE jest typem źródła danych, do którego konfigurowany jest dostęp.
  • 7.2 jest wersją systemu Oracle, do którego ma być uzyskany dostęp.
  • SQLNET jest nazwą wrappera zdefiniowaną w instrukcji CREATE WRAPPER.
  • oranode jest nazwą węzła, w którym znajduje się ORASERVER. Wartość dla tego węzła zawiera plik tnsnames.ora. W przypadku tej wartości rozróżniane są wielkie i małe litery. Rysunek 6 przedstawia zależność między opcją węzła a plikiem tnsnames.ora.

    Chociaż wartość węzła jest określona jako opcjonalna, jest ona wymagana dla źródeł danych Oracle. Wyczerpującą listę opcji można znaleźć w podręczniku SQL Reference.

    Rysunek 6 ilustruje informacje zawarte w pliku tnsnames.ora, widok SYSCAT.SERVEROPTIONS i widok SYSCAT.SERVERS.

    Rysunek 6. Zależność między plikami systemowymi DB2 a plikiem tnsnames.ora systemu Oracle


    Pliki systemowe DB2 i Oracle

Krok  8.

Jeśli identyfikator użytkownika lub hasło dla serwera stowarzyszonego są inne niż identyfikator użytkownika lub hasło dla źródła danych systemu Oracle, należy użyć instrukcji CREATE USER MAPPING w celu odwzorowania lokalnego identyfikatora użytkownika na identyfikator użytkownika i hasło zdefiniowane dla źródła danych Oracle; na przykład:

CREATE USER MAPPING FOR DB2USER SERVER ORASERVER
OPTIONS ( REMOTE_AUTHID 'orauser', REMOTE_PASSWORD "dayl1te")

gdzie:

  • DB2USER jest lokalnym identyfikatorem użytkownika odwzorowanym na identyfikator użytkownika zdefiniowany dla źródła danych Oracle,
  • ORASERVER jest nazwą źródła danych Oracle zdefiniowaną w instrukcji CREATE SERVER,
  • orauser jest identyfikatorem użytkownika dla źródła danych Oracle, do którego jest odwzorowany DB2USER. Dla tej wartości rozróżniane są wielkie i małe litery.

    Ograniczenie:

    Identyfikator użytkownika Oracle (dla źródła danych Oracle, a nie dla serwera stowarzyszonego DB2) musi być utworzony za pomocą komendy systemu Oracle: create user z klauzulą 'identified by' zamiast klauzuli 'identified externally'.

  • dayl1te jest hasłem powiązanym z "orauser". W przypadku tej wartości rozróżniane są wielkie i małe litery.

Krok  9.

Użyj instrukcji CREATE NICKNAME w celu przypisania pseudonimu dla widoku lub tabeli znajdujących się w źródle danych Oracle. Pseudonim ten będzie używany podczas zapytań odnoszących się do źródła danych systemu Oracle. Użycie instrukcji CREATE NICKNAME ilustruje poniższy przykład:

CREATE NICKNAME ORASALES FOR ORASERVER.SALESDATA.MIDWEST

gdzie:

  • ORASALES jest unikalnym pseudonimem tabeli lub widoku Oracle,
  • ORASERVER.SALESDATA.MIDWEST jest trzyczęściowym identyfikatorem utworzonym według następującego formatu:

    nazwa_źródła_danych.nazwa_schematu_zdalnego.nazwa_tabeli_zdalnej

    Więcej informacji na temat instrukcji CREATE NICKNAME można znaleźć w podręczniku SQL Reference.

    Więcej informacji ogólnych na temat pseudonimów można znaleźć w podręczniku Administration Guide.

Krok 10.

Powtórz poprzedni krok dla wszystkich obiektów bazy danych, dla których chcesz utworzyć pseudonimy.

Krok 11.

W razie potrzeby, dla każdego parametru HOST w sekcji DESCRIPTION pliku tnsnames.ora zaktualizuj plik /etc/hosts dla serwerów typu UNIX i plik x:\winnt\system32\drivers\etc\hosts dla serwerów Windows.

Konieczność aktualizacji tego pliku zależy od sposobu, w jaki został skonfigurowany protokół TCP/IP w danej sieci. Część sieci musi wykonywać zlokalizować nazwę hosta zdalnego określoneą w części DESCRIPTION pliku tnsnames.ora (w tym przykładzie "oranode") na adres. Jeśli w sieci znajduje się serwer nazw, który rozpoznaje nazwę hosta, to nie należy aktualizować pliku hosts protokołu TCP/IP. Z drugiej strony, potrzebna jest pozycja dla hosta zdalnego. Informacje na temat konfiguracji sieci można uzyskać od administratora sieci.



Krótka ścieżka

Dodatkowe informacje na temat odwzorowań strony kodowej Oracle, można znaleźć w sekcji Opcje stron kodowych systemu Oracle.

Aby sprawdzić, czy serwer stowarzyszony został poprawnie skonfigurowany pod kątem uzyskania dostępu do źródeł danych, należy przejść do sekcji Sprawdzanie połączeń ze źródłami danych systemu Oracle.


[ Początek strony | Poprzednia strona | Następna strona | Spis treści | Indeks ]