ЭЛЕКТРОННАЯ БИБЛИОТЕКА КОАПП
Сборники Художественной, Технической, Справочной, Английской, Нормативной, Исторической, и др. литературы.



                 EНПКО Мекомп при Минчермете СССРF
E   SQL * NET        РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ
                                  Версия 1.1 F
                     26 августа 1986 года
                     ORACLE часть N.3604-V1.1

                     EORACLE
                     Система управления реляционной БД F
         Copyright 1986 Корпорация Oracle,Белмонт,Калифорния,США.
         Все права сохраняются.Отпечатано в США.
         Автор:   Донна Невиль
         Соавторы: Сайрил Скотт и Кен Джекобс
         Информация,содержащаяся в этой программной документации,
         является собственностью Корпорации ORACLE.Копирование это-
         го материала,полностью или частично,без письменного раз-
         решения Корпорации ORACLE строго запрещено.
                 Информация,содержащаяся в этом документе,может изменять-
         ся без предупреждения.Если у вас возникли трудности при
         использовании документации,пожалуйста сообщите нам о них
         в письменном виде.Корпорация ORACLE не будет отвечать за
         убытки и потери,возникшие из-за пользования этой докумен-
         тацией.
         
         Краткая документация Alfa и Beta:
         Краткая документация Alfa и Beta имеет статус предваритель-
         ной публикации.Она предназначена исключительно для демон-
         страционных целей,и мы предполагаем,что вы можете обнару-
         жить некоторые ошибки,от типографских опечаток до неточно-
         сти в данных.Информация,содержащаяся в этой документации,
         может изменяться без предупреждения и не быть характерной
         для используемого сетевого оборудования.Напоминаем,что
         Корпорация ORACLE не дает гарантий на эту документацию и
         не будет отвечать за убытки и потери,возникшие из-за поль-
         зования этой документацией.
                 ORACLE и SQL*Calc - зарегистрированные торговые марки
         Корпорации ORACLE.
                 SQL*Forms,SQL*Graph,SQL*Menu и SQL*Net - торговые марки
         Корпорации ORACLE.
                 Ada - зарегистрированная торговая марка Правительства США,
         объединенной программы Ada.
                 DECNET,VAX и VMS - зарегистрированные торговые марки
         Корпорации Digital Equipment.
                 AOS/VS - торговая марка Корпорации Data General.
                 UNIX(R) - зарегистрированная торговая марка AT&T Bell
         Laboratories.
    
                 SQL*Net.Руководство пользователя
   ЪДДДДДДДДДДДВДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДї
   і   Версия  і  Статус    і   История изменения     і    Дата    і
   і           і            і                         і            і
   і   1.1     і  Alpha     і   Оригинальное издание  і    6/86    і
   і           і            і   для SQL*Net V1.1. і            і
   і   1.1     і  Beta      і   Оригинальное издание  і    8/86    і
   і           і            і   для SQL*Net V1.1. і            і
   і   1.1     і  Продукция і   Оригинальное издание  і    8/86    і
   і           і            і   для SQL*Net V1.1. і            і
   АДДДДДДДДДДДБДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДЩ
    
E   ПРЕДИСЛОВИЕ F
E   АУДИТОРИЯ F
                  Руководство пользователя SQL*Net предназначено для
                  тех,кто желает выполнять операции сетевой обра-
                  ботки,используя программные продукты ORACLE.
                  Информация,содержащаяся в этом руководстве,рас-
                  считана на конечных пользователей,прикладных про-
                  граммистов и администраторов системы.
                                                        
E   СОДЕРЖАНИЕF
                  Ниже следует краткое содержание руководства.
                  
                  1.Введение в SQL*Net.Эта глава представляет об-
                     щее описание SQL*Net,описывает преимущества
                     сетевой обработки с использованием программных
                     продуктов ORACLE и возможности,представляемые
                     SQL*Net.Глава 1 включает также список сетевого
                     оборудования,которое поддерживает SQL*Net.
                  2.Архитектура SQL*Net.Эта глава описывает архи-
                     тектуру SQL*Net,которая обеспечивает среду се-
                     тевой обработки для ORACLE.В этой главе описа-
                     ны средства,общие для сетевого оборудования
                     всех ОС,такие как специфика-
                     ция БД,процедура подключения к БД
                     (для терминальных протоколов),и огра-
                     ничения,налагаемые SQL*Net.
                  3.Выполнение операций над БД с исполь-
                     зованием SQL*Net.В главе 3 дана информация о
                     том,как получить доступ к удаленной БД
                     при помощи каждого из 3 интерфейсов
                     ORACLE: Easy*,SQL* и Pro*.
                  4.Асинхронный протокол ORACLE.В этой главе дано
                     полное руководство по использованию как асинх-
                     ронного протокола,так и его составной части -
                     процедуры подключения autologon.В главе 4 опи-
                     сано,как указать соответствующие параметры
                     асинхронного протокола и процедуры autologon
                     как часть строки идентификации БД,а
                     так же объясняются требования к файлам
                     handshake (рукопожатие) процедуры autologon.
                  5.Протокол DECNet.Эта глава дает полную информа-
                     цию по использованию протокола DECNet.Глава 5
                     объясняет,как специфицировать протокол DECNet
                     и дает дополнительную информацию о том,как из-
                     менить значения по умолчанию для нормально ус-
                     тановленного соединения DECNet.
                  6.Протокол TCP/IP.Глава 6 дает информацию по ис-
                     пользованию протокола TCP/IP,описывает,как
                     специфицировать протокол TCP/IP как часть стро-
                     ки подключения logon,а также какую информацию
                     нужно подготовить.
                  Приложение A.В этом приложении представлена ин-
                     формация о том,как использовать Утилиту Испол-
                     нитель Autologon,инструмент,позволяющий поль-
                     зователям построить,оттестировать и отладить
                     диалог handshake на отдельной системе вне сети.
                  Приложение B.В этом приложении описан формат диа-
                     лога handshake.
                                     
E   ПУБЛИКАЦИИ,СВЯЗАННЫЕ С ЭТИМ ДОКУМЕНТОМ F
                  Кроме этого руководства при работе вы можете поже-
                  лать обратиться к следующим документам,опублико-
                  ванным Корпорацией ORACLE.Вы автоматически полу-
                  чите заглавие,которое отошлет вас к необходимому
                  продукту.Вам не обязательно нужны все из перечис-
                  ленных документов.Замечания по реализации часто
                  обновляются и отражают текущие изменения в продук-
                  тах.
                  Публикации Корпорации ORACLE:
                  Документация по ORACLE RDBMS:
                  * ORACLE RDBMS.Замечания по реализации,ORACLE
                    Часть N.3001
                  * ORACLE Обзор и введение в SQL,ORACLE Часть
                    N.3801
                  * ORACLE Руководство администратора БД,
                    ORACLE Часть N.3601
                  * ORACLE Руководство пользователя по утилитам,
                    ORACLE Часть N.3602
                  * SQL*Report.Замечания по реализации,ORACLE
                    Часть N.3012
                  * SQL*Report.Руководство пользователя,ORACLE
                    Часть N.3603
                  * ORACLE Сообщения об ошибках и коды,ORACLE
                    Часть N.3605
                  
                  Документация по различным продуктам прекомпилято-
                  ров (Pro*C,Pro*FORTRAN,Pro*COBOL,Pro*PL/I):
                  * ORACLE Программные интерфейсы.Замечания по
                    реализации,ORACLE Часть N.300
                  * Pro*C Руководство пользователя,ORACLE Часть
                    N.3504
                  * Pro*COBOL Руководство пользователя,ORACLE Часть
                    N.3503
                  * Pro*FORTRAN Руководство пользователя,ORACLE
                    Часть N.3502
                  
                  Документация по продукту SQL*Plus:
                  * SQL*Plus.Замечания по реализации.ORACLE Часть
                    N.3003
                  * SQL*Plus.Руководство пользователя.ORACLE Часть
                    N.3201
                  * Быстрый цикл SQL*Plus.ORACLE Часть N.3803
                  * SQL*Plus.Быстрое справочное руководство,ORACLE
                    Часть N.3703
                                      
                  Документация по продукту SQL*Forms:
                  * SQL*Forms.Замечания по реализации,ORACLE Часть
                    N.3004
                  * SQL*Forms.Руководство оператора,ORACLE Часть
                    N.3301
                  * SQL*Forms.Руководство проектировщика,ORACLE
                    Часть N.3302
                  * SQL*Forms.Быстрое справочное руководство опера-
                    тора,ORACLE Часть N.370
                  * SQL*Forms.Быстрое справочное руководство проек-
                    тировщика,ORACLE Часть N.3708
                  * Быстрый цикл SQL*Forms.ORACLE Часть N.3804
                  
                  Документация по продукту SQL*Menu:
                  * SQL*Menu.Замечания по реализации,ORACLE Часть
                    N.3009
                  * SQL*Menu.Руководство пользователя,ORACLE
                    Часть N.3303
                  * Быстрый цикл SQL*Menu.ORACLE Часть N.3808
                  
                  Документация по продукту Easy*SQL:
                  * Easy*SQL.Замечания по реализации,ORACLE Часть
                    N.3002
                  * Введение в Easy*SQL,ORACLE Часть N.3810
                  * Easy*SQL.Руководство пользователя,ORACLE
                    Часть N.3101
                  * Быстрый цикл Easy*SQL.ORACLE Часть N.3802
                  * Easy*SQL.Справочная карта,ORACLE Часть N.3702
                  
                  Документация по продукту SQL*Graph:
                  * SQL*Graph.Замечания по реализации.ORACLE Часть
                    N.3006
                  * SQL*Graph.Руководство пользователя,ORACLE
                    Часть N.3402
                  * Быстрый цикл SQL*Graph.ORACLE Часть N.3806
                  * SQL*Graph.Быстрое справочное руководство,
                    ORACLE Часть N.3706
                          
                  Документация по продукту SQL*Calc:
                  * Введение в SQL*Calc для пользователей
                    Lotus 1-2-3,ORACLE Часть N.3809
                  * SQL*Calc.Замечания по реализации.ORACLE Часть
                    N.3005
                  * SQL*Calc.Руководство пользователя,ORACLE
                    Часть N.3401
                  * Быстрый цикл SQL*Calc.ORACLE Часть N.3805
                  * SQL*Calc.Быстрое справочное руководство,
                    ORACLE Часть N.3705
                  
                  Для каждой отдельной операционной системы,на ко-
                  торой поддерживается ORACLE,предусмотрены также
                  руководства по установке и использованию,такие
                  как:
                  * ORACLE для DEC VAX/VMS Установка и руководство
                    пользователя,ORACLE Часть N.1001
                  * ORACLE для IBM VM/SP Установка и руководство
                    пользователя,ORACLE Часть N.1003
                  
E   ВАШИ ЗАМЕЧАНИЯ ПРИВЕТСТВУЮТСЯF
                  Мы ценим и приветствуем ваши замечания как замеча-
                  ния пользователей ORACLE и читателей руководств.
                  При создании,пересмотре и оценке наших публикаций
                  ваше мнение - это наиболее важная часть информа-
                  ции,которую мы получаем.В конце этого руководст-
                  ва имеется "Форма читательского отзыва",которую
                  мы предлагаем использовать,чтобы сообщить нам,
                  что вам нравится и что не нравится в этом (или
                  другом) руководстве ORACLE.Вы можете также свя-
                  заться с нами по следующему адресу:
                         
                        Technical Publications Manager
                        Oracle Corporation
                        20 Davis Drive
                        Belmont,California 94002
                        (415)598-8000
                                  
E                  СОДЕРЖАНИЕF
 E                 Глава 1.Введение в SQL*Net....................F
                  Что такое SQL*Net?..............................
                    Что такое распределенная обработка?...........
                    Архитектура SQL*Net...........................
                  Преимущества сетевой обработки
                  с использованием SQL*Net........................
                  Обзор возможностей SQL*Net......................
                  Оборудование,поддерживаемое SQL*Net............
                    Стратегия поддержки SQL*Net..................
                  Замечания по установке SQL*Net.................

  E                Глава 2.Архитектура SQL*Net..................F
                  Описание ......................................
                    Коммуникации терминал-процесс................
                    Коммуникации задача-задача...................
                    Требования SQL*Net к коммуникационным
                    протоколам...................................
                  Спецификация БД при использовании
                  SQL*Net........................................
                    Средство подключения autologon...............
                    Ограничения SQL*Net..........................
         
  E                Глава 3.Выполнение операций над БД
                   с использованием SQL*Net................F
                  Использование Easy*SQL с SQL*Net................
                    Опция LINK....................................
                    Панель link...................................
                    Выбор узла сети и подключение к ORACLE........
                    Выбор таблиц..................................
                    Выгрузка и загрузка...........................
                      Исходные и выходные таблицы.................
                    Выбор колонок для пересылки...................
                    Выбор строк для пересылки.....................
                    Завершение пересылки..........................
                      Ошибки при пересылке........................
                      Использование пересланных таблиц............
                  Использование SQL*Plus c SQL*Net................
                    Подключение к SQL*Plus........................
                    CONNECT.......................................
                    Команда COPY..................................
                    Синтаксис команды COPY........................
                      Параметры...................................
                      Опции.......................................
                      Примеры.....................................
                    Замечания по команде COPY.....................
                      Список имен колонок.........................
                      Сообщения об ошибках........................
                      Макроподстановки............................
                      Завершение транзакций в SQL*Plus............
                      Внутренние параметры........................
                  Использование программных интерфейсов ORACLE
                  с SQL*Net.......................................
                  Использование других утилит ORACLE с SQL*Net....
                                  
  E                Глава 4.Асинхронный протокол ORACLE...........F
                  Асинхронный и 3270PC/Irma коммуникационные
                  протоколы.......................................
                  Средство подключения autologon..................
                  Создание файлов handshake процедуры autologon...
                  Спецификация БД........................
                    Спецификация параметров локального порта,
                    асинхронных параметров и параметров autologon.
                      Параметры локального порта..................
                      Асинхронные параметры.......................
                      Параметры autologon.........................
                    Примеры спецификации БД..............
                      Пример 1....................................
                      Пример 2....................................
                      Пример 3....................................
                      Пример 4....................................
                      Пример 5....................................
                  Определение диалога handshake...................
  E                Глава 5.Протокол DECNet.......................F
                  Использование протокола DECNet..................
                    Спецификация БД......................
                    Архитектура...................................
  E                Глава 6.Протокол TCP/IP.......................F
                  Использование протокола TCP/IP..................
                    Спецификация БД......................
                    Архитектура...................................
  E                Приложение A.Утилита Исполнитель autologon....F
                  Использование утилиты Исполнителя autologon.....
                    Формат команд ALX.............................
                  Команды ALX.....................................
                  Послать асинхронное прерывание..................
                    Синтаксис ....................................
                    Описание......................................
                  Вызвать интерпретатор командной строки..........
                    Синтаксис ....................................
                    Описание......................................
                  Создать диалог..................................
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Отобразить диалог...............................
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Определить подстановочную переменную............
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Выполнить диалог................................
                    Синтаксис ....................................
                    Описание......................................
                  Help (помощь)...................................
                    Синтаксис ....................................
                    Описание......................................                    Пример........................................76
                  Открыть порт....................................
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Восстановить диалог.............................
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Сохранить диалог................................
                    Синтаксис ....................................
                    Описание......................................
                    Пример........................................
                  Переключить формат трассы.......................
                    Синтаксис ....................................
                    Описание......................................
                  Примеры сеансов ALX.............................
                    Пример 1......................................
                    Пример 2......................................
  E                Приложение B.Определение диалога handshake....F
                  Примеры диалога handshake.......................
                    Пример 1......................................
                    Пример 2......................................
                    Пример 3......................................
                    Пример 4......................................
  E                Глоссарий.....................................F
  E                Индекс........................................F
                   
E   ГЛАВА 1.ВВЕДЕНИЕ В SQL*NET F
                  Эта глава дает введение в SQL*Net и включает  сле-
                  дующую информацию:
                  * общее описание SQL*Net и его применений
                  * обсуждение преимуществ,которые дает использова-
                    ние SQL*Net
                  * обзор возможностей SQL*Net
                  * список оборудования,которое поддерживает SQL*Net
                    в настоящее время
                                                           
E   ЧТО ТАКОЕ SQL*NET? F
                  SQL*Net (прежнее  название ORACLE*Net)  - это уро-
                  вень программного обеспечения,взаимодействующего
                  с коммуникационными программами различных ОС
                  и обеспечивающего среду  распределен-
                  ной обработки  для  Системы Управления Реляционной
                  БД ORACLE (RDBMS).Как результат,грани-
                  цы между различными типами оборудования и ОС
                  в сети фактически устраняются.
                        До версии 5  архитектура ORACLE позволяла приложе-
                  ниям подключаться   только   к    одной    заранее
                  определенной БД  в одном заранее опреде-
                  ленном месте сети.Далее,прикладные  программы
                  д.б. обслуживаться тем же процессором,что
                  и БД.SQL*Net был включен в  версию  5.0
                  ORACLE (RDBMS)  как отдельный программный продукт,
                  позволяющий прикладной программе,выполняющейся на
                  одной машине,получить доступ и манипулировать
                  данными в БД ORACLE,находящейся на дру-
                  гой машине.Прикладной программой в этом случае
                  м.б. или утилита корпорации ORACLE,или дру-
                  гая программа,созданная с использованием програм-
                  мных интерфейсов ОRACLE.Дополнительно версия  1.0
                  SQL*Net позволяет  приложениям  динамически связы-
                  ваться со многими БД ORACLE в узлах се-
                  ти,используя различные коммуникационные протоко-
                  лы.
                          Для пользователей  Версии  5.0 ORACLE*Net (которая
                  поддерживает коммуникационный   протокол   DECNet)
                  заметим,что главное отличие Версии 5.0 ORACLE*Net
                  заключается в  поддержке  асинхронного  протокола,
                  протокола 3270PC/Irma  и протокола TCP/IP.Асинх-
                  ронный протокол ORACLE  обеспечивает  коммуникации
                  типа терминал/хост-машина  между клиентом (IBM/PC)
                  и сервером в сети со следующими хост-машинами:
                  VAX/VMS,AOS/VS,VAX/UNIX,IBM/VM и IBM/MVS.
                  Хотя обычно асинхронный протокол используется
                  IBM/PC для подключения к хост-машине,этот прото-
                  кол м.б. также использован для  связи  между
                  двумя системами VAX или двумя машинами IBM.Прото-
                  кол 3270PC/Irma обеспечивает связь между IBM/PC и
                  IBM/VM или  IBM/MVS.Протокол TCP/IP обеспечивает
                  сетевую поддержку для различных реализаций UNIX.
                   
E   Что такое распределенная обработка?F
                  Распределенная обработка - это процесс,в котором
                  программы в различных узлах сети координируют свои
                  действия,посылая сообщения по сети.Пользователи
                  среды распределенной обработки должны  иметь  воз-
                  можность идентифицировать  местонахождение удален-
                  ной БД и послать сообщение  по  сети  для
                  инициирования удаленного процесса.Распределенная
                  БД напротив,обеспечивает синхронизацию
                  одновременного доступа  пользователей к данным,а
                  местонахождение данных становится  прозрачным  для
                  пользователя.
                          Среда распределенной обработки в общем не  поддер-
                  живает соединения  в сети и не поддерживает опера-
                  ции по доступу более чем к одному узлу сети в  от-
                  дельном операторе.
                          SQL*Net позволяет приложениям находиться на маши-
                  не,отличной от той,где находится БД,и
                  обеспечивает средства переноса данных с одного уз-
                  ла сети на другой.SQL*Net может использоваться
                  приложениями ORACLE для обеспечения возможностей,
                  характерных для распределенной обработки (доступ к
                  данным в удаленном узле и т.п.).В дополнение воз-
                  можность распределенных запросов,обеспеченная яд-
                  ром ORACLE,позволяет в одном операторе SQL обра-
                  титься более чем к одному узлу сети и поддерживает
                  соединения в сети.Имеется также возможность напи-
                  сать приложения,использующие программные интер-
                  фейсы ORACLE,для выполнения операций более чем в
                  одном узле сети.
                                
E   Архитектура SQL*Net F
                  
                  SQL*Net выполняет распределенную обработку,объ-
                  единяя коммуникации между несколькими узлами  сети
                  в коммуникации типа  процесс-процесс,допускаемые
                  двухзадачной архитектурой ORACLE.ORACLE RDBMS ос-
                  нован на двухзадачной архитектуре,которая означа-
                  ет,что задача пользователя (приложение)  выполня-
                  ется как  отдельный  процесс  ОС
                  наряду с задачей сервера (ядра ORACLE).Эти 2
                  задачи взаимодействуют,используя возможности свя-
                  зи между процессами,обеспечиваемые OC.
                          Когда используется SQL*Net,эти связи между  про-
                  цессами действуют в сети так же,как и между про-
                  цессами на одной машине.Эта схема  известна  как
                  модель операции клиент/сервер.В этой модели кли-
                  ент - прикладная  программа  или  инструментальное
                  средство,а сервер - ORACLE RDBMS.В традиционной
                  однопроцессорной среде клиент и сервер выполняются
                  на одной машине,на которой находятся и файлы базы
                  данных.SQL*Net позволяет программе клиента выпол-
                  няться на машине,отличной от той,на которой на-
                  ходится ядро (и БД).Программа клиента
                  запрашивает обслуживание сервера,посылая сообще-
                  ние по сети.
                  В главе 2 описано более детально,как SQL*Net ис-
                  пользует модель операций клиент/сервер для выпол-
                  нения распределенной обработки.
                         
E   ПРЕИМУЩЕСТВА СЕТЕВОЙ ОБРАБОТКИ С ИСПОЛЬЗОВАНИЕМ SQL*NET F
                  Одна из  наиболее важных черт программного обеспе-
                  чения ORACLE состоит в функциональной полноте,не
                  зависящей от  операционной среды.Благодаря этому
                  ORACLE идеально приспособлен для среды сетевой об-
                  работки.
                          Пожалуй,наиболее важным преимуществом использова-
                  ния SQL*Net для выполнения распределенной обработ-
                  ки является то,что он способствует эффективному
                  использованию доступного оборудования.Так как
                  SQL*Net позволяет продуктам ORACLE,размещенным на
                  различном оборудовании,взаимодействовать  друг с
                  другом через сеть,администратор БД имеет
                  свободу в выборе наиболее подходящего оборудования
                  для отдельных приложений.
                          Например,SQL*Net позволяет SQL*Calc выполняться
                  на PC,получая доступ к БД,размещенной в
                  центральной системе,такой как миникомьютер  или
                  большая машина.Это дает возможность использовать
                  преимущества обеих машин: SQL*Calc использует быс-
                  трое время ответа PC,а БД использует эф-
                  фективное разделение данных,быстрый ввод-вывод и
                  дешевое время процессора миникомпьютера или боль-
                  шой машины.
                          Во-вторых,сетевая обработка идеально приспособле-
                  на к оборудованию БД,так как она обеспе-
                  чивает путь доступа к данным,распределенным по
                  географически удаленным участкам сети.Например,
                  используя SQL*Net,возможно распределить ведомст-
                  венные или региональные вычислительные потребности
                  между небольшими локальными машинами,сохраняя при
                  этом способность выгружать и загружать данные в
                  большие центральные ЭВМ для совместной обработки.
                  В качестве примера можно рассмотреть региональный
                  торговый центр,оснащенный MICROVAX и связанный с
                  большой удаленной VAX для ежедневной выгрузки за-
                  казов и загрузки инвентарных и отчетных данных.
                  Этот пример также иллюстрирует тот факт,что
                  SQL*Net поощряет эффективное распределение данных
                  и,следовательно,загрузку обрабатывающих мощнос-
                  тей.
                          Другое преимущество сетевой обработки состоит в
                  том,что она более эффективна с точки зрения сто-
                  имости при расширении системы,чем независимая вы-
                  числительная установка.Например,выгоднее присое-
                  динить несколько РС к сети для доступа к большой
                  ЭВМ,чем приобрести новую ЭВМ.Сетевая обработка
                  позволяет небольшим дешевым компьтерам использо-
                  вать мощность больших систем.
                          Еще одним преимуществом оборудования,использующе-
                  го SQL*Net,является то,что приложения,создавае-
                  мые с использованием ORACLE,становятся доступными
                  по всей сети,что облегчает создание и совершенст-
                  вование приложений.Так как приложения,создавае-
                  мые с использованием ORACLE,легко переносятся с
                  одной системы на другую,для развития всей системы
                  достаточно иметь дело с отдельными приложениями,
                  которые выполняются идентично и имеют те же интер-
                  фейсы пользователя в каждой системы сети.
                  Эти приложения могут теперь выполняться из любой
                  системы сети и получать доступ к любой БД
                  ORACLE.Возможно также написать программы на языке
                  высокого уровня с использованием программных ин-
                  терфейсов ORACLE; эти интерфейсы включают функции
                  SQL*Net.Возможно даже написать программы на языке
                  высокого уровня,которые обращаются к нескольким
                  узлам сети - эта функция обычно недоступна.
                          Далее,безопасность и целостность БД,
                  обычно обеспечиваемая на локальном уровне,теперь
                  поддерживается на всей сети.
                          Итак,использование SQL*Net имеет следующие пре-
                  имущества:
                  * вычислительные можности используются более эффе-
                    ктивно
                  * обработка данных м.б. распределена между
                    географически удаленными узлами
                  * выгрузка и загрузка обрабатываемых данных м.б. распределена
                  более эффективно
                  * увеличение вычислительной мощности м.б.
                    реализовано более экономично
                  * облегчается развитие прикладного программного
                    обеспечения
                  * безопасность и целостность данных обеспечивается
                    на всей сети
                        Это только часть из преимуществ,предоставляемых
                  SQL*Net.В следующем разделе перечислены характер-
                  ные возможности SQL*Net.

E   ОБЗОР ВОЗМОЖНОСТЕЙ SQL*NET F
                  SQL*Net предлагает следующие возможности:
                  * Пользователь SQL*Net в любом месте сети может
                    подсоединиться к любой БД в этой сети
                    простой процедурой подключения к удаленной БД.
                  * SQL*Net разрешает доступ к нескольким БД
                    ,даже одновременный.Так,можно использовать
                    локальную БД в определенный момент вре-
                    мени,а в следующий момент - удаленную БД
                    .Следовательно,можно принять данные из уда-
                    ленной БД,обработать их внутри локаль-
                    ной БД,а затем вернуть снова в удален-
                    ную БД.Вожможно использовать данные из
                    одной БД во время выполнения транзакции
                    в среде другой БД.Примером может слу-
                    жить средство копирования из БД в БД
                    ,обеспечиваемое командой COPY  SQL*Plus,
                    а также возможность хранить постоянную информа-
                    цию для контроля в локальной БД,в то
                    время как все обновления сохраняются в централь-
                    ной БД.
                  * И асинхронный протокол ORACLE,и протокол 3270
                    обеспечивают средство autologon,которое выпол-
                    няет автоматическое подключение к удаленной БД
                    ,как только требуется соединение.
                  * SQL*Net поддерживает однородные соединения (меж-
                    ду однотипным оборудованием).Например,возможно
                    соединить 2 системы VAX,из которых одна слу-
                    жит клиентом,а вторая - сервером.
                  * SQL*Net поддерживает неоднородные соединения
                    (между разнотипным оборудованием).Например,
                    возможно соединить IBM-PC и VAX,при этом IBM-PC
                    служит клиентом,а VAX - сервером.
                  * Как однородные,так и неоднородные соединения
                    могут использоваться одновременно в сети.
                  * Функционирование SQL*Net не зависит от сетевых
                    протоколов,поэтому его функциональные возможно-
                    сти одни и те же,какой бы протокол не использо-
                    вался.
                  * Подключение пользователя м.б. адресовано к
                    локальной БД,к удаленной БД
                    или же к БД,установленной по умолчанию.
                  * SQL*Net обеспечивает динамическую переадресацию
                    подключения после инициирования утилиты.Так,
                    возможно переключиться с одной БД на
                    другую,начиная работу с одним и тем же приложе-
                    нием ORACLE.
                  * При использовании SQL*Net средства безопасности
                    и автоматического восстановления данных после
                    сбоев распространяются на всю сеть.
                  * При использовании возможности распределенных за-
                    просов,обеспечиваемой ядром ORACLE,возможно
                    обращаться более чем к одному узлу сети при вы-
                    полнении единственного оператора SQL.
                                
E   ОБОРУДОВАНИЕ,ПОДДЕРЖИВАЕМОЕ SQL*NETF
                  В таблице 1 приведены конфигурации клиента,серве-
                  ра и протокола,поддерживаемые версией 1.0 SQL*Net.
        
                  Оборудование,поддерживаемое версией 1.0 SQL*Net
   ЪДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДДДДДї
   і                   і                   і                       і
   і   Клиент          і   Сервер          і   Протокол            і
   і                   і                   і                       і
   і   PC/MSDOS        і   VAX/VMS         і   Асинхронный         і
   і   PC/MSDOS        і   DG/AOS/VS       і   Асинхронный         і
   і   PC/MSDOS        і   Различные UNIX  і   Асинхронный         і
   і   PC/MSDOS        і   IBM/VM/CMS      і   Асинхронный,3270   і
   і   PC/MSDOS        і   IBM MVS/SP      і   Асинхронный,3270   і
   і   Различные UNIX  і   Различные UNIX  і   TCP/IP              і
   і   VAX/VMS         і   VAX/VMS         і   DECNet              і
   і   PC/MSDOS        і   VAX/VMS         і   Асинхронный         і
   АДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДДДДЩ
                  
E   Стратегия поддержки SQL*NetF
                  Исходная позиция стратегии Корпорации Oracle для
                  поддержки сетевого оборудования заключается в под-
                  держке "естественного" однородного протокола между
                  двумя операционными средами.
                          Например,в настоящее время поддерживается следую-
                  щий "естественный" однородный протокол:
                                                              
                    VAX/VMS - VAX/VMS через DECNet
                    
                  Другая позиция этой стратегии заключается в под-
                  держке неоднородных соединений - соединений между
                  разнотипным оборудованием.Oracle поддерживает
                  асинхронное TTY соединение RS232 (через асинхрон-
                  ный протокол ORACLE),в котором на одном конце
                  приложение эмулирует асинхронный терминал TTY,а
                  на другом конце БД обеспечивает асинхрон-
                  ный терминальный порт.
                  Примеры такого вида неоднородных соединений:
                    PC/MSDOS - VAX/VMS
                    PC/MSDOS - VM/CMS
                    PC/MSDOS - UNIX
                  
                  ORACLE поддерживает также коаксиальное соединение
                  3270 (через протокол 3270PC/Irma),в котором на
                  одном конце приложение эмулирует синхронный (BSC
                  или SNA) терминал 3270,а на другом конце база
                  данных обеспечивает синхронный порт 3270.
                  
                  Примеры такого вида неоднородных соединений:
                    XT/PCDOS - VM/CMS
                    XT/PCDOS - MVS/SP
                                     
                  ORACLE поддерживает также локальную сеть EtherNet
                  с протоколом TCP/IP,в которой м.б. однород-
                  ные и неоднородные соединения:
                    VAX/UNIX - Pyramid/UNIX
                    XT/PCDOS - VAX/VMS
                  
                  Корпорация Oracle планирует также поддерживать тех
                  пользователей,которые желают расширить возможнос-
                  ти SQL*Net для работы с другими протоколами.
                  
E   ЗАМЕЧАНИЯ ПО УСТАНОВКЕ SQL*NETF
                  Заметим,что SQL*Net рассматривается как часть
                  ORACLE RDBMS и не требует отдельной процедуры ус-
                  тановки.Все специальные соглашения,такие как
                  спецификация БД по умолчанию,протокол по
                  умолчанию описаны в руководствах для каждого от-
                  дельного операционного оборудования.
                   
+E   ГЛАВА 2.АРХИТЕКТУРА SQL*NETF
                  Эта глава описывает архитектуру SQL*Net и затраги-
                  вает следующие темы:
                  * технологию двухзадачного взаимодействия,исполь-
                    зуемую для поддержки распределенной обработки
                  * модель коммуникаций клиент/сервер
                  * коммуникации терминал-процесс
                  * коммуникации процесс-процесс
                  * примитивы коммуникационного протокола,необхо-
                    димые для поддержки SQL*Net
                  * подключение к БД
                  * средство автоматического подключения antologon
                  * ограничения SQL*Net
                  
E   ОПИСАНИЕF
                  Технология коммуникаций,используемая SQL*Net,ос-
                  нована на двухзадачной архитектуре,которую ORACLE
                  использует для некоторых ОС,та-
                  ких как UNIX.В обычном смысле двухзначность отно-
                  сится к коммуникации,имеющей место между двумя
                  процессами на одной и той же машине.Эти процессы
                  взаимодействуют между собой,используя средство
                  межпроцессных коммуникаций,имеющиеся в  операци-
                  онных системах.SQL*Net также использует подобную
                  технологию,однако рассматривает не два взаимодей-
                  ствующих процесса на одной ЭВМ,а взаимодействие
                  одного процесса на одной ЭВМ и другого процесса на
                  другой ЭВМ.Такая форма двухзадачной архитектуры
                  известна как модель коммуникаций клиент/сервер.
                  Хотя эта модель коммуникаций используется,даже
                  если ORACLE выполняется на отдельной вычислитель-
                  ной установке (где прикладная задача создает один
                  процесс,а ядро ORACLE - другой),она становится
                  более очевидной в случае сетевого оборудования.
                  При этом две задачи,выполняющиеся на разных маши-
                  нах,взаимодействуют между собой при помощи раз-
                  личных коммуникационных протоколов,которые под-
                  держивает SQL*Net.Одна задача является клиентом,
                  а другая - сервером.Для SQL*Net клиент - это при-
                  кладная программа и м.б. любым приложением
                  ORACLE или пользовательской прикладной программой,
                  использующей средства ORACLE.Сервером для SQL*Net
                  является RDBMS (ядро ORACLE).
                     В терминологии SQL*Net хост-машина - это машина,
                  на которой находится БД и ядро ORACLE,то
                  есть являющаяся сервером.Клиент - это машина,на
                  которой находится прикладная программа.Важно от-
                  метить,что некоторые машины,такие как VAX,могут
                  действовать в роли как клиента,так и сервера.
                  Другие машины,такие как РС,м.б. только
                  клиентами.Только машина,являющаяся сервером,мо-
                  жет быть хост-машиной.
                          Клиент м.б. однопользовательской системой
                  (такой как РС).Сервер же должен быть многополь-
                  зовательской системой (такой как VAX).В следующей
                  таблице показано,какие комбинации клиента и серве-
                  ра возможны:
                  ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
                  і   Машина            Клиент?        Сервер?     і
                  і   PC                Всегда         Нет         і
                  і   МиниЭВМ           Да             Да          і
                  і   Большая ЭВМ       Возможно       Обычно      і
                  АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
                  На рисунке 1 изображена модель коммуникаций кли-
                  ент/сервер.
                  ЪДДДДДДДДДДДДДДДДДДДї        ЪДДДДДДДДДДДДДДДДДДДї
                  і   Узел  клиента   і        і   Узел  сервера   і
                  АДДДДДДДДДВДДДДДДДДДЩ        АДДДДДДДДДВДДДДДДДДДЩ
                  ЪДДДДДДДДДБДДДДДДДДДї        ЪДДДДДДДДДБДДДДДДДДДї
                  і    Приложение     і        і      ORACLE       і
                  і      ORACLE       і        і       DBMS        і
                  ГДДДДДДДДДДДДДДДДДДДґ        ГДДДДДДДДДДДДДДДДДДДґ
                  і      Другие       і        і      ORACLE       і
                  Г Д    уровни     Д ґ        ГДДДДДДДДДДДДДДДДДДДґ
                  і     сетевого      і        і                   і
                  Г Д программного  Д ґ        Г Д Д Д Д Д Д Д Д Д ґ
                  і   обеспечения     і        і                   і
                  ГДДДДДДДДДДДДДДДДДДДґ        ГДДДДДДДДДДДДДДДДДДДґ
                  і      Драйвер      і        і      Драйвер      і
                  і      SQL*Net      і        і      SQL*Net      і
                  ГДДДДДДДДДДДДДДДДДДДґ        ГДДДДДДДДДДДДДДДДДДДґ
                  і Коммуникационный  і        і Коммуникационный  і
                  і       пакет       і        і       пакет       і
                  АДДДДДДДДДВДДДДДДДДДЩ        АДДДДДДДДДВДДДДДДДДДЩ
                            і   Коммуникационная линия   і
                            АДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
                  Рисунок 1.Модель коммуникаций клиент/сервер.
                                
                  SQL*Net поддерживает 2 формы модели коммуникаций
                  клиент/сервер: коммуникации терминал-процесс и
                  коммуникации задача-задача.В следующих разделах
                  описаны эти 2 формы коммуникаций.
                  
E   Коммуникации терминал-процесс F
                  Когда используется коммуникация терминал-процесс,
                  предполагается,что один процесс(терминал) дейст-
                  вует как "тупой" терминал.Программа,выполняющая-
                  ся на PC,симулирует поведение терминала для взаи-
                  модействия с программой,выполняющейся на удален-
                  ной хост-машине.SQL*Net поддерживает 2 коммуни-
                  кационных протокола,обеспечивающих эмуляцию тер-
                  минала: асинхронный протокол ORACLE и протокол
                  3270PC/Irma.Когда используется один из этих про-
                  токолов,удаленная хост-машина рассматривает кли-
                  ента как "тупой" терминал,и сообщения пересылают-
                  ся между клиентом и сервером,симулируя коммуника-
                  ции задача-задача.
                  В главе 4 приведены инструкции по использованию
                  этих протоколов.
                  
E   Коммуникации задача-задача F
                  Коммуникации задача-задача подобны взаимодействию
                  "процесс-процесс".В этом случае оба процесса вза-
                  имодействуют друг с другом для обеспечения надеж-
                  ной передачи данных.В отличие от коммуникации
                  терминал-процесс обе задачи полагают,что с другой
                  стороны находится интеллектуальная программа.Про-
                  токолы DECNet и TCP/IP,поддерживаемые SQL*Net,
                  допускают коммуникации задача-задача.
                          Протокол сетевого обслуживания DECNet (так называ-
                  емый NSP) является частью архитектуры DECNet и
                  обеспечивает коммуникации задача-задача между лю-
                  быми двумя системами,поддерживающими эту архитек-
                  туру.SQL*Net использует этот протокол для комму-
                  никаций между системами VAX/VMS.В главе 5 приве-
                  дены инструкции по использованию этого протокола.
                          Коммуникационный протокол TCP/IP обеспечивает
                  коммуникации задача-задача для оборудования UNIX.
                  В главе 6 приведены инструкции по использованию
                  этого протокола.
                                
E   Требования SQL*Net к коммуникационным протоколамF
                  Программное обеспечение SQL*Net проектировалось
                  так,чтобы его можно было легко установить на раз-
                  личных типах хост-машин.В действительности
                  SQL*Net требует только 5 примитивов низкого
                  уровня,которые д.б. обеспечены взаимодей-
                  ствующими коммуникационными протоколами.В случае
                  асинхронного протокола и протокола 3270РС/Irma эти
                  примитивы обеспечивает сам ORACLE.
                          Коммуникационные протоколы,которые использует
                  SQL*Net,должны обеспечивать примитивы,выполняю-
                  щие следующие функции:
                  * подсоединиться к удаленной системе
                  * отсоединиться от удаленной системы
                  * послать сообщение
                  * получить сообщение
                  * прервать соединение
                  
E   СПЕЦИФИКАЦИЯ БАЗЫ ДАННЫХ ПРИ ИСПОЛЬЗОВАНИИ SQL*NET F
                  Этот раздел представляет общую информацию о том,
                  как специфицировать удаленную БД при ис-
                  пользовании SQL*Net.В главах по конкретным про-
                  токолам представлена полная информация о том,как
                  специфицировать удаленную БД при исполь-
                  зовании того или иного протокола.
                          Заметим,что значение по умолчанию для удаленной
                  БД фиксируется при выполнении процедуры
                  установки.Для дальнейшей информации обратитесь к
                  Руководству по установке и использованию для ва-
                  шей конкретной ОС.Чтобы  ука-
                  зать,с какой БД вы хотите работать,с
                  локальной или с удаленной,вы специфицируете ее
                  имя в момент подключения,независимо от того,ис-
                  пользуете ли вы свою собственную программу или
                  приложение ORACLE (например,SQL*PLus).Процедура
                  для выполнения этого зависит от используемых про-
                  грамм или интерфейсов и описана в документации по
                  каждой программе или интерфейсу.В большинстве
                  случаев спецификация присоединяется к строке поль-
                  зователь/пароль и отделяется символом "@".
                  Пример правильного имени подключения:
                                                            scott/tiger@780vms
                 
                  Для программ,допускающих отдельное указание паро-
                  ля,спецификация указывается сразу за именем поль-
                  зователя:
                                  scott@D:780vms
                   
                  Синтаксис спецификации БД:
                                            имя-пользователя [ /пароль ]
                                            [ @спецификация-базы-данных ]
                  
                  Спецификация-базы-данных содержит информацию,не-
                  обходимую SQL*Net для связи с требуемой БД
                  .Большая часть этой спецификации зависит от
                  используемого коммуникационного протокола и может
                  содержать сведения о маршрутизации или,например,
                  имя узла сети,в котором расположена БД.
                  Но часть этой спецификации не зависит от протоко-
                  ла: это префикс драйвера,определяющий,какая про-
                  грамма протокола (драйвер) д.б. использова-
                  на.Поэтому спецификация БД м.б.
                  представлена в виде:
                  
                    [ префекс-драйвера: ] [ имя-базы-данных ]
                  
                  Оригинальный префикс драйвера назначен каждому
                  протоколу,который может использоваться приложени-
                  ями на вычислительной системе.Состав устанавлива-
                  емых протоколов (а следовательно и состав допусти-
                  мых префиксов) определяется при установке ORACLE.
                  SQL*Net поддерживает следующие префиксы:
                  
                  EПрефикс    Драйвер осуществляет подключение к:F
                  
                  ES:F         локальной системе,используя процедуру
                             прямых вызовов в одной задаче (имя БД
                             игнорируется).Каждая программа
                             может иметь только одно активное прямое
                             подключение в каждый момент времени.
                  ED:F         удаленной системе через протокол сете-
                             вого обслуживания DECNet (удаленная си-
                             стема определяется именем БД).
                             Допускается несколько одновременных
                             подключений,даже к одной и той же
                             хост-машине.
                  EА:F         Специфицирует асинхронный протокол
                             ORACLE
                  ET:F         Специфицирует протокол TCP/IP
                  
                  Если префикс драйвера не указан (или он не совпа-
                  дает ни с одним из допустимых префиксов),исполь-
                  зуется префикс драйвера,заданный по умолчанию.
                  Имеется 2 значения по умолчанию,каждое из кото-
                  рых определяется во время процедуры установки; вы-
                  бор,какой из них использовать,зависит от того,
                  указывается ли имя БД.
                  На большинстве систем VAX однозначный драйвер (S:)
                  используется по умолчанию,если имя БД не
                  указано,а драйвер DECNET (D:) используется по
                  умолчанию в противном случае.
                          Тот,кто выполняет процедуру установки ORACLE,мо-
                  жет выбрать,какой драйвер установить.В приведен-
                  ных ниже примерах "780vms" обозначает имя узла се-
                  ти.Заметим,что в третьем примере "780vms" игно-
                  рируется.
                  
     scott/tiger             подсоединение непосредственно к локаль-
                               ной БД
     scott/tiger@s:          подсоединение непосредственно к локаль-
                               ной БД
     scott/tiger@s:780vms    подсоединение непосредственно к локаль-
                               ной БД
     scott/tiger@d:780vms    подсоединение к 780VMS через DECNet NSP
                  
     scott/tiger@780vms      подсоединение к 780VMS через DECNet NSP
                  
                  Заметим,что имя БД интерпретируется ком-
                  муникационным драйвером используемого протокола.
                  Подробная информация по этой интерпретации содер-
                  жится в главах,посвященных отдельным протоколам.
                                
E   Средство подключения autologonF
                  В этом разделе представлена информация,которая
                  применяется только при использовании протоколов
                  терминал - хост-машина,таких как асинхронный про-
                  токол ORACLE.
                          Чтобы между клиентом и сервером осуществлялось
                  взаимодействие,клиент должен запросить подсоеди-
                  нение к хост-машине.Для этих целей протоколы тер-
                  минал - процесс,поддерживаемые SQL*Net (асинхрон-
                  ный протокол ORACLE и протокол 3270PC/Irma) обес-
                  печивают средство autologon для автоматического
                  подключения к удаленной БД,как только
                  система клиента запросит такое подключение.Чтобы
                  выполнить эту задачу,autologon автоматически под-
                  ключается к удаленной ОС и ука-
                  зывает интерпретатору командной строки запустить
                  процесс сервера.Таким образом,autologon исключа-
                  ет необходимость для пользователя вручную подклю-
                  чаться к удаленной системе при помощи эмулятора
                  терминала.
                          Autologon поддерживает прямые (некоммутируемые) и
                  коммутируемые подключения клиентов (таких как PC)
                  к хост-машине и управляет процедурой подключения,
                  чтобы установить телефонное соединение через ин-
                  теллектуальный модем,включая подсоединение к OC
                  и инициирование сервера SQL*Net.
                  Средство autologon использует диалог,который со-
                  держится в группе файлов "handshake" (рукопожатие)
                  для установления связи с удаленной хост-машиной.
                  Эти файлы handshake создаются пользователем и со-
                  держат "запись взаимодействия",которое обычно
                  имеет место между пользователем терминала и уда-
                  ленной хост-машиной.По существу они содержат се-
                  рии сообщений следующего вида: "послать ~это~ и
                  ожидать ~то~ в ответ".Механизм параметров предус-
                  матривается для подстановки телефонных номеров,
                  имен пользователей,паролей и т.п.
                        Как только файлы handshake созданы,средство auto-
                  logon м.б. активировано простым указанием
                  префикса имени файла,который соответствует файлам
                  handshake; этот префикс является частью строки
                  спецификации БД.В разделах,посвященных
                  отдельным протоколам,поддерживаемым SQL*Net,под-
                  робно объяснено,как это сделать.
                                
E   Ограничения SQL*NetF
                  В этом разделе перечислены некоторые ограничения,
                  которые имеют место при использовании SQL*Net.
                  * Заметим,что хотя приложение может иметь доступ
                    к нескольким узлам сети,отдельная транзакция
                    или единица работы может затрагивать только один
                    узел.Например,один оператор SQL может обра-
                    щаться к одной и только одной БД.Одна-
                    ко,используя возможности распределенных запро-
                    сов,представляемые ядром ORACLE,возможно в од-
                    ном операторе SQL получить доступ к данным более
                    чем в одном узле сети.
                  * Утилиты IOR,ODS и AIJ не работают в SQL*Net и
                    должны запускаться на той же машине,что и ядро
                    ORACLE.
                  * Не существует поддержки распределенных транзак-
                    ций; можно иметь обновления,выполняемые для
                    различных БД в сети,но для каждого из
                    них завершение или откат транзакции будет выпол-
                    няться независимо.
                  * Пользователь должен сам направлять оператор SQL
                    к узлу,содержащему данные: нет маршрутизации
                    запросов.
                   
E   ГЛАВА 3.ВЫПОЛНЕНИЕ ОПЕРАЦИЙ НАД БАЗОЙ ДАННЫХ
            С ИСПОЛЬЗОВАНИЕМ SQL*NETF
                  Эта глава объясняет,как получить доступ к удален-
                  ной БД,используя интерфейс программных
                  продуктов ORACLE.Даны подробные инструкции для
                  подключения к удаленной БД и выполнения
                  сответствующих операций.
                          Эта глава состоит из следующих разделов:
                  * Использование Еasy*SQL с SQL*Net
                  * Использование SQL*Plus с SQL*Net
                  * Использование программных интерфейсов ORACLE
                    с SQL*Net
                  * Использование других утилит ORACLE с SQL*Net
                                                           
E   ИСПОЛЬЗОВАНИЕ EASY*SQL С SQL*NETF
                  Этот раздел затрагивает следующие темы:
                  * опция LINK
                  * панель link
                  * выбор узла сети и подключение к ORACLE
                  * выбор таблиц
                  * выгрузка и загрузка
                  * исходные и выходные таблицы
                  * выбор колонок для пересылки
                  * выбор строк для пересылки
                  * завершение пересылки
                  * ошибки при пересылке
                  * использование пересланных таблиц
                  * дополнительные опции пересылки
                          В этом разделе объясняется,как использовать опцию
                  LINK Easy*SQL для подключения и обмена информацией
                  между двумя системами ORACLE на 2 различных
                  компьютерах.
                          Вообще говоря,опция LINK полезна,когда вы выпол-
                  няете ORACLE на персональном компьютере и желаете
                  переслать данные в или из центральной большой ЭВМ
                  или миникомпьютера.Например,если вся торговая
                  информация компании хранится в БД ORACLE
                  на центральном компьютере,вы можете пожелать выг-
                  рузить данные по вашему региону и использовать ва-
                  шу PC для выполнения запросов,анализа,составле-
                  ния отчетов и диаграмм.Вы также можете пожелать
                  ввести данные по региональным торговым операциям в
                  вашу PC и загрузить их затем в центральную систему.
                  С каким бы типом компьютера вы не связывались,вы
                  можете переслать всю или часть таблицы из одной
                  системы в таблицу на другой системе.Easy*SQL по-
                  заботится обо всех процедурах коммуникаций; все,
                  что вам требуется,это начать сеанс и указать ка-
                  кую информацию вы желаете переслать и куда.
                         EЗамечание:F В этой секции полностью описывается оп-
                  ция LINK версии 2.1 Easy*SQL,которая работает как
                  часть установки SQL*Net версий 5.0 и более поздних
                  ORACLE RDBMS.Технология,используемая версией 2.0
                  Easy*SQL отличается от технологии,используемой
                  версией 2.1.Однако,если вы имеете версию 2.0,
                  смотрите Приложение D Руководства пользователя
                  Easy*SQL,где описаны системные требования и до-
                  полнительные действия,которые вы должны предпри-
                  нять,чтобы использовать опцию LINK.
                          Чтобы использовать опцию LINK в версии 2.1 или бо-
                  лее поздней,как ваша система,так и удаленный
                  компьютер д.б. частью установки SQL*Net.
       Это означает,что:
                  * две системы д.б. связаны друг с другом
                    линией связи или телефонной линией
                  * ORACLE RDBMS (версии 5.0 или более поздней) д.б.
                  установлен на обеих системах
                  * SQL*Net д.б. установлен на обеих системах
                  * соответствующие друг другу коммуникационные про-
                    токолы SQL*Net д.б. установлены на обеих
                    системах
                  
E   Опция LINKF
                  Чтобы переслать данные между вашей БД
                  ORACLE и другой БД,выберите "LINK" из
                  меню администратора Easy*SQL.Смотрите рисунок 2.
                  Вы увидите панель Link Easy*SQL.
   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
   і ДДДДДДДДДДДДДДДДДДДДДДДДД EASY*SQL ДДДДДДДДДДДДДДДДДДДДДДДДДД і
   і      Q U E R Y                                                і
   і    R E P O R T                                                і
   і        E D I T                                                і
   і    C R E A T E                                                і
   і      G R A P H         ЪДДДДДДДДДДДї                          і
   і                        і BACKUP    і                          і
   і       EXTENDED         ГДДДДДДДДДДДґ                          і
   і                        і EXPAND    і                          і
   і ADMINISTRATION    <-   ГДДДДДДДДДДДґ                          і
   і                        і REMOVE    і                          і
   і    C U S T O M         ГДДДДДДДДДДДґ                          і
   і                        і ELINKF      і                          і
   і        E X I T         ГДДДДДДДДДДДґ                          і
   і                        і TRANSLATE і                          і
   і                        АДДДДДДДДДДДЩ                          і
   іУстановить соединение для передачи данных          RETURN=выборі
   і0=Hint 1=Help 7=List 8=PrevFld 9=Clear PF3=DO          PF4=Quitі
   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
                  Рисунок 2.Выбор опции LINK
                  
E   Панель LinkF
                  Панель Link имеет один и тот же вид независимо от
                  имеющейся у вас версии Easy*SQL.Окна панели Link
                  позволяют вам выполнять следующие 5 действий:
                  1.Выбрать узел сети с удаленной (хост-)машиной.
                  2.Выбрать БД ORACLE на удаленной машине
                     и подключиться к ней.
                  3.Выбрать,в каком направлении пересылать инфор-
                     мацию и какую таблицу использовать.
                  4.Выбрать,какие колонки пересылать
                  5.Выбрать,какие строки пересылать
                          По существу,используя панель Link,вы подключае-
                  тесь к ORACLE и конструируете запрос,который вы-
                  берет данные для передачи.Таким образом,заполне-
                  ние панели Link очень похоже на заполнение панели
                  Query (запроса) Easy*SQL.
                          На рисунке 3 показано,как нужно заполнить панель
                  Link,чтобы выгрузить из удаленной БД
                  записи о служащих,принятых на работу за последние
                  30 дней.
   ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї
   і ДДДДДДДДДДДДДДДДДДДДДДДДД EASY*LINK ДДДДДДДДДДДДДДДДДДДДДДДДД і
   і       Имя пользователя    Пароль           ЪДДДДДДДДДДДДї     і
   і      ЪДДДДДДДДДДДДї      ЪДДДДДДДДДДДДї    іEИз хост-DBMSFі     і
   і  Хостіscott@d:centі  Хості            і    ГДДДДДДДДДДДДґ     і
   і      АДДДДДДДДДДДДЩ      АДДДДДДДДДДДДЩ    іВ  хост-DBMSі     і
   і                                            АДДДДДДДДДДДДЩ     і
   і       Таблица на          Таблица на       Режим для сущест-  і
   і       хост-машине         локальной ЭВМ    вующей таблицы:    і
   і      ЪДДДДДДДДДДДДї      ЪДДДДДДДДДДДДї    ЪДДДДДДДДВДДДДДДДДїі
   і    ИзіEMP         і     ВіEMP         і    і EAPPENDF і REPLACEіі
   і      АДДДДДДДДДДДДЩ      АДДДДДДДДДДДДЩ    АДДДДДДДДБДДДДДДДДЩі
   і      ЪДДДДДДДВДДДДДДДВДДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДВДДДДДДДї
   іКолон.іJOB    іMGR    іHIREDATEіSAL    іCOMM   іDEPTNO і       і
   і      АДДДДДДДБДДДДДДДБДДДДДДДДБДДДДДДДБДДДДДДДБДЪДДДДДДДДДДДїДЩ
   і       Введите условия для строк                 іКОЛОНКИ    і і
   і      ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДї  ГДДДДДДДДДДДґ і
   і WHEREі HIREDATE > SYSDATE - 30               і  іEMPNO      і і
   і   ANDі                                       і  іENAME      і і
   і   ANDі                                       і  іJOB        і і
   і      АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ  іMGR        і і
   і                                                 іHIREDATE   і і
   і                                                 АДДДДДДДДДДДЩ і
   іПример: SAL>1000 OR JOB='CLERK'               RETURN=продолжитьі
   і0=Hint 1=Help 7=List 8=PrevFld 9=Clear PF3=DO          PF4=Quitі
   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
   Для версии 2.1 или более поздней:
                  
   В первом окне:  scott@d:central-pers
                                   ДДДД - файл БД на
                                          удаленной системе
                  Рисунок 3.Заполнение панели Link
                   
                  EЗамечания:F
                  1.Имя пользователя и пароль относятся к удаленной
                     хост-машине.
                  2.Вслед за именем пользователя указаны код драй-
                     вера (d:) и имя узла сети,в котором находится
                     удаленная система (cent...).
                  3.Режим для существующей таблицы позволяет выби-
                     рать,как передаваемые строки д.б. объ-
                     единены с существующими строками таблицы (это
                     окно появляется только в том случае,если вы-
                     ходная таблица существует).
                                                  
E   Выбор узла сети и подключение к ORACLEF
                  Первые 2 входных окна на панели Link позволяют
                  выбрать узел сети,в котором находится удаленная
                  система и подключиться к БД ORACLE,раз-
                  мещенной там.В первом окне укажите ваше имя поль-
                  зователя ORACLE для удаленной системы.
                  Затем,если вы используете версию 2.1 Easy*SQL или
                  более позднюю,продолжайте ввод,указывая:
                  1.@
                  2.код драйвера (например,d)
                  3.:
                  4.имя узла SQL*Net для удаленной системы (напри-
                     мер,central)
                  5.-
                  6.файл выбора БД для удаленной системы
                     (например,pers)
                          Например,вы должны ввести scott@d:central-pers,
                  если хотите использовать драйвер DECNet для соеди-
                  нения с системой CENTRAL и подключения с именем
                  SCOTT к БД PERS.
                  Имя узла сети д.б. определено в SQL*Net и
                  содержать информацию для подключения,требуемую
                  операционной системой.Код драйвера также д.б. определен в
                  SQL*Net,а файл выбора БД
                  д.б. доступным из вашего текущего ди-
                  ректория на удаленной системе.
                        Если вы используете Easy*SQL версии 2.0,вы не
                  должны вводить в первое окно ничего,кроме вашего
                  имени пользователя ORACLE для удаленной системы.
                  Это единственное различие между версиями 2.0 и 2.1
                  для панели Link.
                          Во втором окне,независимо от используемой версии,
                  укажите ваш пароль ORACLE для удаленной БД
                  .Он не будет отображаться на экране.Когда вы
                  нажмете клавишу "следующее поле",Easy*SQL прове-
                  рит введенную информацию для подключения к ORACLE.
                  Если имя пользователя и пароль неверны,вы имеете
                  возможность ввести их повторно.
                                                  
E   Выбор таблицF
                  Следующие три окна на панели Link позволяют вам
                  выбрать:
                  * пересылать информацию в или из удаленной системы
                  * исходную таблицу,содержащую информацию
                  * выходную таблицу для приема информации
                         Рисунок 3 на странице 33 демонстрирует,как ука-
                  зать Easy*SQL переслать информацию из таблицы EMP
                  в удаленной БД и добавить строки к табли-
                  це EMP в вашей локальной БД.
                  
E   Выгрузка и загрузкаF
                  Чтобы выгрузить информацию из удаленной БД
                  ,выберите "Из хост-DBMS" в окне для выбора на-
                  правления передачи.Это значение используется по
                  умолчанию.
                  Чтобы загрузить информацию в удаленную БД
                  ,выберите "В  хост-DBMS".Метки у окон таблиц
                  изменятся и отразят местонахождение исходной и вы-
                  ходной таблиц.
                  
   EИсходные и выходные таблицыF
                  Первое входное окно для ввода имени таблицы,поме-
                  ченное "Из",относится к исходной таблице,содер-
                  жащей информацию,которую необходимо переслать.Вы
                  можете ввести ее имя или выбрать его из окна ссыл-
                  ки.
                  Несмотря на то,что нельзя вводить более одной ис-
                  ходной таблицы на панели Link,вы можете использо-
                  вать представление (view) в качестве исходной таб-
                  лицы (Смотрите Easy*SQL.Руководство пользователя,
                  Глава 10).Поэтому,если вы желаете переслать ин-
                  формацию из более чем одной таблицы,сначала соз-
                  дайте представление для объединения этой информа-
                  ции,а затем вводите имя этого представления во
                  входное окно.
                          Второе входное окно для ввода имени таблицы,поме-
                  ченное "В",относится к выходной таблице для прие-
                  ма информации.Заметим,что эта таблица д.б. действительной
                  конечной таблицей,даже если
                  исходная "таблица" являлась представлением.
                          Если вы укажете имя новой выходной таблицы,то
                  Easy*SQL создаст ее автоматически,используя опре-
                  деление колонок исходной таблицы.
                          Если вы укажете имя существующей таблицы,то вы
                  увидите окно для выбора и можете решить,либо при-
                  соединить (APPEND) новые строки к старым,либо за-
                  менить (REPLACE) их.REPLACE требует,чтобы струк-
                  тура 2-х таблиц была совместима.Это означает,
                  что все пересылаемые колонки должны существовать в
                  выходной таблице и иметь совместимые типы данных.
                  Если вы введете имя существующего представления,
                  вы увидите то же окно APPEND/REPLACE.Однако,так
                  как информация д.б. переслана в действи-
                  тельную таблицу,единственное,что вы можете сде-
                  лать - это заменить представление на новую таблицу
                  с тем же именем.Вы увидите сообщение об ошибке,
                  если попытаетесь использовать APPEND для представ-
                  ления.
                  
E   Выбор колонок для пересылкиF
                  Секция колонок панели Link состоит из горизонталь-
                  ной группы окон.В эти окна введите имена колонок
                  исходной таблицы,которые вы желаете переслать в
                  выходную таблицу.Эта процедура подобна выбору ко-
                  лонок на панели Query Easy*SQL.Окна перемещаются
                  по горизонтали,что дает возможность ввести более
                  чем 7 имен колонок.
                          Вы можете ввести только имена колонок во входные
                  окна,но не выражения или функции.Если вы желаете
                  переслать выражения,основанные на колонках исход-
                  ной таблицы,сначала создайте представление,кото-
                  рое включает их.Затем используйте представление в
                  качестве исходной таблицы и выберите колонки выра-
                  жения из этого приложения.
                  В отличие от панели Query,вы не можете выбрать
                  само имя таблицы из окна ссылки,чтобы переслать
                  все колонки.Вы должны ввести каждое имя колонки
                  отдельно.
                  
E   Выбор строк для пересылкиF
                  Чтобы выбрать колонки для пересылки,введите усло-
                  вие в окно "WHERE" в нижней части панели Link.Ри-
                  сунок 3 на странице 33 демонстрирует,как выбрать
                  строки для служащих,принятых на работу за послед-
                  ние 30 дней.Это значит,что для этих строк значе-
                  ние HIREDATE больше,чем SYSDATE-30 (сегодняшняя
                  дата минус 30 дней).Запись этого условия,
                  HIREDATE > SYSDATE - 30,вводится в первую строку
                  окна WHERE.
                  Как и все условия выбора,HIREDATE > SYSDATE - 30
                  содержит 3 части:
                  1.Имя колонки (HIREDATE)
                  2.Знак отношения ( > )
                  3.Значение сравнения,колонка или список
                     (SYSDATE - 30)
                          Окно WHERE на панели Link почти идентично такому
                  же окну на панели Query.В него вы должны ввести
                  функцию,сложное условие или любую другую опцию
                  для выбора строк.Вы можете выбрать имена колонок
                  из окна ссылки,а знаки отношения - из окна помо-
                  щи.Единственное отличие состоит в том,что клави-
                  ша "Preview" для предварительного просмотра коло-
                  нок недоступна.Для подробной информации смотрите
                  Easy*SQL.Руководство пользователя,Глава 3).
                         Чтобы переслать все строки таблицы или представле-
                  ния,оставьте окно WHERE пустым.
                                                   
E   Завершение пересылкиF
                  Чтобы сообщить Easy*SQL,что панель Link заполне-
                  на,введите команду "Do" нажатием соответствующей
                  клавиши.Программа выполнит следующие действия для
                  пересылки информации:
                  * проверит введенную вами информацию
                  * если выходная таблица является новой,воспользу-
                    ется информацией словаря данных для исходной та-
                    блицы и создаст выходную таблицу
                  * перешлет информацию
                          Вы увидите сообщение,подтверждающее,что строки
                  пересланы.
                  Вы можете выполнить любое количество операций пе-
                  ресылки данных,не покидая панель Link и не воз-
                  вращаясь к главному меню.После завершения очеред-
                  ной пересылки либо измените содержание ранее за-
                  полненных окон,либо нажмите клавишу "Reset"
                  (очистка окон) и повторите заполнение окон.Нажа-
                  тие этой клавиши не отключает вас от удаленной БД
                  .Когда вы нажмете клавишу "Do" снова,
                  Easy*SQL снова проверит введенную вами информацию
                  и выполнит пересылку данных.
                        Когда вы завершите пересылку всей информации,наж-
                  мите клавишу "Quit",чтобы вернуться в главное ме-
                  ню.В этот момент Easy*SQL отключит вас от удален-
                  ной БД.
                  (Если вы имеете версию 2.0 Easy*SQL,обратитесь к
                  Приложению D Руководства пользователя Easy*SQL,
                  где описаны дополнительные действия,необходимые
                  в этой точке).
                                                         
   EОшибки при пересылкеF
                  Easy*SQL использует специальную технологию сборки
                  пакетов для передачи и контроля для получения мак-
                  симальной правильности пересылаемых данных.Если
                  статическое электричество или шумы приведут к
                  ошибкам передачи,программа,вероятно,обнаружит
                  ошибки и повторит передачу пакета.Поэтому,если
                  Easy*SQL требуется много времени для передачи ин-
                  формации,могут возникнуть проблемы на коммуника-
                  ционной линии.
                  
   EИспользование пересланных таблицF
                  После того,как вы переслали информацию в выходную
                  таблицу,вы можете использовать ее как любую дру-
                  гую таблицу ORACLE.Вы можете выполнить запрос,
                  добавить новые строки,отредактировать или обно-
                  вить существующие строки,создать на ее основе
                  представление,модифицировать или удалить ее.
                  
E   ИСПОЛЬЗОВАНИЕ SQL*PLUS С SQL*NETF
                  В этом разделе описано,как использовать SQL*Plus
                  с SQL*Net; затронуты следующие темы:
                  * подключение к SQL*Plus
                  * использование команды CONNECT
                  * использование команды COPY
                                                 
E   Подключение к SQL*PlusF
                  Пользователи версии 5.1 ORACLE RDBMS должны ис-
                  пользовать интерактивный (командный) интерфейс
                  SQL*Plus.SQL*Plus сейчас полностью перекрывает
                  возможности UFI (Дружественный интерфейс пользова-
                  теля),который мог быть использован в предыдущих
                  версиях ORACLE.SQL*Plus имеет все функциональные
                  возможности UFI,плюс улучшенное форматирование
                  отчетов.
                          Чтобы подключиться к SQL*Plus,выполните следующую
                  команду:
                  
                    $SQLPLUS username/password@D:database
                                                       
E   CONNECTF
                  Команда CONNECT позволяет вам подключиться к уда-
                  ленной БД.До момента использования этой
                  команды вы будете подключены к БД,ука-
                  занной в момент подключения к SQL*Plus.Команда
                  имеет следующий синтаксис:
                  
           CONNECT username [ /password [ @databaseSpecification ] ]
                  
                  Используются следующие параметры:
                  username
                         Любое правильное имя пользователя ORACLE
                  password
                         Cоответствующий пароль
                  databaseSpecification
                         Правильная спецификация SQL*Net для БД
                         ,например,d:NEWYORK-mkt
                   
E   Команда COPYF
                  Команда COPY включена в SQL*Net,начиная с версии
                  2.O.Эта команда пересылает данные из одной БД
                  в другую,используя SQL*Net.Она выполняет
                  некоторый оператор SELECT языка SQL в одном узле
                  сети и вставляет выбранные строки в таблицу в дру-
                  гом узле.Заметим,что этот оператор SELECT может
                  быть выполнен только в узле,определенном в пред-
                  ложении FROM (т.е.обращается к данным только од-
                  ной БД).
                        Выходная таблица может уже существовать,м.б. создана
                        на пустом месте или м.б. удале-
                  на и создана заново,прежде чем в нее будут встав-
                  ляться данные.Имена колонок,назначенные выходной
                  таблице,м.б. получены из описания SELECT
                  или из определенного списка имен ("список имен ко-
                  лонок").
                          Заметим,что COPY является не командой SQL,а ко-
                  мандой SQL*Plus.Она не может размещаться произ-
                  вольно на нескольких строках,так как не запомина-
                  ется в буфере SQL.Вы должны использовать средство
                  SQL*Plus для записи ее на нескольких строках,ука-
                  зывая символ продолжения - знак тире ("-").
                                                       
E   Синтаксис команды COPYF
                  Для записи команды COPY используется следующий
                  синтаксис:
                     { FROM DatabaseString TO DatabaseString }
                COPY { FROM DatabaseString }
                     { TO DatabaseString }
                  
                { APPEND }
                { CREATE }
                { REPLACE } table [ ( ColumnNameList ) ] { INSERT }
                  
                USING SelectStatement
                  
                  EЗамечание:F
                  Фигурные скобки ( { и } ) определяют варианты для
                  выбора значения,которое записывается в командной
                  строке; из них пользователь должен выбрать только
                  EодноF значение.
                          Как указано в верхней части команды,предложение
                  FROM или предложение TO (но не оба одновременно)
                  могут не указываться в команде COPY.Если пропуще-
                  но FROM или ТO,то в этом случае предполагается,
                  что существующее соединение SQL*Plus должно ис-
                  пользоваться для определения исходного и выходного
                  пункта назначения,соответственно.
                          Список имен колонок гарантирует,что эти имена со-
                  ответствуют выходной таблице.
                          Заметим также,что SQL*Plus должен иметь активное
                  подключение к ORACLE,если вы желаете опустить
                  предложение FROM или TO.
                  
   EПараметрыF
                  Используются следующие параметры:
                  table
                         Любое правильное имя таблицы SQL (допуска-
                         ется указывать имя в кавычках или с именем
                         владельца)
                  DatabaseString
                         Cтрока пользователь/пароль,за которой сле-
                         дует символ "@",а далее - спецификация БД SQL*Net
                  СоlumnNameList
                         Список имен колонок выходной таблицы,раз-
                         деленный запятыми (имена м.б. заклю-
                         чены в кавычки)
                  SelectStatement
                         Любой правильный оператор SELECT языка SQL,
                         выполняемый в БД,определенной
                         предложением FROM.
                  
   EОпцииF
                  Опции для выходной таблицы:
                  ECREATE.F Предполагается,что выходная таблица не
                         существует.Если она существует,CREATE
                         приведет к ошибке; в противном случае таб-
                         лица будет создана перед вставкой строк.
                  EINSERT.F Предполагается,что выходная таблица суще-
                         ствует.Если она не существует,INSERT при-
                         ведет к ошибке; в противном случае строки
                         будут вставлены в существующую таблицу.
                  EREPLACE.F Никаких предположений не делается относи-
                         тельно существования таблицы.Если она су-
                         ществует,REPLACE удалит ее и создаст новую
                         таблицу с таким же именем перед вставкой
                         строк.Если таблица не существует,REPLACE
                         просто создаст ее перед вставкой строк.
                  EAPPEND.F Никаких предположений не делается относи-
                         тельно существования таблицы.Если таблица
                         не существует,APPEND создаст ее перед
                         вставкой строк; в противном случае APPEND
                         просто вставит строки в существующую таб-
                         лицу.
                   
   EПримерыF
                  Следующие примеры иллюстрируют правильное исполь-
                  зование этого синтаксиса.
  
            COPY FROM joe/blow@d:BOSTON-mkt -
                 TO scott/tiger@d:BOSTON-mfg -
                 CREATE managers -
                 USING SELECT ENAME,JOB,SAL -
                       FROM EMP -
                       WHERE JOB IN ('MANAGER','PRESIDENT')
                                     
            COPY FROM moe/joe@d:NEWYORK-mkt -
                 TO scott/tiger@CHICAGO-mkt -
                 REPLACE dept (department,name,location,empcount)
                 USING SELECT EMP.DEPTNO,-
                       DNAME,-
                       LOC,-
                       COUNT(*) -
                       FROM EMP,DEPT -
                       WHERE EMP.DEPTNO = DEPT.DEPTNO -
                       GROUP BY EMP.DEPTNO,DNAME,LOC
                  
            COPY FROM scott/tiger@d:DENVER-qa -
                 CREATE Mr_King -
                 USING SELECT * -
                       FROM EMP -
                       WHERE ENAME = 'KING'
              
            COPY TO scott/tiger@d:DEVVMS -
                 INSERT tablelist ("Table Name",creator) -
                 USING SELECT THAME,CREATOR -
                       FROM SYSCATALOG
    
            COPY FROM scott/tiger@d:ERNIE-sys8 -
                 TO system/manager@d:BERT-qa -
                 REPLACE "Monthly Wages Paid" (total) -
                 USING SELECT SUM(SAL)+SUM(NVL(COMM,O)) -
                       FROM EMP
                       
            COPY FROM joe/foo@d:GREEN-x -
                 TO scott/tiger@d:YELLOW-y -
                 APPEND emp -
                 USING SELECT * -
                       FROM EMP
                  
E Замечания по команде COPYF
   EСписок имен колонокF
                  Список имен колонок м.б. использован,чтобы
                  переименовать колонки,выбранные оператором
                  SELECT.Имена,указанные в списке имен колонок,
                  должны соответствовать один к одному именам коло-
                  нок списка SELECT.
                          Когда команда COPY создает таблицу,имена колонок
                  берутся из списка имен,если он имеется.В против-
                  ном случае имена колонок берутся из списка SELECT.
                  Когда команда COPY вставляет строки в существующую
                  таблицу,имена колонок в этой таблице проверяются
                  на соответствие именам в списке имен колонок.Если
                  этот список отсутствует,имена колонок проверяются
                  на соответствие именам списка SELECT.
                  В обоих случаях имена колонок должны соответство-
                  вать друг другу и полностью совпадать с именами
                  колонок существующей таблицы.
                  
   EСообщения об ошибкахF
                  Ошибки м.б. обнаружены ядром ORACLE,коман-
                  дой COPY или самим SQL*Plus.
                          В дополнение к стандартным "ORA-"сообщениям об
                  ошибках,которые выдает ядро,ошибки,обнаруженные
                  командой COPY,помечаются префиксом "CPY-".Ошиб-
                  ки,обнаруженные SQL*Plus,не имеют префикса
                  "ORA-" или "CPY-".
                          Если пользователь ввел ошибочное предложение
                  SELECT,выводится часть этого предложения с ошиб-
                  кой; звездочкой отмечается место,где обнаружена
                  ошибка.
                          В общем,ядро обнаруживает ошибки в операторах
                  SQL,которые сгенерировала команда COPY; команда
                  COPY обнаруживает ошибки,полученные через прог-
                  раммный интерфейс; SQL*Plus обнаруживает ошибки в
                  синтаксисе самой команды COPY.
                  
   EМакроподстановкиF
                  Операторы макроподстановки SQL*Plus,"&&" и "&",
                  м.б. использованы внутри строки команды COPY
                  с условием,чтобы подставляемые элементы образовы-
                  вали синтаксически правильную команду.Обеспечива-
                  ется правильность использования символа продолже-
                  ния строки SQL*Plus - символа "-".Например,сле-
                  дующий интерактивный сеанс копирует все имена слу-
                  жащих из таблицы ЕМР в таблицу EMPNAMES БД
                  "scott/tiger@d:devvms":
                         
                 SQL> copy from &&s to &s -
                  > create &t -
                  > using &sel
                  Введите значение для s: scott/tiger@d:devvms
                  Введите значение для t: empnames
                  Введите значение для sel: select ename from emp
 
   EЗавершение транзакций в SQL*PlusF
                  Команда COPY всегда выполняет операцию commit
                  (конец транзакции) после вставки всех строк в вы-
                  ходную таблицу.Дополнительно команда COPY прину-
                  дительно завершает любую транзакцию,которая не
                  была закончена или отвергнута в SQL*Plus перед ак-
                  тивацией команды COPY,если выходная таблица раз-
                  мещена на основе соединения SQL*Plus по умолчанию
                  (т.е.если предложение "FROM" или "ТО" пропущено).
                  
   EВнутренние параметрыF
                  Команда COPY имеет параметры для определения раз-
                  мера массива выборки,длины буфера для колонок ти-
                  па LONG и частоты операций commit.Команда COPY
                  использует,соответственно,"SET"-опции ARRAYSIZE,
                  LONG и COPYCOMMIT языка SQL*Plus для определения
                  значений этих параметров.Эти опции м.б. на-
                  значены и проверены командами SET и SHOW языка
                  SQL*Plus.
                  
                  EARRAYSIZEF (1-5000,по умолчанию 20).Эта опция
                         (ранее она называлась "BATCHSIZE") опреде-
                         ляет размер массива,который используется
                         для выборки строк.Значение опции определя-
                         ет число строк,которые м.б. выбраны
                         за одно обращение к ядру ORACLE.Это значе-
                         ние используется и командой COPY,и другими
                         командами SQL*Plus.Однако команда COPY
                         имеет свое собственное управление оператив-
                         ной памятью,не зависящее от SQL*Plus; сле-
                         довательно,возможно установить для опции
                         ARRAYSIZE значение,которое "слишком вели-
                         ко" для параметра MAXDATA,ранее определен-
                         ного SQL*Plus,но все еще верное для ис-
                         пользования командой COPY.
                         
                  EBATCHSIZE.F Эта опция теперь называется "ARRAYSIZE"
                         
                  ELONGF (1-32767,по умолчанию 80).Эта опция опреде-
                         ляет максимальную длину колонки LONG,кото-
                         рая м.б. выбрана из таблицы.Это зна-
                         чение используется как другими командами
                         SQL*Plus,так и командой COPY.
                  
                  ECOPYCOMMITF (0-5000,по умолчанию 0).Эта опция оп-
                         ределяет частоту операций commit при встав-
                         ке строк в выходную таблицу.Ненулевое зна-
                         чение n указывает системе,что commit нужно
                         выполнять после вставки в таблицу каждых n
                         групп строк,где размер группы определяется
                         значением ARRAYSIZE,а также после всех
                         вставок.Нулевое значение указывает,что
                         commit нужно выполнить только после вставки
                         всех строк.
                  
                  Например,если опция ARRAYSIZE имеет значение 50,
                  а COPYCOMMIT - 4,то commit будет выполняться пос-
                  ле каждых 200 вставленных строк; т.е.после строк
                  200,400,600 и т.д.,а также после последней
                  вставленной строки.
                  
E   ИСПОЛЬЗОВАНИЕ ПРОГРАММНЫХ ИНТЕРФЕЙСОВ ORACLE С SQL*NETF
                  Этот раздел адресован тем,кто работает с SQL*Net,
                  используя программные интерфейсы ORACLE; для под-
                  робной информации по установке SQL*Net и идентифи-
                  кации доступных БД обратитесь к Руководст-
                  ву по установке и использованию для вашей ОС.
                          Программные интерфейсы ORACLE поддерживают доступ
                  к другим машинам и к БД на других маши-
                  нах через программный продукт SQL*Net.Например,
                  
                  EXEC SQL CONNECT :usr IDENTIFIED BY :pwd
                           AT ORA1 USING :dbs
                  
                  В этом примере ORA1 - это просто имя,используемое
                  для этого соединения.Хост-переменная,указанная в
                  предложении USING,в действительности определяет
                  сеть,машину и БД,обозначенные именем
                  ORA1.Как и имена курсора и оператора,ORA1 не яв-
                  ляется хост-переменной,но это имя указывается для
                  удобства использования.
                          Как только соединение установлено,все другие опе-
                  раторы EXEC SQL используют обозначение AT ORA1,
                  чтобы сообщить прекомпилятору,куда направлять вы-
                  зов.Заметим,что если объявляется оператор или
                  курсор,AT ORA1 используется только во время объ-
                  явления.Далее все другие предложения SQL,ссылаю-
                  щиеся на этот оператор или курсор,могут не указы-
                  вать AT ORA1.Напротив,если не используется объ-
                  явление ни оператора,ни курсора,то все предложе-
                  ния EXEC SQL,которые используют другую БД
                  ,должны указывать AT ORA1 в виде:
                  
                  EXEC SQL AT ORA1 select...
                  
E   ИСПОЛЬЗОВАНИЕ ДРУГИХ УТИЛИТ ORACLE С SQL*NETF
                  Следующие утилиты ORACLE также м.б. исполь-
                  зованы с SQL*Net:
                  * SQL*Calc
                  * SQL*Forms
                  * IMPORT/EXPORT
                  * ODL
                  Чтобы использовать любую из этих утилит с SQL*Net,
                  просто включите предложение @ для удаленной БД
                  при подключении,как указано в следующем
                  примере для SQL*Forms:
                  IAD username/password@D:database_id
                   
E   ГЛАВА 4.АСИНХРОННЫЙ ПРОТОКОЛ ORACLEF
                  В этой главе даны инструкции по использованию
                  асинхронного протокола ORACLE и рассмотрены следу-
                  ющие темы:
                  * общее описание асинхронного протокола
                  * инструкции по созданию файлов handshake,необхо-
                    димых для асинхронного протокола
                  * инструкции по спецификации асинхронного протоко-
                    ла как части строки подключения к БД
                  * описание параметров,используемых для определе-
                    ния асинхронного соединения
                  * описание параметров,используемых средством
                    autologon
                  * примеры спецификации БД,использующей
                    асинхронный протокол и средство autologon
                                                           
E   АСИНХРОННЫЙ И 3270PC/IRMA КОММУНИКАЦИОННЫЕ ПРОТОКОЛЫF
                  Асинхронный коммуникационный протокол,обеспечива-
                  емый SQL*Net,использует коммуникационные линии
                  стандарта RS-232 для установления соединения между
                  IBM-PC и следующими хост-машинами:
                  VAX/VMS,AOS/VS,VAX/UNIX,IBM/VM и IBM/MVS.
                          Хотя в большинстве случаев клиентами являются
                  IBM-PC,асинхронный протокол допускает также ком-
                  муникации между двумя машинами VAX или двумя боль-
                  шими машинами IBM.
                          Кроме этого,версия 1.0 SQL*Net поддерживает под-
                  ключение IBM-PC к IBM/VM и IBM/MVS с использова-
                  нием коаксиального коммуникационного протокола
                  3270PC/Irma (через контроллер 3274).Асинхронный
                  протокол и коаксиальный протокол 3270PC/Irma явля-
                  ются протоколами типа "терминал-хост-машина",ис-
                  пользующими ORACLE для установления коммуникаций
                  "задача-задача".
                          Поддержка асинхронного протокола,обеспечиваемая
                  SQL*Net,не полностью совпадает с "асинхронным
                  DECNet",который позволяет DECNet использовать
                  асинхронные соединения через RS-232.Опция DECNet
                  полностью поддерживается SQL*Net как часть возмож-
                  ностей по использованию DECNet.
                  Асинхронный протокол активируется указанием его
                  как части строки подключения к БД,как
                  описано в разделе "Спецификация БД".
                                                           
E   СРЕДСТВО ПОДКЛЮЧЕНИЯ AUTOLOGONF
                  Как упоминалось ранее,и асинхронный протокол,и
                  протокол 3270PC/Irma известны как протоколы "тер-
                  минал-хост-машина".Это значит,что операционная
                  хост-система ожидает,что система клиента будет
                  действовать как терминал.Следовательно,для каж-
                  дого потенциального соединения клиент (приложение
                  ORACLE или прикладная программа пользователя) дол-
                  жен запросить подключение к серверу (хост-система
                  RDBMS) перед тем,как SQL*Net установит взаимодей-
                  ствие с связанным процессом на машине сервера.
                          Функцией средства autologon является обеспечение
                  запуска процесса сервера и готовности принять под-
                  ключение.Чтобы выполнить эту задачу,autologon
                  автоматически подключается к удаленной ОС
                  и указывает интерпретатору командной
                  строки запустить процесс сервера.
                  Это исключает необходимость для пользователя вруч-
                  ную подключаться к удаленной хост-системе через
                  эмулятор терминала.
                        Autologon поддерживает прямые (некоммутируемые) и
                  коммутируемые подключения PC к хост-машине и упра-
                  вляет процедурой подключения,чтобы установить те-
                  лефонное соединение через интеллектуальный модем,
                  включая подсоединение к ОС и
                  инициирование сервера SQL*Net.
                          Средство autologon использует диалог,который со-
                  держится в группе файлов "handshake" (рукопожатие)
                  для установления связи с удаленной хост-машиной.
                  Эти файлы handshake создаются пользователем и со-
                  держат "запись взаимодействия",которое обычно
                  имеет место между пользователем терминала и уда-
                  ленной хост-машиной.По существу они содержат се-
                  рии сообщений следующего вида: "послать ~это~ и
                  ожидать ~то~ в ответ".Механизм параметров предус-
                  матривается для подстановки телефонных номеров,
                  имен пользователей,паролей и т.п.
                          Как только файлы handshake созданы,средство auto-
                  logon м.б. активировано простым указанием
                  префикса имени файла,который соответствует файлам
                  handshake; этот префикс является частью строки
                  спецификации БД.Смотрите разделы,оза-
                  главленные "Создание файлов handshake процедуры
                  autologon" и "Спецификация БД" для под-
                  робной информации о том,как выполнить эти дейст-
                  вия.Следующий раздел объясняет,как создать фай-
                  лы handshake,требуемые средству autologon.Затем
                  объясняется,как специфицировать параметры локаль-
                  ного порта,параметры асинхронного протокола и па-
                  раметры autologon,как часть командной строки при
                  подключении к ORACLE.Приведены примеры для иллю-
                  страции каждого из этих шагов.
                  
E   СОЗДАНИЕ ФАЙЛОВ HANDSHAKE ПРОЦЕДУРЫ AUTOLOGONF
                  Чтобы использовать средство autologon,вам необ-
                  ходимо создать 4 файла handshake,которые
                  содержат спецификации для диалога,используемого
                  при взаимодействии с удаленной хост-машиной.Эти
                  файлы содержат информацию для вызова удаленной
                  хост-машины,подключения к удаленной ОС
                  ,инициирования интерпритатора командной
                  строки на удаленной хост-машине и отключения от
                  удаленной ОС.Имена этих файлов
                  состоят из заданного пользователем префикса и со-
                  ответствующих основ DIAL,LOGO,CLI,LOGF.Вы мо-
                  жете указать любой желаемый префикс; часто указы-
                  вается название или тип используемой удаленной
                  хост-машины.Если в качестве префикса вы выбрали
                  VAX,то имена файлов handshake будут следующими:
                  VAXDIAL,VAXLOGO,VAXCLI,VAXLOGF.Этот префикс
                  м.б. логическим именем (в системах VAX/VMS)
                  или действительным именем файла.Заметим,что
                  DIAL,LOGO,CLI,LOGF - это не расширения имени
                  файла; это последние символы действительного име-
                  ни файла.
                        Примеры файлов handshake находятся на дистрибутив-
                  ных носителях для наиболее важных ОС
                  .В некоторых случаях эти примеры м.б.
                  использованы для подсоединения к удаленным систе-
                  мам.В других случаях могут потребоваться мини-
                  мальные изменения.
                        Утилита,называемая Исполнитель Autologon,обеспе-
                  чивает тестовую проверку файлов перед реальным ис-
                  пользованием их для передачи сообщений по сети.
                  Инструкции по использованию этого полезного отла-
                  дочного инструмента приведены в приложении А.
                          В следующем простом примере использования файла
                  handshake для диалога подключения для семейства
                  VMS в качестве имени пользователя и пароля исполь-
                  зуются замещаемые переменные #1 и #2 соответст-
                  венно:
  (\rjunk\r Username:*) ! ожидать подсказку для имени пользователя
  (#1\r Password:*)     ! послать имя пользователя;
                           ожидать подсказку для пароля
  (#2\r $\s )           ! послать пароль; ожидать подсказку для DCL
                  
                  Простой файл handshake для диалога отключения для
                  семейства VMS:
                  (^C -)                     ! послать 'прерывание'
                  (\rlogout\sout*)           ! отключиться
                                                
                  Полное описание используемого формата для файла
                  handshake представлено в Приложении B.Заметим,
                  что восклицательный знак с последующим текстом
                  представляют комментарий,а не часть диалога
                  handshake.
                                                                    
E   СПЕЦИФИКАЦИЯ БАЗЫ ДАННЫХF
                  Асинхронный протокол и средство autologon включа-
                  ются в работу,когда указываются как часть специ-
                  фикации БД внутри строки подключения
                  SQL*Net.Эта строка также содержит параметры кон-
                  фигурации локального порта,для того,чтобы он со-
                  ответствовал удаленному порту (строка спецификации
                  БД включает определение префикса драйвера
                  и имени БД).
                          Строка подключения имеет следующий синтаксис:
                  имя-пользователя [ /пароль ]
                    [ @префикс-драйвера:имя-базы-данных ]
                  
                  Для асинхронного драйвера используется префикс "А".
                          Имя БД для асинхронного драйвера содержит
                  параметры,определяющие характеристики как асин-
                  хронного протокола,так и средства autologon.Сле-
                  довательно,строка подключения для активации асин-
                  хронного протокола будет иметь следующий,более
                  подробный вид:
                  
                  имя-пользователя [ /пароль ] @А:
                    [ параметры-порта ]
                    [ :асинхронные параметры ]
                    [ :параметры autologon ]
                  
                  Следующие параметры д.б. указаны (явно или
                  неявно) при использовании асинхронного драйвера:
                  Параметры порта:
                  * имя порта
                  * скорость передачи baud0
                  * контроль четности
                  * модем
                  Асинхронные параметры:
                  * скорость передачи baud1
                  * режим
                  * максимальный размер передаваемых данных
                  * флаг записи в журнал
                  
                  Параметры autologon:
                  * ключ диалога
                  * имя пользователя
                  * пароль
                  * телефонный номер
                  * флаг отключения
                  
                  В следующем разделе дано описание каждого парамет-
                  ра,который д.б. указан в поле имени БД
                  строки спецификации.
                  
E   Спецификация параметров локального порта,
   асинхронных параметров и параметров autologonF
                                                 
                  Как отмечалось в предыдущем разделе,параметры,
                  которые д.б. указаны в поле имени БД
                  ,м.б. разделены на 3 группы: пара-
                  метры локального порта,асинхронные параметры и
                  параметры autologon.Для удобства обсуждения па-
                  раметры,составляющие строку спецификации,описа-
                  ны согласно этому делению.Полный синтаксис для
                  строки имени БД имеет следующий вид:
                  
                  [ :параметры-порта ]
                  [ :асинхронные параметры ]
                  [ :параметры autologon ]
                  
                  В квадратных скобках указаны элементы,которые яв-
                  ляются необязательными.
                          В следующем разделе описаны параметры локального
                  порта.

   EПараметры локального портаF
                  Параметры локального порта имеют следующий формат:
                  
                  name [ ,baud0,parity,chsize,modem ]
                  
                  Здесь:
                  name
                         имя локального порта
                  baud0
                         устанавливает начальную скорость передачи и
                         м.б. любым значением,допустимым для
                         локальной ОС.По умолча-
                         нию устанавливается "без изменения",за ис-
                         ключением IBM-PC,для которых скорость пе-
                         редачи по умолчанию - 9600
                  контроль четности
                         устанавливает требуемый контроль четности:
                         о - контроль на нечетность
                         е - контроль на четность
                         n - без контроля
                         
                         По умолчанию устанавливается "без изменения"
                  модем
                         определяет тип используемого модема:
                         0 - сигналы модема не будут контролироваться
                         1 - сигналы модема будут контролироваться
                         
                         По умолчанию используется значение 0.
                  chsize
                         определяет число битов на символ и должно
                         иметь значение 7 или 8.По умолчанию -
                         "без изменений".
                                      
                  В следующем разделе описаны асинхронные параметры.
   EАсинхронные параметрыF
                  Асинхронные параметры имеют следующий формат:
                  [ baud1,mode,maxdat,logfld ]
                  
                  Здесь:
                  baud1
                         устанавливает скорость действительной пере-
                         дачи данных.По умолчанию "без изменений"
                         (т.е.baud0)
                  mode
                         указывает режим передачи
                         Может принимать значение:
                         0 - "raw" ("сырые" данные,"прозрачный ре-
                             жим")
                         1 - "line"
                         В режиме "raw" порты на обоих концах соеди-
                         ния действуют как 8-битные без контроля на
                         четность.Данные передаются "как еcть".
                                 В режиме "line" порты на обоих концах сое-
                         динения не перестраиваются.Предполагается,
                         что они были настроены на нормальную работу
                         tty и что не более 7 битов используется для
                         представления данных.В этом режиме символы
                         данных не-ASCII представляются как двухсим-
                         вольные escape-последовательности.Таким
                         образом,в режиме "line" данные могут пере-
                         даваться почти вдвое медленнее,чем в режи-
                         ме "raw",однако этот режим м.б. не-
                         обходим,если аппаратура передачи данных не
                         поддерживает передачу 8-битных "сырых" дан-
                         ных в "прозрачном режиме".По умолчанию ис-
                         пользуется значение 0.
                         Не-ASCII символы данных имеют коды от 0 до
                         31 и от 125 до 255.
                  maxdat
                         определяет максимальный объем данных,пере-
                         сылаемых в одном пакете.Это значение нахо-
                         дится в диапазоне от 1 до 248.Если оно не
                         указывается,используется значение,завися-
                         щее от ОС (это значение
                         обычно может определить сам пользователь).
                                 Каждый пакет содержит фиксированный заголо-
                         вок (системные данные); следовательно,об-
                         щий объем заголовков уменьшается при увели-
                         чении размера пакета.
                  logfld
                         устанавливает уровень записи в журнал 0 или
                         1.0 обозначает "не записывать в журнал",
                         а 1 - "записывать".Если установлено 1,то
                         асинхронный драйвер записывает сеанс и со-
                         общения об ошибках в файлы:
                                 ASYNCUSR.LOG (директорий в системе клиента,
                         из которого выполнено подсоединение)
                         ASYNCSRV.LOG (директорий подключения в
                         хост-системе).
                         
                  В следующем разделе описаны параметры autologon.
   EПараметры autologonF
                  Параметры autologon имеют следующий формат:
                         
                  dlogkey,username,password,telno,hupflg
                         
                  Например,
                  VAX,POE,RAVEN,5551212,0
                  Здесь:
                  dlogkey
                         ключ диалога,произвольная символьная стро-
                         ка,которая устанавливает общий префикс для
                         четырех переменных оборудования.Предпола-
                         гается,что значение каждой переменной
                         представляет имя файла,содержащего диалог
                         handshake.
                         Имена переменных,определяющих соответству-
                         ющий диалог:
                         dlogkeyDIAL - содержит диалог вызова
                         dlogkeyLOGO - содержит диалог подключения
                         dlogkeyCLI  - содержит диалог,который ак-
                                       тивирует интерпритатор коман-
                                       дной строки на удаленной
                                       хост-системе
                         dlogkeyLOGF - содержит диалог отключения
                  username
                         содержит имя пользователя для операционной
                         системы,к которой подключается autologon.
                         Если этот параметр опущен,autologon пред-
                         полагает,что подключение не требуется
                  password
                         указывает пароль пользователя,заданного в
                         username
                  telno
                         указывает телефонный номер,который будет
                         использоваться в диалоге вызова
                  hupflg
                         используется для определения флага отключе-
                         ния телефонного соединения.
                         0 - указывает,что не нужно отключаться при
                         рассоединении линии
                         1 - указывает,что нужно отключаться
                         По умолчанию используется значение 1.По-
                         лезно установить значение hupflg в 0,если
                         вы планируете подсоединяться более чем один
                         раз во время одной сессии.В этом случае вы
                         не должны подключаться каждый раз при необ-
                         ходимости установить соединение.Однако,
                         если линия не используется более 5 ми-
                         нут,возникает тайм-аут и линия рассоединя-
                         ется.
                  
E   Примеры спецификации БДF
                  В этом разделе представлено несколько примеров
                  спецификации БД с использованием асин-
                  хронного протокола.
   EПример 1F
                    @A:
                  В этом примере для подключения к удаленной системе
                  используется асинхронный драйвер,задаваемый зна-
                  чением по умолчанию строки имени БД (че-
                  рез переменную оборудования ASYNCDFLT).
                         
   EПример 2F
                    @A:COM1::HOST,john,mypassword
                  В этом примере для подключения к удаленной системе
                  используется порт COM1.Для установления соедине-
                  ния будут использоваться следующие файлы handshake:
                  HOSTDIAL,HOSTLOGO,HOSTCLI и HOSTLOGF.Соединение
                  будет установлено для учетного имени "john" с па-
                  ролем "mypassword".
   EПример 3F
                    @A:COM1,9600:19200,,128:HOST,john,mypassword
                  Этот пример отличается от примера 2 тем,что уста-
                  новлена скорость локального порта для подключения
                  9600 бод,скорость передачи данных по линии 19200
                  бод,а также указан максимальный размер данных -
                  128 байтов.
                  
   EПример 4F
                    @A:COM1::HOST,john,mypassword,,0
                  Этот пример отличается от примера 2 тем,что ли-
                  ния не должна отключаться после рассоединения.
                  
   EПример 5F
                    @A:COM1::HOST
                  Этот пример отличается от примера 4 тем,что не
                  требуется начинать сеанс с удаленной системой,и
                  линия будет отключена после рассоединения (для
                  hupflg по умолчанию используется значение 1).
                                       
E   ОПРЕДЕЛЕНИЕ ДИАЛОГА HANDSHAKEF
                  В Приложении B представлен формат,который должен
                  использоваться при подготовке диалога handshake,
                  а также примеры диалога handshake,
                   
E   ГЛАВА 5.ПРОТОКОЛ DECNETF
                  Эта глава объясняет,как использовать протокол
                  DECNet,и включает следующую информацию:
                  * Описание протокола DECNet
                  * Объяснение,как специфицировать удаленную БД
                  * Детальный обзор,как архитектура DECNet работает
                    с SQL*Net
                                                           
E   ИСПОЛЬЗОВАНИЕ ПРОТОКОЛА DECNETF
                  Протокол DECNet является частью архитектуры DECNet
                  и обеспечивает коммуникации задача-задача между
                  любыми двумя системами,поддерживающими эту архи-
                  тектуру.SQL*Net может использовать этот протокол
                  для обеспечения взаимодействия между системами
                  VAX/VMS.
                                                           
E   Спецификация БДF
                  При использовании DECNet имя-базы-данных имеет
                  следующий формат:
                  D:хост-имя [ - имя-базы-ORACLE ]
                  
                  Первый компонент,хост-имя,д.б. именем уз-
                  ла сети,известным программному обеспечению ло-
                  кальной системы.Это м.б. также логическое
                  имя,которое при необходимости преобразуется в имя
                  узла сети.
                          Второй компонент,имя-базы-ORACLE,используется,
                  чтобы отличать требуемую БД,если их не-
                  сколько в одном  узле сети.Имя-базы-ORACLE опре-
                  деляется в файле INIT.ORA.Если оно опущено,пред-
                  полагается имя DFLT.
                          Если имя-базы-данных вообще не указано,предпола-
                  гается значение SQL$Net.Обычно это будет логичес-
                  кое имя,которое преобразуется в имя требуемого
                  удаленного узла.
                          В следующих примерах "780vms" обозначает имя узла
                  сети,и предполагается,что SQL*Net преобразуется
                  в NEWNODE:
                  scott/tiger@d:           база DFLT на NEWNODE
                  scott/tiger@d:780vms     база DFLT на 780VMS
                  scott/tiger@d:ND-TEST5   база TEST5 на ND
                  
E   АрхитектураF
                  В этом разделе описано,как ORACLE использует про-
                  токол DECNet.Раздел предназначен для тех,кому,
                  возможно,захочется внести некоторые изменения.
                          ORACLE использует стандартные средства задача-за-
                  дача протокола DECNet.Всякий раз,когда приложе-
                  ние хочет установить связь с ORACLE,оно посылает
                  "запрос на соединение" программам DECNet системы
                  клиента.В этом запросе содержится вся необходи-
                  мая информация об используемой БД серве-
                  ра,указанная в следующем формате:
                  
                  имя-узла [ "имя-пользователя пароль" ]
                    ::"TASK=ORDNимя-базы-ORACLE"
                                                
                  Имя-узла позволяет направить запрос к заданному
                  узлу DECNet.Имя пользователя и пароль задают
                  информацию для подключения к VMS (если они отсут-
                  ствуют,используется имя DECNet,заданное по умол-
                  чанию).Имя после "TASK=" определяет вызываемую
                  задачу (по умолчанию,программы сервера DECNet вы-
                  полняют командный файл с этим именем,расположен-
                  ный в директории заданного учетного имени.Напри-
                  мер,если используется строка
                                               
                  780VMS::"TASK=ORDNDFLT"
                  
                  то запрос на соединение направляется с учетным
                  именем DECNet и запускается командный файл с име-
                  нем [DECNet] ORDNDFLT.COM.Это тот командный файл,
                  который запускает процесс сервера SQL*Net
                  (ORASRV.EXE).
                          Есть 2 основных способа повлиять на установле-
                  ние соединения:
                  * изменяя порядок формирования запроса на соедине-
                    ние на системе клиента
                  * изменяя порядок интерпретации имени задачи на
                    системе клиента или сервера
                  
                  EФормирование запроса на соединение:F
                  Обычно SQL*Net не включает имя пользователя/пароль
                  в запрос на соединение,и не разрешает вносить из-
                  менения в имя задачи (разрешается только менять
                  имя-базы-ORACLE).Однако вы можете явно указать и
                  то,и другое.Если имя узла,передаваемое SQL*Net,
                  содержит последовательность "имя-пользователя па-
                  роль",эта последовательность будет перенесена в
                  запрос на соединение.Точно так же,если явно ука-
                  зана спецификация задачи,SQL*Net предполагает,
                  что вы уже обеспечили ее,и не добавляет свою
                  спецификацию.Например:
                  
                  $sqlplus scott/tiger@780vms"""scott vmspw"""
                  
                  Будет выполнено подсоединение к 780VMS,учетное
                  имя для сеанса - SCOTT,а не DECNet.Будет исполь-
                  зован командный файл ORDNDFLT.COM.Обратите внима-
                  ние на лишние кавычки.Они необходимы при транс-
                  ляции на VMS.Аналогично:
                  
        $assign 780vms"""scott vmspw"""::"""task=acctgdb.com""" acct
        $sqlplus scott/tiger@d:acct
                  
                  Будет выполнено подсоединение к 780VMS,учетное
                  имя для сеанса - SCOTT,пароль для VMS - VMSPW.
                  Будет использован командный файл ACCTGDB.COM.
                  Здесь использована трансляция логического имени
                  acct.
                          При использовании этих возможностей вам почти все-
                  гда прийдется применять логические имена (как в
                  последнем примере).Некоторые программы не смогут
                  воспринять непосредственно имена устройств,так
                  как эти имена слишком длинны и содержат специаль-
                  ные символы.
                   
                  EИнтерпретация имени задачи:F
                  Обычно по запросу на соединение создается процесс
                  с учетным именем,определенным после хост-имени в
                  строке соединения (если учетное имя не указано,то
                  используется DECNet).Затем выполняется командный
                  файл SYS$LOGIN: задача.COM.Это действия по умол-
                  чанию для сетевых программ сервера,и они не ре-
                  гистрируются в БД конфигурации VMS.
                          Вы можете пожелать изменить эти действия,чтобы
                  улучшить безопасность данных или учет,предотвра-
                  тить конфликты с другим программным обеспечением
                  вашей системы или для других целей.В следующих
                  пунктах описываются изменения,которые вам могут
                  потребоваться и почему.Описания команд VMS,кото-
                  рые необходимо использовать,выходят за границы
                  этого документа.Эти команды полностью описаны в
                  Руководстве по сетевой обработке на VAX/VMS,вер-
                  сия 4.0,Корпорации Digital Eguipment.
                          E* Определение доступа по умолчанию:F При помощи па-
                    раметров ACCOUNT,PASSWORD и USER команды SET
                    OBJECT Сетевой Управляющей Программы VMS вы мо-
                    жете указать,что используется учетное имя,от-
                    личное от DECNet,если доступ не определен в за-
                    просе на соединение.Это удобно для целей безо-
                    пасности,так как вы указываете пароль в конфи-
                    гурационной БД и исключаете необходи-
                    мость разглашать его.Пользователи смогут под-
                    ключится с этим учетным именем только через
                    SQL*Net.Это также удобно для учета,так как ис-
                    пользование SQL*Net будет учитываться отдельно.
                          E* Определение полномочий подключения:F При помощи
                    параметра PROXY команды SET OBJECT вы можете
                    указать,что запрос на соединение через SQL*Net
                    будет создавать процесс с определенным учетным
                    именем,специфичным для пользователя на системе
                    клиента (обычно это то же учетное имя,которое
                    имеет пользователь на системе клиента).В этом
                    случае использование ORACLE для каждого имени
                    учитывается отдельно,что также улучшает безо-
                    пасность.Однако это требует наличие системы
                    учета на системе сервера и может привести к уве-
                    личению числа процессов,создаваемых на сервере
                    (процесс сервера м.б. использован повтор-
                    но,только если его запросил пользователь с тем
                    же учетным именем).
                          E* Определение имени командного файла:F При помощи
                    параметра FILE команды SET OBJECT вы можете ука-
                    зать имя командного файла для запуска процесса
                    (по умолчанию этот командный файл имеет имя
                    SYS$LOGIN: задача.COM).Чтобы выполнить это,вы
                    должны использовать учетное имя ядра ORACLE (на-
                    пример,SYS$ORACLE:ORDNDFLT.COM),а не учетное
                    имя пользователя.Это полезно с точки зрения бе-
                    зопасности,так как пользователи в этом случае
                    не могут модифицировать командный файл.Это осо-
                    бенно важно в случае использования полномочий
                    подключения,так как иначе необходимо было бы
                    иметь командный файл в директории каждого поль-
                    зователя.
                          E* Устранение NETSERVER.LOG:F Обычно DECNet создает
                    файл NETSERVER.LOG,который содержит вывод
                    SYS$OUTPUT сеанса сервера.Если обременительно
                    выделять дисковое пространство для этого файла,
                    вы можете подавить его,используя для подключе-
                    ния учетное имя,которое не имеет директория
                    подключения.Однако не рекомендуется подавлять
                    этот файл,так как он может содержать информа-
                    цию,полезную при возникновении проблем.
                          E* Установка NETSERVER$TIMEOUT:F Когда соединение
                    завершается,процесс,используемый для создания
                    этого соединения,сразу не уничтожается.Вместо
                    этого программное обеспечение DECNet сохраняет
                    его на тот случай,если прийдет запрос на соеди-
                    нение с той же управляющей информацией доступа
                    (те же имя пользователя и пароль).Логическое
                    имя NETSERVER$TIMEOUT указывает,как долго неис-
                    пользуемый процесс должен сохраняться.
                   
E   ГЛАВА 6.ПРОТОКОЛ TCP/IPF
                  Эта глава объясняет,как использовать протокол
                  TCP/IP,и включает следующую информацию:
                  * Общее описание протокола TCP/IP
                  * Объяснение,как специфицировать удаленную БД
                    при использовании TCP/IP
                                                           
E   ИСПОЛЬЗОВАНИЕ ПРОТОКОЛА TCP/IPF
                  Протокол TCP/IP является уровнем программного
                  обеспечения,который взаимодействует с EtherNet
                  и обеспечивает коммуникации задача-задача между
                  любыми двумя системами (в данной сети),поддержи-
                  вающими эту архитектуру.SQL*Net может использо-
                  вать этот протокол для обеспечения взаимодействия
                  между различными системами UNIX.
                                                           
E   Спецификация БДF
                  При использовании TCP/IP имя-базы-данных имеет
                  следующий формат:
                  T:хост-имя:команда:"имя-пользователя пароль"
                  "T" - это префикс драйвера для протокола TCP/IP.
                  Следующий компонент,хост-имя,д.б. именем
                  узла сети,известным программному обеспечению
                  TCP/IP локальной системы.
                          В системах UNIX хост-имя находится в директории
                  /etc/hosts локальной системы.Если хост-имя не
                  указано,по умолчанию используется имя oraclehost.
                  Если команда не указана,по умолчанию использует-
                  ся orasrv.Если имя пользователя не указано,по
                  умолчанию используется имя sqlnet.
                                   
                  Несколько примеров:
         scott/tiger@t:           orasrv запускается на oraclehost
         scott/tiger@t:unix       orasrv запускается на UNIX
         scott/tiger@d::D         D запускается на oraclehost
                  
E   АрхитектураF
                  В этом разделе описано,как ORACLE использует про-
                  токол TCP/IP.Раздел предназначен для тех,кому,
                  возможно,захочется внести некоторые изменения.
                          ORACLE использует стандартные средства задача-за-
                  дача протокола TCP/IP.Всякий раз,когда приложе-
                  ние хочет установить связь с ORACLE,оно посылает
                  "запрос на соединение" программам TCP/IP системы
                  клиента.В этом запросе содержится вся необходи-
                  мая информация об используемой БД серве-
                  ра,указанная в следующем формате:
                  
                  T:хост-имя:команда:"имя-пользователя пароль"
                                                
                  Хост-имя позволяет направить запрос к заданному
                  узлу TCP/IP.Команда определяет вызываемую задачу
                  (это м.б. команда UNIX или файл,который за-
                  пускает процесс сервера на удаленной хост-машине).
                  Имя пользователя и пароль задают информацию для
                  подключения к UNIX (если они отсутствуют,исполь-
                  зуется имя sqlnet,заданное по умолчанию).
                  
                  Например,спецификация БД могла бы иметь
                  следующий вид:
                  
                  t:pyr90x:d:"sqlnet password"
                  
                  В этом примере "pyr90x" - это имя хост-машины,а
                  "d" - это имя файла,запускающего процесс сервера.
                  Ниже приведено содержимое этого файла:
                                                                 
                  ORACLE_HOME=/usr/oracle
                  ORACLE_SID=D
                  ORACLE_DB=/usr/oracle/dbs/dbsD.ora
                  ORACLE_BI=/usr/oracle/dbs/biD.ora
                  ORACLE_DBSZ=6000
                  export ORACLE_HOME ORACLE_SID ORACLE_DB ORACLE_BI\
                   ORACLE_BISZ
                  exec/usr/oracle/bin/oracle 1024 0 1
                   
E   ПРИЛОЖЕНИЕ А.УТИЛИТА ИСПОЛНИТЕЛЬ AUTOLOGONF
                  Утилита Исполнитель Autologon (Autologon Exerciser
                  Utility,ALX) - это интерактивная утилита,которая
                  позволяет пользователю построить и/или оттестиро-
                  вать диалоги handshake средства autologon на от-
                  дельном оборудовании вне сети (т.е.не связанном
                  с БД ORACLE и SQL*Net).
                          ALX оказывается очень полезной для отладки напи-
                  санных пользователем диалогов перед тем,как они
                  будут использованы в среде асинхронных соединений
                  SQL*Net.ALX - это также полезный инструмент для
                  тестирования самих асинхронных соединений.
                          ALX - это интерактивная утилита.После вызова она
                  выполняет функции в соответствии с командами,по-
                  сылаемыми с терминала.Состав доступных команд
                  пользователя описан далее в этом приложении.
                          Набор команд ALX спроектирован таким образом,что-
                  бы дать возможность пользователю создавать диалоги
                  handshake средства autologon (или прочитать их с
                  диска) и проверить на синтаксические и семантичес-
                  кие ошибки.
                          Когда диалог выполняется,активность ассоциирован-
                  ной линии связи отображается на терминале пользо-
                  вателя.Таким путем пользователь быстро определя-
                  ет,действительно ли диалог выполняется так,как
                  предполагается.
                                                           
E   ИСПОЛЬЗОВАНИЕ УТИЛИТЫ ИСПОЛНИТЕЛЯ AUTOLOGONF
                  Чтобы вызвать ALX,введите с терминала следующую
                  команду:
                  ALX 
                  
                  Сразу после вызова утилита выдает сообщение:
                  Autologon Exerciser utility,Version 1.0
                  
                  Чтобы запросить помощь,введите:
                  he 
                  
                  Появится следующее сообщение:
                  ALX>
                  
                  Это подсказка,которая указывает,что утилита при-
                  глашает вас вводить команды ALX.
                                              
E   Формат команд ALXF
                  Все команды ALX имеют следующий полный формат:
                  
                  мнемоника-команды [ аргумент [ аргумент...] ]
                  
                  Все команды имеют мнемонику длиной два символа.
                  Список мнемоник всех команд ALX и их функций при-
                  веден ниже:
                  br  - послать асинхронное прерывание
                        (send asynchronous break)
                  cc  - вызвать интерпретатор командной строки
                        call command line interpreter
                  cd  - создать диалог
                        create dialogue
                  dd  - отобразить диалог
                        display dialogue
                  ds  - определить подстановочную переменную
                        define substitution variable
                  ed  - выполнить диалог
                        execute dialogue
                  he  - отобразить экран помощи
                        help-display command synopsis
                  op  - открыть порт
                        open port
                  qu  - закончить
                        quit
                  rd  - восстановить диалог (с диска)
                        retrieve dialogue (from disk)
                  sd  - сохранить диалог (на диске)
                        store dialogue (to disk)
                  tt  - переключить формат трассы
                        trace toggle
        
                  Минимальная последовательность команд для создания
                  и тестирования диалога handshake будет следующей:
                    op
                    cd
                    ed
                    sd
                    qu
                  
                  В следующих разделах дано детальное описание каж-
                  дой команды и ее аргументов.
                                              
E   КОМАНДЫ ALXF
                  В следующих разделах представлен систаксис каждой
                  команды ALX.
                                              
E   ПОСЛАТЬ АСИНХРОННОЕ ПРЕРЫВАНИЕF
   EСинтаксисF
                  br
               
   EОписаниеF
                  Эта команда используется,чтобы послать пакет
                  асинхронного прерывания (из порта,который перед
                  этим был открыт командой op).
                          Посылка пакета асинхронного прерывания одной сто-
                  роной (при коммуникации с асинхронной связью) име-
                  ет цель информировать другую сторону о том,что фи-
                  зическое соединение логически разорвано и больше
                  не используется.
                          В среде SQL*Net использование команды br может
                  быть полезно для пользователя в соединении со сто-
                  роны клиента,когда необходимо "разблокировать"
                  асинхронное соединение,если сервер SQL*Net неожи-
                  данно "завис".
                                              
E   ВЫЗВАТЬ ИНТЕРПРЕТАТОР КОМАНДНОЙ СТРОКИF
   EСинтаксисF
                  cc
               
   EОписаниеF
                  Эта команда используется,чтобы запустить (как
                  подчиненный процесс) интерпретатор командной стро-
                  ки (например,sh для UNIX,DCL для VMS) и передать
                  ему управление.
                          После выхода из интерпретатора командной строки
                  пользователь снова возвратится в утилиту ALX.
                          Эта команда позволяет пользователю перейти к ре-
                  дактору,скорректировать файл диалога,находящийся
                  на диске и вернуться назад.
                                              
E   СОЗДАТЬ ДИАЛОГF
   EСинтаксисF
                  cd диалог handshake
   EОписаниеF
                  Эта команда позволяет пользователю динамически
                  создать диалог handshake средства autologon.
                           Аргументом этой команды является строка символов,
                  которую ALX будет интерпретировать как диалог
                  autologon.
                          Диалог д.б. достаточно коротким,чтобы
                  вместиться в командный буфер ALX (80 символов).
                  Большой,сложный диалог д.б. создан заранее
                  при помощи редактора и затем вызван командой ALX
                  rd (восстановить диалог).
                                     
   EПримерF
                  ALX> cd (ПослатьТо ОжидатьЭто (- илиЭто))
                                              
E   ОТОБРАЗИТЬ ДИАЛОГF
   EСинтаксисF
                  dd
               
   EОписаниеF
                  Эта команда заставляет ALX отобразить текущий диалог
                  на экране.
   EПримерF
                  ALX> dd
                  (ПослатьТо ОжидатьЭто (- илиЭто))
                  ALX>
                                              
E   ОПРЕДЕЛИТЬ ПОДСТАНОВОЧНУЮ ПЕРЕМЕННУЮF
   EСинтаксисF
                  ds n переменная
               
   EОписаниеF
                  Эта команда позволяет пользователю определить одну
                  из четырех подстановочных переменных,связанных с
                  текущим диалогом (который был задан предыдущей ко-
                  мандой cd или rd).
                          Число n может принимать значения 1,2,3,4.
                  Аргумент "переменная" м.б. любой символьной
                  строкой (и может содержать включенные пробелы).
                  Если "переменная" опущена,ALX отобразит текущее
                  значение.
   EПримерF
                  ALX> ds 2 строка #1
                  ALX> ds 2
                  строка #1
                  ALX>
                                              
E   ВЫПОЛНИТЬ ДИАЛОГF
   EСинтаксисF
                  ed
   EОписаниеF
                  Эта команда заставляет ALX выполнить текущий диа-
                  лог (который был задан предыдущей командой cd или
                  rd).
                          Когда диалог выполняется,ALX отображает трассу
                  активности линии на экране терминала пользователя.
                  Эта информация имеет вид:
                  SENDING   [.........         (ПОСЫЛКА)
                  EXPECTING [........          (ОЖИДАНИЕ)
                  GOT       [......            (ПОЛУЧЕНИЕ)
                  GOT       [......            (ПОЛУЧЕНИЕ)
                  GOT       [......            (ПОЛУЧЕНИЕ)
                  SENDING   [.........         (ПОСЫЛКА)
                  
                  Перед выполнением диалога ALX сначала проверяет
                  его на правильность.Все синтаксические ошибки вы-
                  даются пользователю.Сообщения имеют вид:
                  ERROR: сообщение
                  
                  ALX выполняет только синтаксически правильный диа-
                  лог.
                                              
E   HELPF
   EСинтаксисF
                  he
   EОписаниеF
                  Эта команда заставляет ALX вывести на экран сводку
                  команд.
   EПримерF
                  ALX> he
                  Команда              Описание
                  br                   send async break
                  cc                   call command line interpreter
                  cd                   create dialogue
                  dd                   display dialogue
                  ds                   define substitution variable
                  ed                   execute dialogue
                  he                   help-display command synopsis
                  op <порт>            open port
                  qu                   quit
                  rd <имя файла>       retrieve dialogue (from disk)
                  sd <имя файла>       store dialogue (to disk)
                  tt                   trace toggle
                                              
E   ОТКРЫТЬ ПОРТF
   EСинтаксисF
                  op порт
   EОписаниеF
                  Эта команда используется,чтобы открыть порт тер-
                  минала.
                   Когда диалог выполняется (смотрите команду ed),
                  весь ввод/вывод,связанный с этим диалогом,на-
                  правляется в этот порт.
                          Значение порта "null" имеет специальное значение.
                  В этом случае при выполнении текущего диалога
                  подавляется весь связанный с ним ввод/вывод.Этот
                  удобный механизм позволяет ALX выполнить прогон
                  только для синтаксического контроля диалога.
                          Заметим,что не существует явной команды "закрыть
                  порт".Порт будет закрыт при выходе из ALX или ко-
                  гда открывается новый порт.
   EПримерF
                  ALX> op com1
                  
                  ALX> op /dev/tty01
                  
                  ALX> op null
                                              
E   ВОССТАНОВИТЬ ДИАЛОГF
   EСинтаксисF
                  rd имя файла
   EОписаниеF
                  Эта команда используется,чтобы восстановить (про-
                  читать) диалог handshake с диска.
                           Файл на диске,содержащий диалог,идентифицируется
                  аргументом "имя файла".
   EПримерF
                  ALX> rd vms_logon.hsd
                                              
E   СОХРАНИТЬ ДИАЛОГF
   EСинтаксисF
                  sd имя файла
   EОписаниеF
                  Эта команда используется,чтобы сохранить текущий
                  диалог handshake (который был задан предыдущей ко-
                  мандой cd или rd) на диске.
                           Диалог сохраняется под именем "имя файла".
   EПримерF
                  ALX> cd (ПослатьТо ОжидатьЭто (- илиЭто))
                  ALX> sd condition1.hsd
                                              
E   ПЕРЕКЛЮЧИТЬ ФОРМАТ ТРАССЫF
   EСинтаксисF
                  tt
   EОписаниеF
                  Эта команда позволяет переключить формат трассы
                  активности линии (которая отображается командой
                  ed) и может использоваться,если трасса содержит
                  не-ASCII данные.
                           Команда tt выбирает между "hex mode" (16-й формат)
                           и "escape mode" (escape-режим).
                  В 16-ом формате не-ASCII символы ото-
                  бражаются в формате
                                          
                  
                  где hh представляет 16-ое значение символа.
                          В режиме "escape" не-ASCII символы отображаются
                  только в том случае,если они соответствуют нота-
                  ции "\x".В этом случае они отображаются в формате
                  
                  \x
                  где x представляет соответствующий символ (напри-
                  мер,символ "перевод строки" будет отображаться
                  как \n).
                                                              
E   ПРИМЕРЫ СЕАНСОВ ALXF
   EПример 1F
        $ alx
          Autologon Exerciser,Version 1.0
          For help,enter "he"
          ALX> op null
          ALX> cd (SendThis"7 ExpectThis* (- OrThis)
          ALX> ed
          ERROR: unmatched parenthesis (незакрытая круглая скобка)
          ALX> cd (SendThis"7 ExpectThis* (- OrThis))
          ALX> ed
          ALX> qu
          Goodbye!
                                   
   EПример 2F
        $ alx
          Autologon Exerciser,Version 1.0
          For help,enter "he"
          ALX> op txc4
          ALX> rd vmslogon.hsd
          ALX> dd
          (\rjunk\r Username:*)
          (#1\r Password:*)
          (#2\r $\s)
          ALX> ds 1 DCYRIL
          ALX> ds 2 DISNEY
          ALX> ed
          SENDING  : junk
          EXPECTING: Username:<7f>
          GOT      : 
          GOT      : 
          TIMEOUT!
          GOT      : Username:<20>
          TIMEOUT!
          SENDING  : DCYRIL
          EXPECTING: Password:<7f>
          GOT      : DCYRIL
          GOT      : 
          TIMEOUT!
          GOT      : Password:<20>
          TIMEOUT!
          SENDING  : DISNEY
          EXPECTING: $<20>
          GOT      : #6Welcome<20>to<20>ORACLE<20>APPVMS<20>11/785
                     <20>VMS<20>V4
          GOT      : <20>
          GOT      : <20><20><20><20>Last<20>interactive<20>login
                     <20>on<20>T
          TIMEOUT!
          EXPECTING: $<20>
          GOT      : <20><20><20><20>TXC6:<20><20>proc<20>name:
                     <20>DCYRIL3<20>
          GOT      : <20><20><20><20>uic:<20>-SYSMAIL-<20><20>
                     def:<20>DD$:[D
                                   
          GOT      : 
          GOT      : DCX<20>connected<20>users<20>inactive<20>
                     for<20>30<20>m
          TIMEOUT!
          EXPECTING: $<20>
          GOT      : 
          GOT      : VAX<20>UNITY<20>under<20>VMS<20>(5.2.2)<20>
                     available
          GOT      : 
          GOT      : $<20>
          ALX> qu
          Goodbye!
                   
+E   ПРИЛОЖЕНИЕ В.ОПРЕДЕЛЕНИЕ ДИАЛОГА HANDSHAKEF
                  В этой главе представлено описание диалога
                  handshake в нормальной форма Бэкуса.Это описание
                  д.б. использовано при создании каждого из
                  файлов handshake.

            handshake dialogue  ::= 
            (диалог handshake)
                  
                      ::= ()|
            (последовательность     ()|
            обмена)                 ()
   
                ::= 
            (повторная ...)
   
                    ::= 
            (блок обмена)
   
                   ::= |
            (строка посылки)        |
                                    |
                                    -|=
   
                   ::= |
            (получаемая             |
            строка)                 |
                                    -|=
                  
              ::= |
            (атом send...)          |
                                    |
                                    
   
              ::= |
            (атом resp...)          |
                                    |
                                    |
                                    *|?
                                  
                    ::= 
            (строка команд)
   
                       ::= !
            (последовательность
            команд)
   
                      ::= Pnn|Tnn|tnn|nn
            (атом команд)
   
                    ::= \
            (escape-строка)
   
                      ::= b|n|r|s|t|k|u|*|?|(|)|-|=|#|
            (escape-символ)             ^|~|\
   
                    ::= ^<алфавитный символ>
            (управляющая строка)
   
                    ::= #1|#2|#3|#4
            (подстановочная
            строка)
   
                       ::= печатный символ
            (печатный символ)       (кроме *,?,(,),-,=,#,^,~)
         
             (специальные символы посылаемой строки):
           
                -   - no-op (ничего не делать)
                =   - использовать предыдущее значение 
   
             (специальные символы получаемой строки):
                    
                -   - no-op (ничего не делать)
                =   - использовать предыдущее значение 
                *   - "wildcard" - любая строка из нуля или
                      более символов
                ?   - "wildcard" - любой одиночный символ
   
            :
               
                Pnn - пауза на "nn" секунд
                Tnn - установить начальное значение тайм-аута
                      "nn" секунд
                tnn - установить последующее значение тайм-аута
                      "nn" секунд
                Rnn - после тайм-аута повторить "nn" раз
                  
            :
                \b  - символ "возврат каретки"
                \n  - символ "новая строка"
                \r  - символ "возврат каретки"
                \s  - символ "пробел"
                \t  - символ "табуляция"
                \k  - символ "break"
                \u  - пустой символ
                \*  - символ "*"
                \(  - символ "("
                \)  - символ ")"
                \-  - символ "-"
                \=  - символ "="
                \#  - символ "#"
                \^  - символ "^"
                \~  - символ "~"
                \\  - символ "\"
            
             (подстановочные переменные):
                #1  - для строки ALO_HD.hd_s1
                #2  - для строки ALO_HD.hd_s2
                #3  - для строки ALO_HD.hd_s3
                #4  - для строки ALO_HD.hd_s4
   
E   Примеры диалога handshakeF
                  В этом разделе представлены примеры диалога
                  handshake.
   EПример 1F
                  Простой диалог м.б. определен следующим об-
                  разом:
                  (S1 R1) (S2 R2) .....(Sn Rn)
                  и будет интерпретирован так:
                    Послать "S1"
                    IF ответ != "R1"
                        выход на ошибку
                    ENDIF
                    Послать "S2"
                    IF ответ != "R2"
                        выход на ошибку
                    ENDIF
                     .
                     .
                     .
                    Послать "Sn"
                    IF ответ != "Rn"
                        выход на ошибку
                    ENDIF
                    успешный выход
          
   EПример 2F
                  Примером более сложного диалога может служить сле-
                  дующий:
                  (S1 R1 (S11 R11 (S111 R111)) (S12 R12)) (S2 R2)
                    
                  который будет интерпретирован так:
                    Послать "S1"
                    IF ответ != "R1"
                        Послать "S11"
                        IF ответ != "R11"
                            Послать "S111"
                            IF ответ != "R111"
                                выход на ошибку
                            ENDIF
                        ELSE
                            Послать "S12"
                            IF ответ != "R12"
                                выход на ошибку
                            ENDIF
                        ENDIF
                    ENDIF
                    Послать "S2"
                    IF ответ != "R2"
                        выход на ошибку
                    ENDIF
                    успешный выход
          
   EПример 3F
                  В этом примере представлен диалог handshake для
                  подключения для семейства VMS.В качестве имени
                  пользователя и пароля используются подстановочные
                  переменные #1 и #2 соответственно:
                                                                 
  (\rjunk\r Username:*) ! ожидать подсказку для имени пользователя
  (#1\r Password:*)     ! послать имя пользователя;
                           ожидать подсказку для пароля
  (#2\r $\s )           ! послать пароль; ожидать подсказку для DCL
                  
   EПример 4F
                  В следующем примере представлен диалог handshake
                  для отключения для семейства VMS.
   (^C -)                       ! послать 'прерывание'
   (\rlogout\r *logged\sout*)   ! отключиться
                  
+E   ГЛОССАРИЙF
                  EАсинхронная передача (asynchronous transmission):F
                  Передача данных,при которой временные интервалы
                  между передаваемыми символами могут иметь различ-
                  ную длину.Передача управляется стартстопными эле-
                  ментами в начале и конце каждого символа.Этот вид
                  передачи данных обычно используется соединениями
                  RS232 между терминалами и РС и модемами для прямых
                  некоммутируемых соединений.
                           Eautologon:F Средство,обеспечиваемое асинхронным
                  коммуникационным протоколом ORACLE,которое ис-
                  пользует содержимое группы файлов handshake для
                  автоматического установления соединения с удален-
                  ной хост-системой.
                          EКлиент (client):F В модели коммуникации клиент/сер-
                  вер система клиента должна посылать запрос на об-
                  служивание серверу,или хост-машине.
                          EКоммуникации задача-задача (task-to-task communi-
                  cations):F Межпроцессное взаимодействие,в котором
                  две задачи или 2 процесса сотрудничают друг с
                  другом,чтобы гарантировать надежную передачу дан-
                  ных.
                          EКоммуникации процесс-процесс (process-to-process
                  communications):F См.коммуникации задача-задача.
EПакет (packet):F Группа битов и управляющих элемен-
                  тов,которая переключается и передается как одно
                  целое.Данные,управляющие элементы и,возможно,
                  информация об ошибках представлены в определенном
                  формате.
   EПереключаемая линия (switched-line):F Коммуникаци-
                  онная связь,для которой физический путь может из-
                  меняться в зависимости от необходимости,например,
                  коммутируемая телефонная сеть.
  EПротоколы (protocols):F Утвержденный набор стандар-
                  тов,который управляет действиями по коммуникаци-
                  онным связям.
EРаспределенная БД (distributed database):F
                  Распределенная БД выполняет распределен-
                  ную обработку способом,незаметным для использова-
                  теля.При использовании распределенной БД
                  пользователю не требуется знать местонахождение
                  удаленной БД.
EРаспределенная обработка (distributed processing):F
                  Операции с БД выполняются через сеть,но
                  пользователь должен идентифицировать местонахожде-
                  ние удаленных данных и должен послать сообщение
                  через сеть для инициирования процесса на удаленной
                  хост-машине.
EСегмент (frame):F Единица данных,ограниченная фла-
                  гами.Обычно содержит заголовок,используемый ком-
                  муникационным протоколом для обмена пакетами,уп-
                  равляющую информацию и информацию об ошибках.
EСервер (server):F В модели коммуникации клиент/сер-
                  вер сервер является хост-машиной (на которой за-
                  гружено ядро ORACLE и находится БД).
EСкорость передачи (baud rate):F Эта скорость указы-
                  вается в бодах и равна числу дискретных состояний
                  или уровней сигнала в секунду.
EТерминальный протокол (terminal protocol):F Комму-
                  никационный протокол,в котором соединение со сто-
                  роны клиента ведет себя как "тупой" терминал,то
                  есть асинхронные коммуникации.
EУзел сети (node):F Отдельный физический компонент
                  сети.
EФайлы handshake:F Используются в технологии пере-
                  сылки сообщений по сети для выполнения запроса на
                  обслуживание удаленной хост-машины.

E    ИНДЕКСF
   E А F
    Архитектура DECNet
    Архитектура SQL*Net
    Архитектура TCP/IP
    Асинхронная спецификация БД
    Асинхронные параметры
    Асинхронный префикс драйвера
    Асинхронный протокол
                  
   E Б F
    База данных
      выбор при подключении
    Безопасность
                  
   E В F
    Восстановление после ошибок
    Выбор колонок для пересылки
    Выбор строк для пересылки
    Выбор таблиц
    Выбор узла и подключение к ORACLE
    Выгрузка и загрузка
                  
   E Д F
    Двухзадачные коммуникации
    Динамическая переадресация при подключении
    Дополнительные опции передачи
    Доступ к нескольким узлам
    Драйвер DECNet
    Драйвер TCP/IP
    Драйверы
      поддерживаемые
      по умолчанию
                  
   E З F
    Завершение пересылки
    Завершение пересылки в сеансе панели Link
    Завершение сеанса панели Link
    Загрузка данных в сеансе Link
    Запрос на соединение
      изменение
      с учетным именем,отличным от DECNet
                  
   E И F
    Идентификация БД
    Имя-базы-ORACLE
      DFLT (по умолчанию)
    Имя задачи
    Имя пользователя
      включение в запрос на соединение
    Имя пользователя/пароль
    Имя узла
    Использование опции LINK
    Использование панели Link
    Исходные и выходные таблицы
                  
   E К F
    Клиент
    Ключ диалога
    Колонки,выбор для пересылки
    Команда SET OBJECT (VMS)
    Коммуникации задача-задача
    Коммуникации процесс-процесс
    Коммуникации терминал-процесс
    Коммуникации RS232
    Коммуникации TTY
    Коммуникационные требования
    Коммутируемое соединение
                  
   E Л F
    Логическое имя для подключения
    Логическое имя узла
    Локальная сеть EtherNet
    Локальная система
                  
   E М F
    Межпроцессные коммуникации
    Модель клиент/сервер
                  
   E Н F
    Независимость от протокола
    Некоммутируемое соединение
    Неоднородные соединения
    Несколько одновременных подключений
                  
   E О F
    Ограничения SQL*Net
    Однозадачный драйвер
    Однородные соединения
    Определение диалога handshake
    Определение полномочий
    Определение программного продукта
    Отсоединение от удаленной системы
    Ошибки при пересылке в сеансе Link
                  
   E П F
    Панель Link
      выбор колонок для пересылки
      выбор строк для пересылки
      добавление данных в существующие таблицы
      завершение
      завершение пересылки
      загрузка данных
      использование представлений
      исходные и выходные таблицы
      ошибки при пересылке
      подключение к ORACLE
    Параметры autologon
    Пароль
    Пароль для SQL*Net
    Перенос программного обеспечения
    Пересылаемые таблицы,их использование
    Пересылка колонок в сеансе Link
    Пересылка строк в сеансе Link
    Поддерживаемое оборудование
    Подключение к удаленной системе
    Подключение к ORACLE в сеансе Link
    Подстановочные переменные
    Получение сообщения
    Посылка сообщения
    Представление для таблицы
    Префикс драйвера
    Прикладная программа
    Примеры спецификации БД
    Программа IOR
    Программная совместимость
    Программные интерфейсы ORACLE
    Протокол сетевого обслуживания DECNet
    Протокол DECNet
    Протокол TCP/IP
    Протокол 3270PC/Irma
    Процесс сервера
      завершение
                  
   E Р F
    Распределение данных между удаленными базами
    Распределенная БД
    Распределенная обработка
                  
   E С F
    Сброс во время сеанса Link
    Сервер
    Сервер SQL*Net
    Сетевая обработка
    Система клиента
      указание системы сервера
    Система сервера
      определение клиентом
    Создание файлов handshake
    Спецификация БД
      синтаксис
    Спецификация устройства
    Ссылки к документам
    Стратегия поддержки
    Строка подключения (асинхронная)
                  
   E Т F
    Таблицы
      добавление данных в сеансе Link
      используемые при пересылке
      исходные и выходные
    Телефонный номер
        "Тупой" терминал
                  
   E У F
    Увеличение вычислительной мощности
    Удаленная система
    Удаленный узел
      oraclehost
      SQL$NET
    Условия для выбора строк в сеансе Link
    Утилита AIJ
    Утилита ODS

   E Ф F
    Файлы handshake
    Флаг отключения по телефонному каналу
                  
   E Х F
    Хост-имя
    Хост-машина
                  
   E Я F
    Ядро ORACLE
       
   E А F
    ACCOUNT (параметр SET OBJECT)
    ASYNCDFLT
    autologon
                  
   E C F
    CLI
                  
   E D F
    DECNet
    DECNet,учетное имя
    DIAL
                  
   E E F
    Easy*SQL
                  
   E F F
    FILE (параметр SET OBJECT)
                  
   E I F
    IBM/MVS/SP
    IBM/VM/CMS
                  
   E L F
    LOGF
    LOGO
                  
   E N F
    NETSERVER.LOG,файл
    NETSERVER$TIMEOUT
                  
   E O F
    ORACLE,версия 5.0
                  
   E P F
    PASSWORD (параметр SET OBJECT)
    PC/MSDOS
    PROXY (параметр SET OBJECT)
                  
   E S F
    SQL*Calc
    SQL*Plus
                  
   E T F
    TCP/IP
                  
   E U F
    UNIX
    USER (параметр SET OBJECT)
                  
   E V F
    VAX/UNIX
    VAX/VMS
                  
   E 3 F
    3270PC/Irma,коммуникационный протокол

KOAP Open Portal 2000