- •Структуры программных средств Oracle
- •Серверы и экземпляры баз данных
- •Запуск и остановка сервера
- •Авария сервера
- •Параллельный сервер и высокая степень доступности
- •Соединения сервера
- •Процессы Oracle8
- •Серверные фоновые процессы
- •Процесс записи в базу данных (dbwr)
- •Процесс записи в журнал (lgwr)
- •Процесс архивации (arch)
- •Процесс контрольной точки (ckpt)
- •Процесс системного монитора (smon)
- •Процесс монитора процессов (pmon)
- •Отдельные и многопоточные фоновые процессы
- •Различные архитектуры для поддержки соединений пользователей
- •Архитектура клиент/сервер
- •Архитектура процессов, специфичная для Oracle Выделенные серверы
- •Многопоточные серверы
- •Архитектура процесса однозадачного сервера
- •Области памяти и кэширование данных
- •Кэш-попадания, кэш-промахи и кэш-перезагрузки
- •Области памяти Oracle8
- •Буферный кэш
- •Размер буферного кэша
- •Разделяемый пул
- •Библиотечный кэш и разделяемые sql-операторы
- •Словарный кэш
- •Организация сети Oracle8 и Net8
- •Transparent Network Substrate (tns) и другие уровни Net8
- •Соединения, инициаторы и адресаты tns
- •Пулинг соединений
- •Мультиплексирование
- •Прослушивающий tns-процесс
- •Прослушивающие web-процессы
- •Tns-адресация
- •127.0.0.1 Localhost
- •128.126.50.100 Alitest1.Animatedlearning.Com alitest1
- •128.126.50.101 Client1.Animatedlearning.Com client1
- •128.126.50.100 Alitest1.Animatedlearning.Com oranamesrvr0
- •Имена Oracle
- •Средство многопротокольного обмена
- •Навигатор
- •Менеджер соединений
- •Линии перекачки данных
- •Конфигурация Net8
Transparent Network Substrate (tns) и другие уровни Net8
Программное средство Net8, выполняемое в сети Oracleкак на станциях клиентов, так и на серверах, состоит из трех различных уровней: уровняNet, уровня TNS и адаптера протокола.
Уровень Netна станции клиента разрешает приложению прозрачный доступ к удаленной базе данных при помощиSQL, как если бы база данных была на том же компьютере, что и клиент. УровеньNetна сервере позволяет ему получать и посылать данные в ответ на SQL-запросы клиентов, как если бы клиент работал на той же машине, что и север.
Уровень Transparent Network Substrate (TNS-прозрачный сетевой субстрат) -это программное средство, которое предоставляет клиентам и серверам простой прикладной программный интерфейс для всех сетевых протоколов, удовлетворяющих промышленным стандартам. Встраивая сетевые адаптеры протоколов в TNS, клиенты и серверы могут взаимодействовать при помощи любого сетевого протокола.
Адаптер протокола (protocol adapter)Oracleнеобходим для преобразования функциональных средств TNS в вид, понятный конкретному сетевому коммуникационному протоколу. В Net8 имеются адаптеры для всех широко распространенных сетевых протоколов, в том числеTCP/IP,IPX/SPX,DecNet,LU6.2 и др.).
Когда приложение клиента выполняет SQL-оператор, этот оператор проходит через каждый уровень Net8 на станции клиента, затем упаковывается и посылается по сети. Net8 на сервере открывает сетевой пакет и передает запрос через различные уровни (в обратном порядке) серверу базы данных, как если бы этот SQL-оператор был выдан локальным приложением. После обработки оператора сервер возвращает клиенту результаты через Net8 (в обратном порядке) и сеть.
Соединения, инициаторы и адресаты tns
TNS-соединение(TNS connection) -это устойчивая коммуникационная магистраль, соединяющая два узла сети, по которой данные пересылаются с одного компонента TNS на другой. В каждом соединении TNS один узел является инициатором(initiator)соединения, или просто инициатором, а другой - адресатом(destination).Как правило, инициатор в TNS-соединении - это клиент, а адресат - сервер базы данныхOracle. Однако в системе распределенной базы данных с помощью TNS-соединений могут взаимодействовать между собой и серверы. Более подробно о системах распределенных баз данных рассказано позже.
Пулинг соединений
Соединения обеспечивают работу приложений, которые большую часть времени бездействуют. Например, работая с приложением по вводу заказов при заполнении экранного бланка, продавец не посылает и не принимает какую-либо информацию через TNS-соединение.
Чтобы ограничить число физических сетевых соединений и более эффективно использовать ресурсы сети, Net8 может выполнять пулинг(pooling),или создавать пул(pool),состоящий из предварительно заданного числа TNS-соединений. Основные концепции пулинга соединений представлены на рис. 11.
При пулинге соединений простаивающий сеанс может временно разрешать другому сеансу использовать свое физическое TNS-соединение, а позже, когда первому сеансу вновь понадобится связь с сервером, его соединение восстанавливается. Поэтому пулинг соединений позволяет множеству сеансов взаимодействовать с сервером базы данных, совместно используя предварительно установленное число доступных TNS-соединений. При этом для обеспечения работы приложений расходуется меньше ресурсов, что повышает производительность сервера.
Сервер не начинает пулинг TNS-соединений до тех пор, пока не будет открыто заданное число физических сетевых соединений. Чтобы открыть следующее TNS-соединение, сервер базы данных должен сначала найти простаивающий сеанс, а затем логически переназначить соединение такого сеанса новому соединению. Предельное число физических сетевых соединений можно установить до запуска сервера при помощи соответствующего параметра конфигурации.