Стъпка 1.
| Инсталирайте и конфигурирайте клиентския Oracle софтуер на DB2 обединения
сървър като ползвате документацията, осигурена от Oracle.
Може да използвате SQL*Net или Net8, за да осъществявате достъп до
източници на данни на Oracle Версия 7 и Oracle Версия 8.
Препоръки за обединени сървъри, работещи на UNIX платформи:
| Направете заявка за повторно свързване на SQL*Net или Net8 при
инсталирането на клиентски Oracle софтуер.
|
|
Стъпка 2.
| Настройте променливите на обкръжението на източника на данни чрез
модифициране на файла DB2DJ.ini и задайте командата
db2set. Командата db2set обновява регистратурата
на DB2 профила с вашите настройки.
Файлът DB2DJ.ini съдържа конфигурационна информация за клиентския
Oracle софтуер, инсталиран на вашия обединен сървър. В разделена
система база данни можете да използвате един файл DB2DJ.ini за всички
възли в потребителския модел, или да използвате уникален
DB2DJ.ini файл за един или повече възли в определен
модел. В неразделена система бази данни може да има само по един файл
DB2DJ.ini за всеки потребителски модел.

| Преминете на 2, ако подразбиращите се настройки в DB2DJ.ini са
подходящи за вашата конфигурация.
|
- Редактирайте файла DB2DJ.ini, намиращ се в
sqllib/cfg и настройте следните променливи на обкръжението:
ORACLE_HOME
|
Настройте променливата от обкръжението ORACLE_HOME на собствената
директория на Oracle - например:
ORACLE_HOME=собствена_директория_на_oracle
SQL*Net и Net8 изисква тази променлива да бъде настроена преди да се
стартира вашия обединен модел. Ако тази променлива се промени,
обединеният модел трябва да бъде спрян и рестартиран, преди да влезе в сила
новата стойност на ORACLE_HOME.
Ако отделен потребител на обединения модел е задал променливата на
обкръжението ORACLE_HOME, те не се използва от обединения модел.
Обединеният модел използва само стойността на ORACLE_HOME, която е настроена в
регистратурата на DB2 профила.
| ORACLE_BASE
|
За обединени сървъри, работещи на версии на UNIX, ако настроите
променливата ORACLE_BASE при инсталирането на клиентския Oracle софтуер,
трябва да настроите и променливата от обкръжението ORACLE_BASE на обединения
сървър:
ORACLE_BASE=собствена_директория_на_oracle
| ORA_NLS
|
За обединени сървъри, работещи на версии на UNIX, които ще осъществяват
достъп до източници на данни на Oracle 7.2 или по-нов, настройте
променливата на обкръжението ORA_NLS:
ORA_NLS=собствена_директория_на_oracle/ocommon/nls/admin/data
| TNS_ADMIN
|
Ако файлът SQL*Net или Net8 tnsnames.ora се намира извън
подразбиращата се пътека за търсене, трябва да настроите променливата на
обкръжението TNS_ADMIN, за да посочите разположението на файла
tnsnames.ora; например:
TNS_ADMIN=x:\path\tnsnames.ora
За Windows сървъри:
| Подразбиращото се разположение на този файл зависи от клиентския софтуер,
който се използва:
- Ако използвате SQL*Net, tnsnames.ora е в директорията
%ORACLE_HOME%\NETWORK\ADMIN.
- Ако използвате Net8, tnsnames.ora е в директорията
%ORACLE_HOME%\NET8\ADMIN.
| За UNIX сървъри:
| Подразбиращото се разположение на този файл е
$ORACLE_HOME/admin/util/network
|
|
- Подайте командата db2set, за да обновите
регистратурата на DB2 профила с промените.
Ако използвате този DB2DJ.ini файл в неразделена система бази данни,
или ако искате стойностите в този DB2DJ.ini файл да се отнасят за
текущия възел, подайте командата:
db2set DB2_DJ_INI = sqllib/cfg/db2dj.ini
Ако използвате този DB2DJ.ini файл в разделена система бази данни и
искате стойностите от този DB2DJ.ini файл да се отнасят за всички възли
в потребителския модел, подайте командата:
db2set -g DB2_DJ_INI = sqllib/cfg/db2dj.ini
Ако използвате този DB2DJ.ini файл в разделена система бази данни и
искате стойностите от този DB2DJ.ini файл да се отнасят за определен
възел, подайте командата:
db2set -i INSTANCEX 3 DB2_DJ_INI = sqllib/cfg/node3.ini
където:
- INSTANCEX е името на потребителския модел.
- 3 е номерът на възел, както е показано във файла
db2nodes.cfg.
- node3.ini е модифицираната и преименуваната версия на
файла DB2DJ.ini
|
Стъпка 3.
| Уверете се, че SQL*Net или Net8 файлът tnsnames.ora е обновен за
всеки Oracle сървър, към когото са конфигурирани комуникации.
Във файла tnsnames.ora, SID е името на Oracle модела, а HOST е името
на хоста, на който се намира Oracle сървъра.
|
Стъпка 4.
| Спрете и стартирайте отново DB2 модела:
За Windows сървъри:
|
NET STOP име_на_модел
NET START име_на_модел
| За UNIX сървъри:
|
db2stop
db2start
|
|
Стъпка 5.
| Използвайте оператора CREATE WRAPPER, за да дефинирате обвиваща
библиотека, която ще се използва за достъп до Oracle източници на
данни. Обвиващите модули са механизъм, който се използва от обединените
сървъри за комуникиране с и извличане на данни от източници на данни.
Следният пример показва CREATE WRAPPER оператор:
CREATE WRAPPER SQLNET
където SQLNET е подразбиращото се име на обвиващия модул,
използван с SQL*Net клиентски софтуер на Oracle. Ако работите с Net8
клиентския софтуер на Oracle, използвайте NET8.
Може да замените подразбиращото се име с избрано от вас. Ако го
замените, трябва да включите и параметъра LIBRARY и името на обвиващата
библиотека за вашата DB2 сървър платформа. Повече информация за имената
на обвиващите библиотеки потърсете в SQL Справочник.
|
Стъпка 6.
| Опционално: Настройте променливата от обкръжението DB2_DJ_COMM, за
да съдържа обвиващата библиотека, която съответства на обвиващия модул,
създаден на предишната стъпка - например:
db2set DB2_DJ_COMM = libsqlnet.a
Променливата от обкръжението DB2_DJ_COMM контролира дали е зареден обвиващ
модул при инициализиране на обединения сървър, което може да подобри
производителността при осъществяване на достъп до Oracle източника на данни за
първи път. Повече информация за имената на обвиващите библиотеки
потърсете в the SQL Справочник.
|
Стъпка 7.
| Използвайте оператора CREATE SERVER, за да дефинирате всеки Oracle сървър,
към когото са конфигурирани комуникации - например:
CREATE SERVER ORASERVER TYPE ORACLE VERSION 7.2 WRAPPER SQLNET
OPTIONS (NODE "oranode")
където:
- ORASERVER е име, което задавате за Oracle сървъра. Името
трябва да бъде уникално.
- ORACLE е типът на източника на данни, към когото конфигурирате
достъп.
- 7.2 е версията на Oracle, до която осъществявате
достъп.
- SQLNET е името на обвиващия модул, който сте дефинирали в
оператора CREATE WRAPPER.
- oranode е името на възела, на който се намира
ORASERVER. Получете стойността на възела от файла
tnsnames.ora. За тази стойност е от значение дали се използват
малки или главни букви. Фигура 6 показва отношението на опцията на възела и файла
tnsnames.ora.
Въпреки че стойността на възела се посочва като опция, тя е необходима за
Oracle източниците на данни. Подробен списък на опциите потърсете в
SQL Справочник.
Фигура 6 показва информацията от файла tnsnames.ora,
производната таблица SYSCAT.SERVEROPTIONS и производната таблица
SYSCAT.SERVERS.
Фигура 6. Отношение между системните DB2 файлове и Oracle файла tnsnames.ora
|
Стъпка 8.
| Ако потребителският идентификатор или парола в обединения сървър са
различни от потребителския идентификатор или парола в Oracle източник на
данни, използвайте оператора CREATE USER MAPPING, за да трансформирате
локалния потребителски идентификатор към потребителския идентификатор и
парола, дефинирани в Oracle източника на данни - например:
CREATE USER MAPPING FOR DB2USER SERVER ORASERVER
OPTIONS ( REMOTE_AUTHID 'orauser', REMOTE_PASSWORD "dayl1te")
където:
- DB2USER е локалният потребителски идентификатор, който
трансформирате в потребителски идентификатор, дефиниран в Oracle източник на
данни.
- ORASERVER е името на Oracle източника на данни, което сте
дефинирали в оператора CREATE SERVER.
- orauser е потребителският идентификатор в Oracle източника на
данни, към когото трансформирате DB2USER. За тази стойност е
от значение дали се използват малки или главни букви.
Ограничение:
| Потребителският Oracle идентификатор (в Oracle източника на данни, а не в
DB2 обединения сървър) трябва да бъде създаден чрез Oracle командата
create user с клауза 'identified by', вместо с клауза
'identified externally'.
|
- dayl1te е паролата, асоциирана с "orauser".
За тази стойност е от значение дали се използват малки или главни
букви.
|
Стъпка 9.
| Използвайте оператора CREATE NICKNAME, за да зададете прякор за таблица
или производна таблица, разположена в Oracle източника на данни. Ще
използвате този прякор при изпращане на заявки към Oracle източника на
данни. Следният пример показва оператор CREATE NICKNAME:
CREATE NICKNAME ORASALES FOR ORASERVER.SALESDATA.MIDWEST
където:
- ORASALES е уникален прякор за Oracle таблицата или производната
таблица.
- ORASERVER.SALESDATA.MIDWEST е идентификатор,
съдържащ три части, за когото се използва следния формат:
източник_на_данни.отдалечена_схема.отдалечена_таблица
Повече информация за оператора CREATE NICKNAME потърсете в SQL
Справочник.
Повече информация за прякорите като цяло потърсете в Ръководство за
администриране.
|
Стъпка 10.
| Повторете предишната стъпка за всички обекти на бази данни, за които
искате да създадете прякори.
|
Стъпка 11.
| За всеки HOST в раздела DESCRIPTION на файла
tnsnames.ora обновете файла /etc/hosts за UNIX
сървъри и файла x:\winnt\system32\drivers\etc\hosts
за Windows сървъри, ако е необходимо.
Дали трябва да обновите този файл, зависи от това как е конфигуриран TCP/IP
във вашата система. Част от мрежата трябва да трансформира името на
отдалечен хост, посочено в раздел DESCRIPTION от файла tnsnames.ora
("oranode" в примера), в адрес. Ако във вашата мрежа има сървър за
имена, който разпознава хост името, не е необходимо да обновявате TCP/IP хост
файла. В противен случай трябва да има запис за отдалечения
хост. Обърнете се към мрежовия администратор, за да разберете как е
конфигурирана вашата мрежа.
|