DeepEdit!

Программирование баз данных на Oracle, техническая документация, литература, статьи и публикации

  • Увеличить размер шрифта
  • Размер шрифта по умолчанию
  • Уменьшить размер шрифта

Создание глобальной связи базы данных

Прежде всего выясним, какие функции выполняют глобальные связи баз данных. Глобальная связь базы данных дает возможность связать каждую базу данных, находящуюся в сети, со всеми остальными базами данных этой сети. Когда все они связаны между собой, любой пользователь сети может получить доступ к любому глобальному объекту, указав глобальное имя этого объекта в SQL-операторе или в определении объекта.
Вспомним о том, что такое глобальное имя базы данных. Глобальное имя используется для уникальной идентификации базы данных и записывается в виде данных, что ваша компания называется XYZ Corporation и занимается коммерческой деятельностью в Соединенных Штатах. Вашей базе данных присвоено имя SKDL. Домен Oracle, к которому принадлежит эта база данных, называется us.xyzcorp.com. В этом случае полным именем базы данных будет
SKDL.US.XYZCORP.COM.
Вернемся к глобальным связям баз данных. Чтобы в глобальной связи можно было использовать глобальное имя базы данных, параметр инициализации globalnames в файле init.ora должен иметь значение TRUE. В этом случае при регистрации базы данных прослушивающий процесс сохранит ее глобальное имя.
Теперь посмотрим, что происходит при использовании сервера имен Oracle. Когда сервер имен получает глобальное имя базы данных от прослушивающего процесса, он автоматически регистрирует у себя глобальную связь базы данных. Вам не нужно предпринимать никаких действий для регистрации или создания этой связи. Но откуда глобальное имя? Оно должно быть помещено в файл init.ora вашей базы дан как значение параметра service_name. Итак, проследим всю цепочку действий.
1.        В файле init.ora вы устанавливаете globaI_names = TRUE
и указываете глобальное имя базы данных: service_name = SKDL.US.XYZCORP.COM.
При запуске база данных регистрируется в прослушивающем процессе.
Сервер имен Oracle опрашивает прослушивающий
чтобы узнать о наличии новых регистрационных данных,
4.        Сервер имен Oracle получает от прослушивающего процесса
глобальное имя базы данных.
5.        Сервер имен Oracle создает глобальную связь базы данных,
используя указанное вами глобальное имя.
6.        Вы проверяете функционирование связи, вводя оператор select,
где EMPLOYEE — это глобально определенный объект. Вы можете создать глобальную связь базы данных самостоятельно,
вызвав утилиту Names Control и введя информацию о связи:
в котором используется эта связь. Последняя операция выглядит следующим образом:
Параметр -d показывает, что вы хотите использовать стандартный прослушиваемый адрес TCP/IP. В качестве указан TCP, хост-машиной является а порт имеет номер 1521.
Чтобы создать глобальную связь базы данных с помощью инструмента Net8 Assistant, выполните следующие действия:
Запустите Net8 Assistant. В системе UNIX для этого нужно ввести команду netasst из $ORACLE_HOME/bin, а в системе Windows NT выбрать пункт меню Start     Programs     OracleORACLE_HOME Network Administration Net8 Assistant.
В панели навигатора раскройте список Oracle Names щелкнув на значке плюса
Выберите сервер имен Oracle, к которому нужно добавить глобальную связь базы данных.
Выберите пункт Manage Data (Управление данными) в списке на правой панели.
Щелкните на вкладке Links (Связи) и выберите Add (Добавить).
Введите имя глобальной связи базы данных в поле DB Link Name.
Введите в полях User и Password имя пользователя и пароль учетной записи, привилегии которой позволяют создавать глобальную связь базы данных.
Щелкните на кнопке Execute (Выполнить) для создания связи.
Выберите пункт меню File      Save Network Configuration (Файл >~ Сохранить сетевую конфигурацию).

Внимание
Если параметр global_names в файле параметров инициализации (init.ora) имеет значение TRUE, то введенное имя глобальной связи должно быть глобальным именем базы данных.
Корпорация Oracle рекомендует создавать глобальную связь для каждой сетевой базы данных, чтобы глобальные объекты могли автоматически разделяться между всеми пользователями сети. Однако рекомендую вам проявлять большую осмотрительность, принимая решение о том, какая информация будет разделяться глобально и к каким объектам будет разрешен доступ всех пользователей сети.
 









jAntivirus