Удмуртский государственный университет
Кафедра высшей математики
Реферат по теме
«SQL*NET»
Проверил: Вотинцев А.А..
Ижевск
2003
Оглавление
Введение
1)Архитектура SQL*NET
2)Операции SQL*NET
3)Содержание файлов конфигурации
4)Практическая часть
5)Литература
Введение
SQL*Net - это программное обеспечение удаленного доступа к данным, принадлежащее корпорации Oracle. Этот продукт осуществляет все коммуникации (как клиент/сервер, так и сервер/сервер) через любую сеть. Благодаря SQL*Net, базы данных и их приложения могут располагаться на разных компьютерах и общаться как равные приложения. Используя SQL*Net, можно получать преимущества всех средств сервера Oracle.
Функции SQL*Net
SQL*Net предоставляет основу для двух дополняющих друг друга способов распределенных коммуникаций через сеть: клиент/сервер и сервер/сервер.
Распределенная обработка / Кооперативная обработка
При распределенной, или кооперативной, обработке клиенты и серверы взаимодействуют для разрешения единственной транзакции данных, - даже если приложения и базы данных являются разделенными логическими сущностями, в том числе и на разных физических машинах. Транзакция распределяется между местоположениями клиента и серверов; клиент и серверы должны кооперироваться, чтобы выполнить транзакцию.
Распределенная обработка позволяет распределять соответствующие ресурсы от подходящих машин в сети. Клиент, например, может выполняться на дружественной к пользователю графической рабочей станции или настольном компьютере, тогда как сервер может находиться на машине, более подходящей для эффективной обработки данных. Распределенная обработка также позволяет централизовать обрабатываемые данные, так что множество клиентских приложений могут одновременно обращаться к единственному серверу.
SQL*Net в распределенной обработке
SQL*Net отвечает за обеспечение связей между скооперированными партнерами в распределенной транзакции, будь то клиент/сервер или сервер/сервер. Когда клиент или сервер делает запрос на соединение, SQL*Net принимает этот запрос и, если в него вовлечено несколько машин, передает его своему нижележащему уровню, прозрачному сетевому субстрату (TNS), для передачи через подходящий коммуникационный протокол соответствующему серверу. На сервере, SQL*Net принимает запрос от TNS и передает его базе данных в виде сетевого сообщения с одним или несколькими параметрами (например, предложение SQL).
За исключением начального соединения, все приложения, как локальные, так и удаленные, генерируют одни и те же запросы, независимо от того, выполняются ли они на одном и том же компьютере или распределены между несколькими компьютерами. Рис.1 показывает локальное приложение (слева), в противоположность приложению клиент-сервер (справа). В обоих случаях приложение представляет собой экран ввода данных
Функциональные преимущества SQL*Net
SQL*Net предоставляет пользователям сетевых приложений следующие преимущества:
Конфигурация сервер/сервер
В конфигурации сервер/сервер, эта же способность работы в гетерогенной сети расширяется для обеспечения межбазовых коммуникаций для распределенных запросов и обновлений в Oracle.
В SQL*Net возможны два типа соединений сервер/сервер:
Конфигурация клиент/сервер
В среде SQL*Net , клиент и сервер могут принадлежать разным сетевым сообществам, соединенным через один или несколько экземпляров продукта MultiProtocol Interchange. Сообщество - это группа компьютеров, взаимодействующих друг с другом через один и тот же протокол транспортного уровня, такой как TCP/IP; компьютеры, разделяющие такой общий протокол, называются членами сообщества. Используя Interchange как посредник, приложения на машинах клиента и сервера могут связываться друг с другом даже при отсутствии общего транспортного протокола. Все данные, обмениваемые в приложениях клиент/сервер, продвигаются по своему пути при посредстве экземпляров Interchange.
Рис. 2 показывает соединение между клиентом и сервером, использующими различные протоколы в соседних сообществах. Обе сети соединены через MultiProtocol Interchange. На клиенте инсталлированы SQL*Net и протокольный адаптер Oracle, специфичный для Протокола A, в то время как на сервере инсталлированы SQL*Net и протокольный адаптер Oracle, специфичный для Протокола B. Interchange имеет адаптеры для обоих протоколов A и B.
Рис. 2. Работа в гетерогенной сети с соединением клиент/сервер
Рис. 1. Локальная и распределенная обработка
1. Архитектура SQL*Net
Для соединения клиента с сервером и установления сессии Oracle продукт SQL*Net использует прозрачный сетевой субстрат (TNS) и промышленные стандарты сетевых протоколов. В этом разделе будут описаны следующие пункты.
· прозрачный сетевой субстрат (Transparent Network Substrate, TNS)
Прозрачный сетевой субстрат
Прозрачный сетевой субстрат (TNS), образующий основу для нового поколения сетевых продуктов Oracle, представляет собой новую технологию, которая позволяет Oracle разворачивать сеть приложений над любыми существующими компьютерными сетями. Благодаря TNS, связываемость между приложениями (по принципу равный-с-равным) возможна там, где связываемость между машинами недоступна.
Коммуникационая роль SQL*Net
В распределенной транзакции, SQL*Net отвечает за посылку информации через различные сети от имени клиентского приложения или сервера базы данных. В любой такой конфигурации, имеются в общем случае два различных типа компьютеров, выступающих как клиент и сервер. SQL*Net гарантирует разрешение всех различий между клиентами и серверами, таких как внутренние представления данных или национальные наборы символов, обеспечивая тем самым прозрачность коммуникаций между клиентом и сервером. SQL*Net передает все коммуникационные задачи в TNS через его общие точки входа, и не зависит от специфики механизма коммуникаций, используемого под TNS (будь то TCP/IP, DECnet, разделяемая память и т.п.).
Распределенная обработка с SQL*Net
В выполнении распределенной транзакции участвуют несколько компонент программного обеспечения, в зависимости от типа транзакции (клиент/сервер или сервер/сервер). Рис. 3 показывает эти компоненты для сессии клиент/сервер
Рис.3. Компоненты сессии Oracle клиент/сервер
Клиентское приложение
Клиентское приложение обеспечивает всю пользовательскую деятельность, такую как символьный или графический интерфейс, управление экраном, представление данных, поток задачи и другую специфику приложения. Приложение определяет все операции SQL, которые необходимо направить серверу базы данных, и передает эти операции через пользовательский программный интерфейс (UPI).
Пользовательский программный интерфейс (UPI)
UPI представляет собой небольшой слой программного кода, который содержит всю информацию, необходимую для инициирования диалога SQL между клиентом и сервером. UPI определяет обращения к серверу для:
· синтаксического разбора предложений SQL
Two Task Common
Слой Two Task Common обеспечивает преобразование набора символов и типа данных между клиентом и сервером. Этот слой оптимизирован так, чтобы выполнять преобразование только при необходимости, для каждого соединения индивидуально.
SQL*Net
Роль SQL*Net состоит в установлении и поддержании соединения между клиентским приложением и сервером и обмене сообщениями между ними. Во время начального соединения, SQL*Net отвечает за установление различий во внутренних представлениях данных и наборах символов и определение того, какие преобразования требуются для данного соединения. SQL*Net принимает входящие соединения базы данных от сетевого приемника и передает управление серверу базы данных.
Прозрачный сетевой субстрат (TNS)
TNS принимает запросы от сетевых приложений, - в данном случае от SQL*Net, - и разрешает все общие вопросы межмашинной связываемости, такие как:
· как будут обрабатываться прерывания между клиентом и сервером в зависимости от возможностей каждой из сторон
Обобщенный набор функций TNS передает управление протокольному адаптеру Oracle для выполнения специфичного для сети вызова.