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




+              ГЛАВА 11.ВКЛЮЧЕНИЕ И ИСКЛЮЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ
   Эта глава описывает команды языка SQL,используемые для предоставления
привилегий пользователям и лишения их.Также обсуждаются опции,используемые
для входа в ORACLE.
   В этой главе обсуждается одна из основных обязанностей администратора БД:
включение и исключение пользователей СУРБД ORACLE.
   Каждый пользователь ORACLE должен иметь доступ (идентификатор и пароль) к
OC,однако и идентификатор пользователя OC и его пароль совершенно независимы
от ORACLE (и м.б. даже предоставлены пользователю после того,как ему будет
предоставлен доступ к ORACLE).
   Администратор БД ORACLE предоставляет пользователям доступ к ORACLE,уста-
навливая им имя и пароль так же,как это делается для OC.

                          Включение пользователей
 В соответствии с привилегиями,которые предоставляются пользователям ORACLE,
они делятся на 3 класса.В последовательности увеличения привилегий эти клас-
сы обозначаются:
   - CONNECT
   - RESOURCE
   - DBA
   Когда новый пользователь подключается к БД ORACLE,администратор БД предо-
ставляет ему одну или несколько привилегий,используя предложение GRANT языка
SQL:
     GRANT {CONNECT | RESOURCE | DBA} TO <имя_пользователя>
           [ IDENTIFIED BY <пароль> ];
Например:  GRANT CONNECT,RESOURCE TO FRIEDA IDENTIFIED BY SANTAFE;

   В этом примере имя и пароль,используемые для ORACLE (FRIEDA и SANTAFE со-
ответственно),не имеют никакого отношения к OC.Так,например,пользователь
FRIEDA в OC мог бы иметь имя FLAWRENCE и пароль COAL.Имеется одно исключе-
ние,описываемое в разделе "Автоматический вход в систему" ниже,когда админи-
стратор БД может использовать имя,под которым он входит в OC для того,чтобы
упростить вход в ORACLE.
   Предложение IDENTIFIED BY требуется в случае предоставления привилегии
CONNECT.Если пользователь уже подключен к системе,ему можно предоставить до-
полнительные привилегии,не используя предложение IDENTIFIED BY.
Например: GRANT DBA TO KNOWITALL;

при этом предполагается,что пользователь KNOWITALL уже был подключен к
ORACLE и при этом не имел привилегий DBA.

                  Пользователи с привилегией CONNECT
   Для того,чтобы иметь доступ к какой-либо утилите ORACLE или к БД,необхо-
димо иметь привилегию CONNECT.Любой пользователь с привилегией CONNECT иден-
тифицируется именем и паролем.И имя,и пароль хранятся в словаре данных.При
каждом входе пользователя в систему,его имя и пароль сверяются с хранящимися
в словаре.
   Возможно,что пользователь обладает единственной привилегией CONNECT.Такой
пользователь может:
 - иметь доступ к ORACLE;
 - просматривать данные других пользователей (выполнять команду SELECT),если
   они предоставили ему доступ SELECT к своим таблицам.
 - выполнять операции манипулирования данными (команды INSERT,UPDATE,DELETE)
   над таблицами других пользователей,если они предоставили соответствующий
   доступ к этим таблицам;
 - создавать виртуальные таблицы и синонимы.

   Однако,такой пользователь не может создавать никаких таблиц,кластеров и
индексов.

                  Пользователи с привилегией RESOURCE
 Пользователь,обладающий как привилегией CONNECT,так и привилегией RESOURCE,
может использовать все возможности,предоставляемые привилегией CONNECT.Кроме
того он может:
 - создавать таблицы БД,индексы и кластеры командой CREATE;
 - предоставлять привилегии другим пользователям в отношении созданных им
   объектов командой GRANT,и лишать их привилегий командой REVOKE.
 - использовать команду AUDIT,для того,чтобы контролировать доступ к объек-
   там,владельцем которых он является.

                     Пользователи с привилегией DBA
   Пользователь,обладающий привилегиями DBA,обладает всеми возможностями,
предоставляемыми привилегиями CONNECT и RESOURCE.Кроме того он может:
 - производить доступ к данным любых пользователей и выполнять любые опера-
   ции над ними;
 - включать и исключать пользователей ORACLE командами GRANT и REVOKE;
 - создавать общие для всех пользователей ORACLE синонимы с помощью опции
   PUBLIC;
 - создавать и изменять разделы;
 - осуществлять общесистемный регистрационный контроль и устанавливать пара-
   метры регистрационного контроля по умолчанию на уровне таблиц;
 - производить выгрузку (экспорт) всей БД.
   Несмотря на то,что в этом руководстве чаще всего упоминается выражение
"администратор БД",в действительности в ORACLE может работать несколько ад-
министраторов,т.к. администратором БД является любой пользователь с привиле-
гиями DBA.Однако,поскольку администратор БД имеет такую неограниченную сво-
боду действий по отношению к данным,желательно ограничить количество пользо-
вателей,обладающих такими привилегиями.Каждую ORACLE устанавливают 2 пользо-
вателя с привилегиями DBA и именами SYS и SYSTEM.Так как эти 2 пользователя
существенны для выполнения операций системы,их доступ к системе не м.б. из-
менен иначе,чем изменением пароля.Обязанности администратора БД выполняются
пользователем,вошедшим в систему под именем SYSTEM,или под специально соз-
данным третьим именем с привилегиями DBA.Более подробно о пользователях SYS
и SYSTEM смотри в разделе "Пользователи ORACLE с привилегиями DBA" главы 1.

                    Автоматический вход в СУРБД ORACLE
   При вводе пользователей администратор БД может при необходимости связать
идентификатор пользователя в ORACLE с идентификатором пользователя в OC.Та-
кое подключение пользователя приводит к тому,что ему не надо указывать свои
имя и пароль при входе в ORACLE.
   Синтаксис команды,предоставляющей пользователю автоматический вход в сис-
тему,приведен на рисунке 37.
-------------------------------------------------------------+
| GRANT CONNECT TO OPS$ <идентификатор_в_ОС> IDENTIFIED BY   |
|                           пароль                           |
-------------------------------------------------------------+
  Рис.37.Предоставление пользователю автоматического входа в ORACLE

   Например,для того,чтобы ввести пользователя,чей идентификатор в OC OPUS,
администратор БД может ввести:
SQL> GRANT CONNECT,RESOURCE TO OPS$OPUS IDENTIFIED BY PENGUINS;
   Проедложение GRANT имеет тот же самый синтаксис,что и при обычном вводе
пользователя,за исключением префикса OPS$ перед именем пользователя.Пароль
(в данном случае PENGUINS) м.б. произвольной строкой и,как и для любых дру-
гих пользователей,м.б. впоследствии изменен.Для автоматического входа в си-
стему рекомендуется использовать уникальные пароли.
   Впоследствии,пользователь подключенный к системе таким образом,при входе
в OC под именем OPUS рассматривается ORACLE,как пользователь с таким же име-
нем.Например,после ввода команды SQLPLUS и нажатия клавиши ввода,ORACLE про-
изведет поиск в таблицах словаря данных для автоматического входа в систему
имени OPUS и,если оно будет найдено,допустит пользователя к ORACLE под име-
нем OPS$OPUS.
   При желании пользователи могут войти в ORACLE,используя полностью имя и
пароль.Например,пользователь,вошедший в OC как BILL,может выдать следующую
команду:
SQL> CONNECT OPS$OPUS/PENGUINS
   Поэтому,несмотря на то,что действительное системное имя пользователя
BILL,ORACLE допускает пользователя OPS$OPUS к работе,если он указывает со-
ответствующий пароль.Следовательно,для обеспечения безопасности важно,чтобы
для каждого имени пользователя,начинающегося с OPS$ имелся надежный пароль.
   Так как полное имя пользователя в ORACLE для данного примера OPS$OPUS,
имена всех объектов созданных пользователем (таблицы,виртуальные таблицы,ин-
дексы и т.д.),начинаются с этого имени.Например,если другой пользователь
ссылается на таблицу FISH,создателем которой является OPS$OPUS,ему необходи-
мо ввести:
                SELECT * FROM OPS$OPUS.FISH;

+                           ИЗМЕНЕНИЕ ПАРОЛЕЙ
   Пароль для любого подключенного к ORACLE пользователя м.б. изменен либо
самим пользователем,либо администратором БД.Для этого просто используется
предложение
              GRANT CONNECT с новым паролем.Например:

   SQL> GRANT CONNECT TO пользователь IDENTIFIED BY новый_пароль;

                        ИСКЛЮЧЕНИЕ ПОЛЬЗОВАТЕЛЕЙ
   Для лишения пользователей их привилегий используется предложение REVOKE:
REVOKE { CONNECT | RESOURCE | DBA } FROM имя_пользователя;

Например: REVOKE CONNECT FROM EDISON;

   Привилегии пользователя может изменять только администратор БД,и это он
может делать в любое время,используя предложения GRANT и REVOKE.Привилегии
м.б. увеличены или уменьшены путем предоставления или лишения привилегий с
помощью этих предложений.
   Если пользователь лишается привилегии CONNECT,то он не может больше свя-
зываться с ORACLE до тех пор,пока привилегия CONNECT не будет предоставлена
ему снова.
   Таблицы,принадлежащие пользователю,исключенному из системы,продолжают су-
ществовать несмотря на то,что сам пользователь вычеркнут из словаря данных.
Администратор БД может производить к ним доступ,также как и любой другой по-
льзователь,допущенный к ним.Если пользователь вновь вводится в систему,он
снова становится владельцем этих таблиц.

                     ОСОБЫЙ "ПОЛЬЗОВАТЕЛЬ" - PUBLIC
   В каждую ORACLE автоматически вводится пользователь с именем PUBLIC.На
самом деле этот пользователь является группой,к которой принадлежат все по-
льзователи с  привилегией CONNECT.
   Как члены группы PUBLIC-пользователи ORACLE могут просматривать (исполь-
зуя предложение SELECT ...FROM) все таблицы словаря данных и все таблицы для
которых владелец таблицы выполнил следующую команду языка SQL:
            GRANT SELECT ON имя_таблицы TO PUBLIC;

  Если пользователь создает таблицы (или виртуальные таблицы),представляющие
интерес для нескольких пользователей,он также может выполнить эту команду.

                              ОБЩИЕ СИНОНИМЫ
   Общие синонимы - это синонимы,которые создает администратор БД и,поэтому,
доступные всем пользователям ORACLE.Например,введя команду
           CREATE PUBLIC SYNONYM имя_синонима ON
                                { таблица | вирт_табл | синоним };

администратор БД может создать синоним для таблицы,виртуальной таблицы или
другого синонима,который смогут использовать другие пользователи.Общие сино-
нимы автоматически создаются для виртуальных таблиц словаря данных.
Например: CREATE PUBLIC SYNONYM SYSTABAUTH FOR SYSTEM.SYSTABAUTH;

   В этом случае пользователи могут использовать сравнительно простое имя
SYSTABAUTH вместо того,чтобы держать в памяти полное имя SYSTEM.SYSTABAUTH.
   Для того,чтобы увидеть,какие общие синонимы существуют,необходимо ввести
запрос:
         SELECT * FROM PUBLICSYN;

   Создавать общие синонимы могут только пользователи с привилегией DBA.По-
льзователь ORACLE может создать объкт,имя которого совпадает с именем общего
синонима.Однако,при последующих ссылках на это имя,пользователь всегда уви-
дит только свой объект,а не тот,который назван общим синонимом.Для того,что-
бы сослаться на этот объект,он должен использовать его полное имя.Например,
если пользователь с именем SCOTT создал таблицу с именем TAB,то запрос
    SELECT * FROM TAB;

выберет содержимое из таблицы,созданной пользователем с именем SCOTT,а не
список объектов,принадлежащих этому пользователю.

+                             ФАЙЛЫ LOGIN.SQL
   Каждый раз,когда пользователь ORACLE вызывает SQL*Plus,SQL*Plus ищет файл
с именем LOGIN.SQL и выполняет его,если находит (необходимо уточнить в руко-
водстве по установке системы и руководстве пользователя конкретной OC место-
расположение общесистемных и индивидуальных файлов LOGIN.SQL).В этом файле
содержатся предложения языка SQL или команды SQL*Plus,которые д.б. выполнены
в начале сессии.Этот файл м.б. использован для установления значений по умо-
лчанию параметров сессии с SQL*Plus вместо имеющихся.
   Файл LOGIN.SQL может содержать любую правильную команду SQL*Plus.На
рис.37 приведен образец файла LOGIN.SQL.
--------------------------------------------------------------+
|   set echo off                                              |
|   set feedback 10                                           |
|   set pause on                                              |
|   set pause "Enter return to continue"                      |
|   set message on                                            |
|   set linesize 100                                          |
|   select * from myreminder;                                 |
--------------------------------------------------------------+
        Рис.38.Образец файла LOGIN.SQL

         ГЛАВА 12.ИСПОЛЬЗОВАНИЕ СИСТЕМЫ РЕГИСТРАЦИОННОГО КОНТРОЛЯ
   В этой главе описываются методы,с помощью которых администратор БД может
улучшить контроль за безопасностью БД.Предметом обсуждения является органи-
зация регистрационного контроля.

                        РЕГИСТРАЦИОННЫЙ КОНТРОЛЬ
  Регистрационный контроль в том виде,в котором он описывается в следующих
разделах,является новым для ORACLE начиная с версии 5.Регистрационный конт-
роль предназначается прежде всего для обеспечения безопасности.При осуществ-
лении контроля не записываются значения занесенных,обновленных или удаленных
из БД колонок,а регистрируется деятельность пользователей ORACLE.По умолча-
нию регистрационный контроль не ведется.При его подключении пользователям,
которые являются владельцами таблиц БД или виртуальных таблиц,предоставляют-
ся следующие возможности:
 - использовать предложения языка SQL для того,чтобы выбирать опции регист-
   рационного контроля;
 - регистрировать успешные и безуспешные попытки доступа к таблицам и вирту-
   альным таблицам;
 - избирательно контролировать различные типы операций (такие как только
   UPDATE - INSERT,UPDATE,DELETE или также SELECT);
 - управлять уровнем записи в регистрационный журнал.
   Например,с помощью следующего предложения устанавливается регистрация ус-
пешных изменений в таблице EMP (таких,как добавление новой колонки).

AUDIT ALTER ON EMP BY ACCESS WHENEVER SUCCESSFUL

   Регистрационный контроль позволяет администратору БД также:
 - регистрировать успешные и безуспешные попытки входа и выхода из ORACLE и
   изменения привилегий командами GRANT и REVOKE;
 - включать и выключать запись в регистрационную таблицу SYS.AUDIT_TRAIL;
 - устанавливать значения по умолчанию опций для таблиц БД.
   Предложение AUDIT похоже на предложения GRANT и REVOKE языка SQL.Описания
операций регистрационного контроля записаны в таблицу словаря данных
SYS.AUDIT_TRAIL.Эта таблица может запрашиваться также,как и другие таблицы
БД для получения информации о работе с базой.

                        Подключение системы контроля
   По умолчанию контроль отключен.Он легко м.б. подключен при любом старте
системы (командами IOR INIT или IOR WARM).Для того,чтобы подключить регист-
рационный контроль,необходимо присвоить ненулевое целое значение параметру
AUDIT_TRAIL в файле INIT.ORA (нулевое значение отключает контроль).После
этого нужно выполнить "теплый" старт ORACLE с отредактированным файлом
INIT.ORA.
  После старта системы регистрационный контроль становится возможным.Так как
по умолчанию не устанавливается никакого контроля,пользователи и администра-
тор БД должны указать с помощью предложения AUDIT,какие действия должны кон-
тролироваться.
   Администратор БД может:
 - установить некоторые системные умолчания (такие,как регистрация всех ус-
   пешных попыток модифицировать описания таблиц);
 - установить доступные только администратору БД опции (такие,как регистра-
   ция всех безуспешных попыток входа в систему).
   Пользователи,владеющие таблицами,виртуальными таблицами или синонимами
могут указать,какие действия над этими объектами должны контролироваться.

                 Таблицы системы регистрационного контроля
   Для каждой таблицы БД м.б. установлены различные уровни контроля.Предло-
жение AUDIT указывает какие операции с заданной таблицей подлежат регистра-
ции.Единственным пользователем,который может выполнить команду AUDIT для ка-
кой-либо таблицы,является ее владелец или администратор БД.

AUDIT { [,]...|ALL}
ON { | DEFAULT }
[ BY { ACCESS|SESSION } ]
[ WHENEVER [ NOT ] SUCCESSFUL ]
                                      где :

 ALTER | AUDIT | COMMENT | DELETE | GRANT | INDEX
INSERT | LOCK | RENAME | SELECT | UPDATE

   Например: AUDIT ALTER,SELECT,UPDATE ON SCOTT>EMP
             WHENEVER SUCCESSFUL

   t_имя д.б. именем таблицы,виртуальной таблицы или их синонимом.Список оп-
ций задает одно или несколько предложений языка SQL,которые должны подверга-
ться регистрационному контролю при ссылке на t_имя.Опция GRANT означает,что
регистрироваться должны как предложения GRANT,так и REVOKE при ссылке на
t_имя.
   Для базовых таблиц применимы все опции.Для виртуальных таблиц применяются
опции AUDIT,COMMENT,INSERT,DELETE,GRANT,LOCK,RENAME,SELECT и UPDATE.Опция
ALL эквивалентна списку всех опций,применимых к t_имени.
   Предложение BY определяет ситуации,в которых в регистрационный журнал до-
лжны производиться записи.Так как некоторые события происходят чаще других
(соманды DML выполняются обычно чаще,чем команда GRANT),предложение GRANT
также определяет как часто и сколько записей должно заноситься в регистраци-
онный журнал.Возможно 2 значения:
 BY SESSION - указанные операции регистрируются путем обновления информации
              в записи сессии.В регистрационном журнале содержитя по крайней
              мере одна запись сессии на каждую сессию пользователя с ORACLE.
              Отсутствие предложения BY эквивалентно предложению BY SESSION.
 BY ACCESS -  указанные операции регистрируются путем занесения записей в
              регистрационный журнал.При выполнении операций DML все записи
              в регистрационный журнал заносятся по выполнении синтаксичес-
              кого разбора предложений.

   Предложение WHENEVER определяет,при каких условиях контролируемые опера-
ции записываются в регистрационный журнал.
 WHENEVER SUCCESSFUL.    Каждая указанная операция должна регистрироваться
                         только в том случае,если она успешно завершилась.
 WHENEVER NOT SUCCESSFUL.Каждая указанная операция должна регистрироваться
                         только в том случае,если она завершилась безуспешно.
   Отсутствие предложения WHENEVER интерпретируется так,что регистрация про-
изводится независимо от того,как завершилась указанная операция.Необходимо
отметить,что для операций DML понятие "завершилась" означает завершение фазы
разбора предложения (т.е.синтаксического разбора,просмотра словаря,проверки
доступа или обращение к процедуре OSQL3),что не совсем то же самое,что заве-
ршение выполнения операции.
   Когда создается таблица,то ее контрольные опции равны опциям,задавемым по
умолчанию в таблице DEFAULT.Изменить опции в этой таблице может только адми-
нистратор БД используя ключевое слово DEFAULT,а не имя таблицы в предложении
AUDIT.Перед самым первым использованием предложения AUDIT ...ON DEFAULT в
таблице со значениями по умолчанию содержатся опции указывающие,что не веде-
тся никакого контроля.
   Когда создается виртуальная таблица,ее опции контроля устанавливаются ра-
вными объединению опций контроля из таблицы DEFAULT и опций контроля из всех
базовых таблиц,на которые ссылается эта виртуальная таблица.Результатом объ-
единения предложений BY SESSION и BY ACCESS является BY ACCESS.
   Предложение NOAUDIT указывает,какие операции на заданной таблице больше
не регистрируются.

NOAUDIT {  [,]...| ALL }
   ON {  | DEFAULT }
   [ WHENEVER [NOT] SUCCESSFUL ]

   Например: NOAUDIT ALL ON emp

   Синтаксис предложения NOAUDIT похож на синтаксис предложения AUDIT.Глав-
ное отличие состоит в отсутствии выражения BY.Указанные контрольные действия
прекращаются независимо от того,какая опция была установлена BY ACCESS или
BY SESSION.Не требуется,чтобы опции указанные в предложении NOAUDIT были ак-
тивны к моменту его выполнения.

              УСТАНОВКА ОПЦИЙ СИСТЕМЫ РЕГИСТРАЦИОННОГО КОНТРОЛЯ
   Для операций администратора БД и операций,которые не применяются к табли-
цам,м.б. установлено несколько уровней регистрационного контроля.Предложение
AUDIT используется также для указания следующих системных опций контроля:

AUDIT {  [,]...| ALL }
  [ WHENEVER [NOT] SUCCESSFUL ]
                                            где :

CONNECT | DBA | NOT EXIST | RESOURCE

   Например: AUDIT CONNECT,DBA WHENEVER SUCCESSFUL

   Синтаксис и семантика ситемного предложения AUDIT напоминают синтаксис и
семантику предложения AUDIT для таблиц.Основное отличие заключается в конт-
ролируемых операциях.В предложении используются следующие опции:
         CONNECT - вход и выход из ORACLE;
 DBA -       общесистемные предложения GRANT,REVOKE,AUDIT и NOAUDIT;
             CREATE/ALTER PARTITION; CREATE/DROP PUBLIC SYNONYM.
 NOT EXIST - все ссылки на объекты,результатом которых является ошибка "не
             существует".Сюда не входят ошибки,связанные с попытками несанк-
             ционированного доступа,хотя такие ошибки выдают пользователю
             сообщение 942 "table or view does not exist".
 RESOURCE -  предложения CREATE/DROP TABLE,VIEW,SPASE,SYNONYM; CREATE/ALTER/
             DROP CLUSTER.

   До использования системного предложения AUDIT никакие системные операции
не контролируются.
   Системное предложение NOAUDIT указывает,какие ситемные операции не должны
больше контролироваться.

NOAUDIT {  [,]...| ALL }
  [ WHENEVER [NOT] SUCCESSFUL ]

   Например:  NOAUDIT all WHENEVER NOT SUCCESSFUL
   Семантика предложения NOAUDIT аналогична семантике предыдущих предложений
AUDIT.

                   Регистрационный контроль и словарь данных
   Словарь данных содержит несколько таблиц,связанных с регистрационным кон-
тролем:
          SELECT * FROM DTAB WHERE TNAME LIKE '%AUDIT%';

TNAME                            REMARKS
-------------- -------------------------------------------------
AUDIT_ACCESS  Audit entries for accesses to user's tables/views
              (DBA sees all)
AUDIT_ACTIONS Maps auditing action numbers to action names
AUDIT_CONNECT Audit trail entries for user logon/logoff (DBA sees all users)
AUDIT_DBA     Audit trail entries for DBA activities -- for DBA use only
AUDIT_EXISTS  Audit trail entries for objects which
              do NOT EXIST -- DBA's only
AUDIT_TRAIL   Audit trail entries relevant to the user (DBA sees all)
DEFAULT_AUDIT Default table auditing options
SYSAUDIT_TRAIL Synonym for sys.audit_trail --- for DBA use only
SYSTEM_AUDIT  System auditing options -- for DBA use only
TABLE_AUDIT   Auditing options of user's tables and views (DBA sees all)

где
 AUDIT_ACCESS  Регистрационные записи для доступа к таблицам и виртуальным
               таблицам пользователя (администратор БД видит все записи).
 AUDIT_ACTIONS Отображает номера контролируемых действий в их имена.
 AUDIT_CONNECT Регистрационные записи о входе/выходе из системы (администра-
               тор БД видит всех пользователей)
 AUDIT_DBA     Регистрационные записи о деятельности администратора БД --
               доступна только ему.
 AUDIT_EXISTS  Регистрационные записи о несуществующих объектах -- доступна
               только администратору БД.
 AUDIT_TRAIL   Регистрационные записи относящиеся к пользователю (админист-
               ратор БД видит все).
 DEFAULT_AUDIT Опции контроля по умолчанию для таблиц
SYSAUDIT_TRAIL Синоним для sys.audit_trail --- только для использования ад-
               министратором БД.
 SYSTEM_AUDIT  Опции системного контроля -- только для использования админи-
               стратором БД.
 TABLE_AUDIT   Опции контроля за таблицами и виртуальными таблицами пользо-
               вателя (администратор БД видит все записи).

                   Какие действия подвергаются контролю?
   Таблица словаря данных AUDIT_ACTIONS содержит все возможные действия,ко-
торые могут контролироваться,вместе со своими кодами.В отличие от своих имен
коды действий используются в других таблицах,которые содержат регистрируемую
информацию.
   Ниже приводится фрагмент таблицы AUDIT_ACTIONS:
SQL> SELECT * FROM AUDIT_ACTIONS WHERE ROWNUM < 10;

ACTION         NAME
------ -------------------
   0        UNCNOWN
   1     CREATE TABLE
   2     INSERT
   3     SELECT
   4    CREATE CLUSTER
   5     ALTER CLUSTER
   6     UPDATE
   7     DELETE
   8     DROP CLUSTER

                          Таблица AUDIT_TRAIL
   Для того чтобы увидеть,какие записи были занесены в результате подключе-
ния регистрационного контроля,пользователь может произвести выборку из таб-
лицы AUDIT_TRAIL.Таблица имеет следующие колонки.
SQL> describe audit_trail

Name                Null?  Type
----------------------------------- -------- ----
USERID                    CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR(240)
TIMESTAMP        NOT NULL DATE
OBJ$CREATOR                 CHAR(30)
OBJ$NAME                   CHAR(30)
ACTION           NOT NULL NUMBER
ACNION_NAME      NOT NULL CHAR(27)
NEW$NAME                   CHAR(30)
AUTH$PRIVILEGES               CHAR(6)
AUTH$GRANTEE                 CHAR(30)
SES$ACTIONS                 CHAR(11)
LOGOFF$TIME                 DATE
LOGOFF$LREAD                 NUMBER
LOGOFF$PREAD                 NUMBER
LOGOFF$LWRITE                NUMBER
LOGOFF$DEAD                 NUMBER
COMMENT$TEXT                 CHAR(240)
SESSIONID        NOT NULL NUMBER
ENTRYID          NOT NULL NUMBER
STATEMENT        NOT NULL NUMBER
RETURNCODE       NOT NULL NUMBER

   Колонка SES$ACNIONS представляет собой массив символов обозначающих тип
действия.11 записей этого массива соответствуют регистрационным записям о
следующих действиях:
   - ALTER
   - AUDIT
   - COMMENT
   - DELETE
   - GRANT
   - INDEX
   - INSERT
   - LOCK
   - RENAME
   - SELECT
   - UPDATE

   Эти действия кодируются следующим образом:
   - - действие не контролируется;
   S - действие регистрируется при успешном выполнении;
   F - действие регистрируется,если оно не выполнилось;
   B - действие регистрируется независимо от того,выполнилось оно или не вы-
       полнилось.

   Опция [NO]AUDIT CONNECT изменяет эту информацию.

                  Список текущих опций системы контроля
   Для того чтобы увидеть,какие контрольные опции установлены для заданной
таблицы,необходимо сослаться на таблицу словаря данных TABLE_AUDIT.
TABLE_AUDIT имеет следующие колонки.

SQL> describe table_audit
Name                  Null?  Type
 ----------------------------------- -------- ----
CREATOR                       CHAR(30)
TNAME                NOT NULL CHAR(30)
TABLETYPE            NOT NULL CHAR(7)
ALT                           CHAR(3)
AUD                           CHAR(3)
DEL                           CHAR(3)
GRA                           CHAR(3)
IND                           CHAR(3)
INS                           CHAR(3)
LOC                           CHAR(3)
REN                           CHAR(3)
SEL                           CHAR(3)
UPD                           CHAR(3)

   Соответствеенно для того,чтобы просмотреть выбранные им опции контроля
для своей таблицы,пользователь c именем SCOTT может использовать следующий
запрос.
SQL> select *
  2 from table_audit
  3 where creator = 'SCOTT';

CREATOR  TNAME   TABLETY ALT AUD COM DEL GRA IND INS LOC REN SEL UPD
------- -------- ------- --- --- --- --- --- --- --- --- --- --- ---
SCOTT    DEPT     TABLE  -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/-
SCOTT    EMP      TABLE  -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/-
SCOTT   INITORA   TABLE  S/S -/- S/S S/S S/S -/- S/S A/- -/- S/S S/S
SCOTT   ORAFILES  TABLE  A/S -/- -/- -/S -/- -/- A/S A/- -/- A/S A/S

   Колонки справа соответствуют списку действий,которые могут контролирова-
ться.Каждая колонка содержит 2 символа на каждую опцию контроля.Первый сим-
вол описывает,что нужно делать,когда контролируемое действие завершается ус-
пешно,второй - что делать в противоположном случае.Символы могут иметь сле-
дующие значения.
 - - ничего не делать;
 A - делать регистрационную запись при каждом доступе;
 S - делать одну регистрационную запись на сессию.

                      Список опций системного контроля
   Администратор БД может посмотреть,какие системные опции контроля установ-
лены,используя виртуальную таблицу словаря данных SYSTEM_AUDIT,описываемую
ниже.
SQL> describe system_audit
Name                Null?  Type
----------------------------------- -------- ----
CONNECT$                    CHAR(3)
DBA$                        CHAR(3)
NOT_EXISTS$                 CHAR(3)
RESOURCE$                   CHAR(3)

   Типичный результат при этом запросе:
SQL> select * from system_audit;

CON DBA NOT RES
--- --- --- ---
S/S S/- S/S -/-

                            Функция USERENV
   Функция USERENV позволяет пользователю получить информацию о конкретной
сессии с ORACLE.Она используется для того,чтобы занести записи в регистраци-
онный журнал.Функция USERENV использует в качестве параметра символьную ст-
року и возвращает в качестве своего значения строку или число в зависимости
от значения параметра:
SELECT USERENV('TERMINAL'),USERENV('SESSIONID'),
USERENV('ENTRYID')
FROM DUMMY
WHERE ROWNUM < 2

USERE USERENV('SESSIONID') USERENV('ENTRYID')
----- -------------------- ------------------
RTA1:          14         2 (типично для VMS)
CONS          333         12 (типично для VM)

где
     TERMINAL - идентификатор терминала в данной OC.Передает значение неза-
                висимо от того,включен регистрационный контроль через файл
                INIT.ORA или нет.Действительная спецификация идентификатора
                терминала может варьироваться в зависимости от формата для
                конкретной OC.
    SESSIONID - идентификатор контролируемой сессии пользователя.Передает
                значение только в случае,если регистрационный контроль подк-
                лючен с помощью файла INIT.ORA.
      ENTRYID - N следующей записи в таблице регистрационного контроля для
                текущей сессии.Передает значение только в случае,если регис-
                трационный контроль подключен с помощью файла INIT.ORA.
   LANGUAGE -  Не проиллюстрированный в этом примере,параметр передает зна-
               чение установленное для параметра LANGUAGE в файле INIT.ORA.
               По умолчанию это значение равно NULL,но м.б. любой символьной
               строкой длиной до 15 символов.

   Функция USERENV м.б. использована для добавления записи с комментарием в
регистрационный журнал:

INSERT INTO SYS.AUDIT_TRAIL (SESSIONID,ENTRYID,STATEMENT,
              TIMESTAMP,USERID,TERMINAL,ACTION,
              RETURNCODE,COMMENT$TEXT )
     VALUES ( USERENV ( 'SESSIOID' ),USERENV ( 'ENTRYID' ),
         0,SYSDATE,USER,USERENV ( 'TERMINAL' ),0,0,
         ' Комментарий -- transaction 73 beginning ');

   Функция USERENV может также оказаться полезной для построения виртуальных
таблиц,которые ограничивают доступ пользователей при входе в систему с опре-
деленных физических терминалов.
Например: CREATE VIEW MYVIEW AS
          SELECT * FROM MYSALRY
          WHERE USERENV('TERMINAL') = 'RTA0';

   Действительная спецификация идентификатора терминала может варьироваться
в зависимости от формата для конкретной OC.Создав эту виртуальную таблицу,
необходимо также предоставить доступ к ней избранным пользователям:
            GRANT SELECT ON MYVIEW TO EVELYN;

   После выполнения обоих этих предложений пользователь EVELIN сможет прос-
матривать записи в MYVIEW только тогда,когда он войдет в систему с терминала
RTA0.Хотя он может получить доступ к виртуальной таблице MYVIEW с других те-
рминалов,он никогда не увидит в ней никаких записей.

+                   ПРИЛОЖЕНИЕ А.ЗАРЕЗЕРВИРОВАННЫЕ СЛОВА
   Зарезервированные слова  -  это ключевые слова,используемые ORACLE и ко-
торые пользователи не могут использовать для наименования объектов,таких,как
таблицы,колонки и виртуальные таблицы.
ACCESS      начиная с версии V5 СУРБД ORACLE
ADD
ALL
ALTER
AND
ANY
AS
ASC
ASSERT
ASSIGN
AT
AUDIT       начиная с версии V5 СУРБД ORACLE
BETWEEN
BY
CHAR
CLUSTER
COLUMN
COMMENT      начиная с версии V5 СУРБД ORACLE
COMPRESS
CONNECT
CONTAIN
CONTAINS
CREATE
CURRENT
DATABASE
DATAPAGES
DATE
DBA
DECIMAL
DEFAULT      начиная с версии V5 СУРБД ORACLE
DEFINITION
DELETE
DESC
DICTINCT
DOES
DROP
EACH
ELSE
ENDIF
EVALUATE
EXCLUSIVE
EXISTS      начиная с версии V5 СУРБД ORACLE
FILE
FLOAT
FOR
FROM
GRANT
GRAPHIC
GROUP
HAVING
IDENTIFIED
IF
IFDEF
IMAGE
IMMEDIATE
IN
INCREMENT
INDEX
INDEXED
INDEXPAGES
INITIAL
INSERT
INTEGER
INTERSECT
INTO
IS
LEVEL
LIKE
LIST
LOCK
LONG
MAXEXTENTS
MINUS
MODE
MODIFY
MOVE
NEW
NOAUDIT      начиная с версии V5 СУРБД ORACLE
NOCOMPRESS
NOSYSSORT
NOT
NOWAIT
NULL
NUMBER
OF
OFFLINE      начиная с версии V5 СУРБД ORACLE
OLD
ON
ONLINE      начиная с версии V5 СУРБД ORACLE
OPTIMIZE
OPTION
OR
ORACLE
ORDER
PARTITION
PCTFREE
PRIOR
PRIVILEGES
PUBLIC
RAW        начиная с версии V5 СУРБД ORACLE
RENAME      начиная с версии V5 СУРБД ORACLE
RESOURCE
REVJKE
ROW
ROWID
ROWNUM
ROWS
RUN
SELECT
SESSION      начиная с версии V5 СУРБД ORACLE
SET
SHARE
SIZE
SMALLINT
SPACE
START
STATEMENT
SUCCESSFUL    начиная с версии V5 СУРБД ORACLE
SYNONYM
SYSDATE
SYSSORT
TABLE
THEN
TO
TRIGGER
UID
UNION
UNIQUE
UPDATE
USER
USING
VALIDATE
VALUES
VARCHAR
VARGRAPHIC
VIEW
WHENEVER     начиная с версии V5 СУРБД ORACLE
WHERE
WITH

+              ПРИЛОЖЕНИЕ В.ОПИСАНИЕ ТАБЛИЦ СЛОВАРЯ ДАННЫХ
   Описание таблиц словаря данных приводится ниже.Таблицы,однако,могут меня-
ться в различных ORACLE,поэтому для определения,в какой реализации ORACLE
находится пользователь,необходимо обратиться к словарю реальных данных.
SQL> describe audit_access
Name                Null?  Type
---------------------------------- -------- ----
USERID                      CHAR(30)
USERHOST                    CHAR(240)
TERMINAL                    CHAR(240)
TIMESTAMP          NOT NULL DATE
OBJ$CREATOR                 CHAR(30)
OBJ$NAME                    CHAR(30)
ACTION             NOT NULL NUMBER
ACTION_NAME        NOT NULL CHAR(27)
NEW$NAME                    CHAR(30)
AUTH$PRIVILEGES             CHAR(6)
AUTH$GRANTEE                CHAR(30)
ALT                         CHAR(1)
AUD                         CHAR(1)
COM                         CHAR(1)
DEL                         CHAR(1)
GRA                         CHAR(1)
IND                         CHAR(1)
INS                         CHAR(1)
LOC                         CHAR(1)
REN                         CHAR(1)
SEL                         CHAR(1)
UPD                         CHAR(1)
SESSIONID          NOT NULL NUMBER
ENTRYID            NOT NULL NUMBER
STATEMENT          NOT NULL NUMBER
RETURNCODE         NOT NULL NUMBER

SQL> describe audit_actions
Name                Null?  Type
---------------------------------- -------- ----
ACTION             NOT NULL  NUMBER
AME                NOT NULL  CHAR(27)

SQL> describe audit_connect
Name                Null?  Type
---------------------------------- -------- ----
USERID                     CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR(240)
ACTION_NAME                CHAR(7)
TIMESTAMP         NOT NULL DATE
LOGOFF$TIME                DATE
LOGOFF$LREAD               NUMBER
LOGOPFF$PREAD              NUMBER
LOGOFF$LWRITE              NUMBER
LOGOFF$DEAD                NUMBER
SESSIONID         NOT NULL NUMBER
RETURNCODE        NOT NULL NUMBER

SQL> describe audit_dba
Name                Null?  Type
---------------------------------- ------- ----
USERID                     CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR (240)
TIMESTAMP         NOT NULL DATE
OBJ$CREATOR                CHAR(30)
OBJ$NAME                   CHAR(30)
ACTION            NOT NULL NUMBER
ACTION_NAME       NOT NULL CHAR(27)
CONNECT$                   CHAR(1)
DBA$                       CHAR(1)
RESOURCE$                  CHAR(1)
AUTH$GRANTEE               CHAR(30)
NEW$NAME                   CHAR(30)
SESSIONID         NOT NULL NUMBER
ENTRYID           NOT NULL NUMBER
STATEMENT         NOT NULL NUMBER
RETURNCODE        NOT NULL NUMBER

SQL> describe audit_exists
Name                Null?  Type
---------------------------------- ------- ----
USERID                    CHAR(30)
USERHOST                  CHAR(240)
TERMINAL                  CHAR(240)
TIMESTAMP        NOT NULL DATE
OBJ$CREATOR               CHAR(30)
OBJ$NAME                  CHAR(30)
ACTION           NOT NULL NUMBER
ACTION_NAME      NOT NULL CHAR(27)
AUTH$PRIVILEGES           CHAR(6)
AUTH$GRANTEE              CHAR(30)
NEW$NAME                  CHAR(30)
SESSIONID        NOT NULL NUMBER
ENTRYID          NOT NULL NUMBER
STATEMENT        NOT NULL NUMBER
RETURNCODE       NOT NULL NUMBER

SQL>describe audit_trail
Name                Null?  Type
---------------------------------- ------- ----
USERID                     CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR(240)
TIMESTAMP         NOT NULL DATE
OBJ$CREATOR                CHAR(30)
OBJ$NAME                   CHAR(30)
ACTION            NOT NULL NUMBER
ACTION_NAME       NOT NULL CHAR(27)
NEW$NAME                   CHAR(30)
AUTH$PRIVILEGES            CHAR(6)
AUTH$GRANTEE               CHAR(30)
SES$ACTIONS                CHAR(11)
LOGOFF$TIME                DATE
LOGOFF$LREAD               NUMBER
LOGOFF$PREAD               NUMBER
LOGOFF$LWRITE              NUMBER
LOGOFF$DEAD                NUMBER
COMMENT$TEXT               CHAR(240)
SESSIONID         NOT NULL NUMBER
ENTRYID           NOT NULL NUMBER
STATEMENT         NOT NULL NUMBER
RETURNCODE

SQL> describe catalog
Name                Null?  Type
---------------------------------- ------- ----
TNAME            NOT NULL CHAR(30)
CREATOR                   CHAR(30)
TABLETYPE        NOT NULL CHAR(7)
CLUSTERID                 NUMBER
LOGBLK                    NUMBER
REQBLK                    NUMBER
IXCOMP                    CHAR(10)
REMARKS                   CHAR(240)

SQL> describe clusters
Name                Null?  Type
---------------------------------- ------- ----
CLCREATOR                  CHAR(30)
CLNAME            NOT NULL CHAR(30)
LOGBLK                     NUMBER
TCREATOR                   CHAR(30)
TNAME             NOT NULL CHAR(30)
TCLUSTERID                 NUMBER

SQL> describe clustercolumns
Name                Null?  Type
---------------------------------- ------- ----
CLCREATOR                   CHAR(30)
CLNAME             NOT NULL CHAR(30)
CLCOL              NOT NULL CHAR(30)
TCREATOR                    CHAR(30)
TNAME              NOT NULL CHAR(30)
TCOL               NOT NULL CHAR(30)

SQL> describe col
Name                Null?  Type
---------------------------------- ------- ----
TNAME              NOT NULL CHAR(30)
COLNO              NOT NULL NUMBER
CNAME              NOT NULL CHAR(30)
COLTYPE            NOT NULL CHAR(6)
WIDTH              NOT NULL NUMBER
SCALE                       NUMBER
NULLS              NOT NULL CHAR(8)
REMARKS                     CHAR(240)
DEFAULTVAL                  CHAR(240)

SQL> describe columns
Name                Null?  Type
---------------------------------- ------- ----
CNAME             NOT NULL CHAR(30)
TNAME             NOT NULL CHAR(30)
CREATOR                    CHAR(30)
COLNO             NOT NULL NUMBER
COLTYPE           NOT NULL CHAR(6)
WIDTH             NOT NULL NUMBER
SCALE                      NUMBER
NULLS             NOT NULL CHAR(8)
REMARKS                    CHAR(240)
DEFAULTVAL                 CHAR(240)

SQL> describe default_audit
Name                Null?  Type
---------------------------------- ------- ----
ALT                     CHAR(3)
AUD                     CHAR(3)
COM                     CHAR(3)
DEL                     CHAR(3)
GRA                     CHAR(3)
IND                     CHAR(3)
INS                     CHAR(3)
LOC                     CHAR(3)
REN                     CHAR(3)
SEL                     CHAR(3)
UPD                     CHAR(3)

SQL> describe dtab
Name                Null?  Type
---------------------------------- ------- ----
TNAME                     CHAR(14)
REMARKS                   CHAR(64)

SQL> describe extents
Name                Null?  Type
---------------------------------- ------- ----
NAME              NOT NULL CHAR(30)
TYPE              NOT NULL CHAR(7)
WHICH             NOT NULL CHAR(5)
STORAGE                    NUMBER
STARTING          NOT NULL NUMBER
ENDING            NOT NULL NUMBER

SQL> describe indexes
Name                Null?  Type
---------------------------------- ------- ----
INAME             NOT NULL CHAR(30)
ICREATOR                   CHAR(30)
INAME             NOT NULL CHAR(30)
CREATOR                    CHAR(30)
COLNAMES          NOT NULL CHAR(30)
INDEXTYPE         NOT NULL CHAR(10)
IORDER            NOT NULL CHAR(4)
COMPRESSION       NOT NULL CHAR(10)
SEQ               NOT NULL NUMBER
CONCATID                   NUMBER

SQL> describe partitions
Name                Null?  Type
---------------------------------- ------- ----
PNAME             NOT NULL CHAR(30)
FNAME             NOT NULL CHAR(239)
ORABLOCKS         NOT NULL NUMBER

SQL> describe privatesyn
Name                Null?  Type
---------------------------------- ------- ----
SNAME             NOT NULL CHAR(30)
CREATOR                    CHAR(30)
TNAME             NOT NULL CHAR(30)
TABTYPE           NOT NULL CHAR(7)

SQL> describe publicsyn
Name                Null?  Type
---------------------------------- ------- ----
SNAME            NOT NULL CHAR(30)
CREATOR                   CHAR(30)
TNAME            NOT NULL CHAR(30)
TABTYPE          NOT NULL CHAR(7)

SQL> describe sessions
Name                Null?  Type
---------------------------------- ------- ----
USERID                     CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR(240)
STATUS                     CHAR(7)
LOGON             NOT NULL DATE
LOGOFF                     DATE
LOGREAD                    NUMBER
LOGWRITE                   NUMBER
PHYSREAD                   NUMBER
LOGWRITE                   NUMBER
DEADLOCKS                  NUMBER
SESSIONID         NOT NULL NUMBER
CLEANUP_ERROR     NOT NULL NUMBER

SQL> describe spaces
Name                Null?  Type
---------------------------------- ------- ----
SNAME             NOT NULL CHAR(30)
DATA1             NOT NULL NUMBER
DATA2             NOT NULL NUMBER
EXT_MAX           NOT NULL NUMBER
INDEX1            NOT NULL NUMBER
INDEX2            NOT NULL NUMBER
MAX_EXT           NOT NULL NUMBER
PCT               NOT NULL NUMBER
PNAME             NOT NULL CHAR(30)

SQL> describe storage
Name                Null?  Type
---------------------------------- ------- ----
NAME                      CHAR(30)
TYPE                      CHAR(7)
WHICH                     CHAR(5)
STORAGE                   NUMBER
EXTENTS                   NUMBER

SQL> describe synonyms
Name                Null?  Type
---------------------------------- ------- ----
SNAME            NOT NULL CHAR(30)
SYNTYPE                   CHAR(7)
CREATOR                   CHAR(30)
TNAME            NOT NULL CHAR(30)
TABTYP           NOT NULL CHAR(7)

SQL> describe sysaudit_trail
Name                Null?  Type
---------------------------------- ------- ----
SESSIONID         NOT NULL NUMBER
ENTRYID           NOT NULL NUMBER
STATEMENT         NOT NULL NUMBER
TIMESTAMP         NOT NULL DATE
USERID                     CHAR(30)
USERHOST                   CHAR(240)
TERMINAL                   CHAR(240)
ACTION            NOT NULL NUMBER
RETURNCODE        NOT NULL NUMBER
OBJ$СREATO                 CHAR(30)
OBJ$NAME                   СHAR(30)
AUTH$PRIVILEGES            CHAR(6)
AUTH$GRANTEE               CHAR(30)
NEW$NAME                   CHAR(30)
SES$ACTIONS                CHAR(11)
SES$TID                    binary
LOGOFF$LREAD               NUMBER
LOGOFF$PREAD               NUMBER
LOGOFF$LWRITE              NUMBER
LOGOFF$DEAD                NUMBER
LOGOFF$TIME                DATE
COMMENT$TEXT               CHAR(240)

SQL> describe syscatalog
Name                Null?  Type
---------------------------------- ------- ----
TNAME            NOT NULL CHAR(30)
CREATOR                   CHAR(30)
TABLETYPE        NOT NULL CHAR(7)
CLUSTERID                 NUMBER
LOGBLK                    NUMBER
REQBLK                    NUMBER
IXCOMP                    CHAR(10)
REMARKS                   CHAR(240)

SQL> describe syscolauth
Name                Null?  Type
---------------------------------- ------- ----
GRANTOR           NOT NULL CHAR(30)
GRANTEE           NOT NULL CHAR(30)
CREATOR           NOT NULL CHAR(30)
TNAME             NOT NULL CHAR(30)
TIMESTA           NOT NULL DATE
COLNAME           NOT NULL CHAR(30)
UPD               NOT NULL CHAR(1)

SQL> describe syscolumns
Name                Null?  Type
---------------------------------- ------- ----
CNAME             NOT NULL CHAR(30)
TNAME             NOT NULL CHAR(30)
CREATOR                    CHAR(30)
COLNO             NOT NULL NUMBER
COLTYPE           NOT NULL CHAR(6)
WIDTH             NOT NULL NUMBER
SCALE                      NUMBER
NULLS             NOT NULL CHAR(8)
REMARKS                    CHAR(240)
DEFAULTVAL                 CHAR(240)

SQL> describe sysextents
Name                Null?  Type
---------------------------------- ------- ----
CREATOR                   CHAR(30)
NAME             NOT NULL CHAR(30)
TYPE             NOT NULL CHAR(7)
WHICH            NOT NULL CHAR(5)
STORAGE                   NUMBER
STARTING         NOT NULL NUMBER
ENDING           NOT NULL NUMBER

SQL> describe sysindexes
Name                Null?  Type
---------------------------------- ------- ----
INAME             NOT NULL CHAR(30)
ICREATOR                   CHAR(30)
TNAME             NOT NULL CHAR(30)
CREATOR                    CHAR(30)
COLNAMES          NOT NULL CHAR(30)
INDEXTYPE         NOT NULL CHAR(10)
IORDER            NOT NULL CHAR(4)
COMPRESSION       NOT NULL CHAR(10)
SEQ               NOT NULL NUMBER
CONCATID                   NUMBER

SQL> describe sysprogs
Name                Null?  Type
---------------------------------- ------- ----
PROGRAM           NOT NULL CHAR(30)
AM_ID             NOT NULL NUMBER
REVISION                   NUMBER
STMNTS            NOT NULL NUMBER
CDATE                      DATE
RDATE                      DATE
LANGUAGE          NOT NULL CHAR(30)
SQL> describe sysstorage
Name                Null?  Type
---------------------------------- ------- ----
CREATOR                   CHAR(30)
NAME                      CHAR(30)
TYPE                      CHAR(7)
STORAGE                   NUMBER
EXTENTS                   NUMBER

SQL> describe systaballoc
Name                Null?  Type
---------------------------------- ------- ----
CREATOR                   CHAR(30)
TNAME                     CHAR(30)
D_BLKS                    NUMBER
D_EXTS                    NUMBER
I_BLKS                    NUMBER
I_EXTS                    NUMBER

SQL> describe systabauth
Name                Null?  Type
---------------------------------- ------- ----
GRANTOR           NOT NULL CHAR(30)
GRANTEE           NOT NULL CHAR(30)
CREATOR           NOT NULL CHAR(30)
TNAME             NOT NULL CHAR(30)
TIMESTA           NOT NULL DATE
ALT               NOT NULL CHAR(1)
DEL               NOT NULL CHAR(1)
NDX               NOT NULL CHAR(1)
INS               NOT NULL CHAR(1)
SEL               NOT NULL CHAR(1)
UPD               NOT NULL CHAR(1)

SQL> describe system_audit
Name                Null?  Type
 --------------------------------- ------- ----
CONNECT$                   CHAR(3)
DBA$                       CHAR(3)
NOT_EXISTS$                CHAR(3)
RESOURCE$                  CHAR(3)

SQL> describe sysuserauth
Name                Null?  Type
---------------------------------- ------- ----
USERID            NOT NULL NUMBER
USERNAME                   CHAR(30)
PASSWORD                   CHAR(30)
TIMESTAMP         NOT NULL DATE
CONNECTAUTH                CHAR(1)
DBAAUTH                    CHAR(1)
RESOURCEAUTH               CHAR(1)

SQL> describe sysuserlist
Name                Null?  Type
---------------------------------- ------- ----
USERID            NOT NULL NUMBER
USERNAME                   CHAR(30)
TIMESTAMP         NOT NULL DATE
CONNECTAUTH                CHAR(1)
DBAAUTH                    CHAR(1)
RESOURCEAUTH               CHAR(1)

SQL> describe sysviews
Name                Null?  Type
---------------------------------- ------- ----
VIEWNAME          NOT NULL CHAR(30)
VCREATOR                   CHAR(30)

SQL> describe tab
Name                Null?  Type
---------------------------------- ------- ----
TNAME             NOT NULL CHAR(30)
TABTYPE           NOT NULL CHAR(7)
CLUSTERID                  NUMBER

SQL> describe taballoc
Name                Null?  Type
---------------------------------- ------- ----
TNAME                     CHAR(30)
D_BLKS                    NUMBER
D_EXTS                    NUMBER
I_BLKS                    NUMBER
I_EXTS                    NUMBER

SQL> describe tabquotas
Name                Null?  Type
---------------------------------- ------- ----
TNAME             NOT NULL CHAR(30)
DINI              NOT NULL NUMBER
DINC              NOT NULL NUMBER
DMEXTNT           NOT NULL NUMBER
IINI              NOT NULL NUMBER
IINC              NOT NULL NUMBER
IMEXTNT           NOT NULL NUMBER
PFREE             NOT NULL NUMBER
PID                        NUMBER
RBA                        NUMBER
TBL                        NUMBER
TIME                       DATE

SQL> describe table_audit
Name                Null?  Type
---------------------------------- ------- ----
CREATOR                   CHAR(30)
TNAME            NOT NULL CHAR(30)
TABLETYPE        NOT NULL CHAR(7)
ALT                       CHAR(3)
AUD                       CHAR(3)
COM                       CHAR(3)
DEL                       CHAR(3)
GRA                       CHAR(3)
IND                       CHAR(3)
INS                       CHAR(3)
LOC                       CHAR(3)
REN                       CHAR(3)
SEL                       CHAR(3)
UPD                       CHAR(3)

SQL> describe views
Name                Null?  Type
---------------------------------- ------- ----
VIEWNAME          NOT NULL CHAR(30)
VIEWTEXT          NOT NULL LONG

SQL> describe dblinks
Name                Null?  Type
---------------------------------- ------- ----
NAME                     CHAR(30)
TYPE                     CHAR(7)
HOST                     CHAR(240)
USERID                   CHAR(30)

SQL> describe sysdblinks
Name                Null?  Type
---------------------------------- ------- ----
OWNER                    CHAR(30)
NAME                     CHAR(30)
HOST                     CHAR(240)
USERID                   CHAR(30)

+                       ПРИЛОЖЕНИЕ C.ОГРАНИЧЕНИЯ
   Это приложение содержит список ограничений,таких как максимальное количе-
ство символов,разрешенное в заголовке,которые выполняются в различных прик-
ладных программах,использующих ORACLE.В большинстве случаев ограничения пре-
дставляют собой максимальное значение,если не указано другое.Приведенные ог-
раничения относятся ко всем системам независимо от операционной среды,в ко-
торой они работают,однако имеются и исключения,поэтому необходимо сверяться
с руководством по конкретной системе,чтобы убедиться,действительно ли сущес-
твуют эти ограничения.

ОГРАНИЧЕНИЯ            ЗНАЧЕНИЕ
----------------------------------------------------------------
Количество таблиц         Зависит от операционной системы - около 9500 в VMS
Таблиц на кластер         32
Колонок в таблице         254 (255-ая в ROWID)
Символов в колонке        (типа CHAR) 240 символов
Символов в колонке        (типа LONG) 65535 символов
Значащих цифр             42 цифры плюс знак
Степень числа             10 в степени (+/- 128)
Записей в таблице         зависит от операционной системы.
                          Для VMS столько,сколько может войти в 2**29 блоков
Блоков в таблице          2**29 блоков
Файлов в БД               зависит от операционной системы
Разделов в БД             то же
Файлов в разделе          то же
Размер БД                 2**29 блоков любого размера на магнитном диске
Символов в конкатенированном    240 символов,включая разделители
ключе
Индексированных колонок   от 0 до n,если в таблице n колонок
в таблице
Байтов в записи (строке   254 колонки х240 символов+65535=126кб
таблицы)
Символов в предложении    8000
языка SQL

+              ПРИЛОЖЕНИЕ D.КРАТКОЕ ОПИСАНИЕ ПАРАМЕТРОВ INIT.ORA
Замечание:
 1.О/S обозначает,что значение меняется с помощью OC.
 2.Значения параметров на дистрибутивных носителях могут отличаться от зна-
   чений по умолчанию (эти значения см.в Руководстве по установке и Руковод-
   стве пользователю для конкретной OC).

ИМЯ ЗНАЧЕНИЕ ПОДЛЕЖИТ ЛИ ВЛИЯНИЕ КОМ-РИЙ ПАРАМЕТРА ПО УМОЛЧ.ИЗМЕНЕНИЮ НА SGA
_____________________________________________________________

AI_BUFFERS  3    нет   отсутствует [Не используется]  Кол-во AIJ буферов
AFTER_IMAGE null    да   -   Имя AIJ файла. Если не пустое значение,включает
                      протоколирование.Может появиться
                      в файле неоднократно.
AI_FILE_SIZE 0     да     -    Размер AIJ файлов в блоках ORACLE.
                      Если: То:
                      0 Используются файлы,указанные в ALTER_IMAGE
                      >0 Размер создаваемых AIJ файлов в килобайтах
AI_WARN_PCNT 0     да     -    Если AIJ файл заполнен на столько %,на
                      консоль оператора посылается сообщение [подключен]
AUDIT_TRAIL  0     да     -    Если значение не равно нулю,регистрационный
                      контроль включен,если равно нулю,выключен.
BEFORE_IMAGE O/S    да     -    Имя BI файла
BI_BUFFERS  O/S    нет   небольшое  Количество BI буферов
BI_HIGH         да     -    Последний блок в BI файле для системы,
                      использующей этот файл INIT.ORA
BI_LOW         да     -    Первый блок в BI файле для системы,использую-
                      щей этот файл INIT.ORA
BLOCK_SIZE  O/S    нет   небольшое  Количество байтов в блоке ORACLE

ИМЯ    ЗНАЧЕНИЕ ПО ПОДЛЕЖИТ ВЛИЯНИЕ КОММЕНТАРИЙ
ПАРАМЕТРА УМОЛЧАНИЮ  ЛИ ИЗМЕН.НА SGA
________________________________________________________________
BUFFERS     50    да   высокое Количество кэш-буферов
                     данных в оперативной памяти
BUFF_HASH_BKTS  8   нет    низкое Количество записей в хэш-таблице,используе-
                     мой для поиска буферов
CLUSTERS    20    да    низкое Количество описаний кластеров в кэш-буфере
COLUMNS    350    да   небольшое Количество описаний колонок в кэш-буфере
CONSOLE         -        [не используется]
CONTEXT_INCR  4096   да     -   Размер дополнения
        байтов           области контекста по умолчанию.Диапазон
                     1024-32768 байтов
CONTEXT_SIZE  4096   да     -   Размер области контекс-
        байтов           та в байтах.Диапазон 1024-131072 байтов
DATABASE    O/S   да     -   Имя первичного DB файла
DETACHED_DUMPS O/S   да     -   Имя директории,в которую записываются данные
ENQUEUES    5 х на  да   небольшое Количество записей PROCESSES
FILES      5    да   небольшое Количество файлов БД,открытых в SGA
FIXED_DATE   null   да     -   Дата для внутренней SYSDATE ORACLE
INSTANCES    16    да     -   Количество узлов в системе с разделяемыми
                              базами.Максимум 16
INSTANCE_NAME  -   нет     -   Имя узла,использующего этот файл INIT.ORA
LANGUAGE     -    да     -   Символьная строка длиной до 15 символов,
                             возвращаемые встроенной функцией
                             USERENV('LANGUAGE')
OPEN_CURSORS  50    да   небольшое Количество курсоров,которое разрешается
                                   открывать каждому процессу.Диапазон
                                   изменения 10-255
OPEN_LINKS   4      да небольшое Количество одновременных обращений к БД
                                 во время сессии пользователя
PROCESSES    25      да небольшое Количество параллельных процессов.Максима-
                                  льное количество зависит от OC.
READ_BLKS_REQ менее 10 или  нет   -  Количество блоков,
       READ_BLKS_TOT                 которое м.б. затребовано в одном запро-
                                     се на чтение.Диапазон изменения
                                     0-255 блоков
READ_BLKS_TOT  1/2 от    нет   -  Количество блоков,
        BUFFERS                   которое м.б. в невыполненных запросах на
                                  чтение
READ_REQUESTS более 5 или  нет  низкое Количество невыпол-
       PROCESSES          ненных запросов на чтение
SINGLE_PROCESS  0      да   -  Если значение равно 0 - система коллективного
                               пользования.Если значение равно 1 - система
                               индивидуального пользования
SORT_AREA_SZ  O/S      да   -  Размер рабочей области оперативной памяти
                               в байтах.Диапазон изменения и значение умол-
                               чания зависит от OC
SORT_FINAL_RA  O/S     нет   -  Фактор глубины чтения наперед при последнем
                                проходе сортировки
SORT_MERGE_RA  O/S     нет   -  Фактор глубины чтения наперед при промежуто-
                                чных проходах во время сортировки
SORT_POOL_SZ   -      -    -  [не используется]
SORT_SPCMAP_SZ O/S      да   O/S  Размер участка области контекста,выделяе-
                                  мого для сортировки.Диапазон изменения и
                                  значение по умолчанию зависят от OC
SORT_READ_FAC        нет  O/S   Фактор чтения нескольких блоков для сортиро-
                                вки
SQL       SQL.ORA   да   -   Имя SQL файла,используемого во время инициали-
                              зации
TABLE_ACCESSES функция от    небольшое Количество одновремен-
 PROCESSES                             но используемых различных таблиц.
                                       Диапазон изменения 8-208
TABLE_HANDLES  8 x на      небольшое Количество одновремен-
        PROCESSES                    ных обращений к одной таблице.Максима-
                                     льное значение - 24
TABLE_HSH_BKTS  1-32 в     небольшое Записи в хэш-таблице
        зависимости от       используются для поис-
        TABLE_ACCESS        ка записей доступа к таблицам БД
TABLE_NAMES    80     да небольшое Количество имен объектов (таблиц,синони-
                                   мов,виртуальных таблиц) в кэш-буфере
TABLES       50     да небольшое Количество описаний таблиц в кэш-буфере.
                                 Минимальное значение равно 10
TEMP_TABLES   на 1/10    да   -   Количество сопровожда-
        меньше,чем        емых ORACLE
        TABLE_HANDLES        временных таблиц
         или
        TABLE_ACCESSES
TRANSACTIONS  5 x на    да небольшое Количество параллель-
        PROCESSES         ных транзакций
USERINIT      null    да   -   Имя файла,выполняемого после файла,заданного
                               параметром SQL
USERS       30     да небольшое Количество имен пользователей в кэш-буфере
USER_DUMPS    O/S        -   Имя директории,в которую записываются данные
                             пользователя

+          ПРИЛОЖЕНИЕ E.КОДЫ ФУНКЦИОНАЛЬНЫХ КЛАВИШ ВИДЕОТЕРМИНАЛОВ
   Это приложение содержит коды и имена функций клавиатуры для программы IAP
компоненты SQL*Forms и SQL*Menu.Значения клавиш могут устанавливаться при
установке систем.

                      Коды компоненты SQL*FORMS(IAP)
FU                                 FNAME
--                         -------------------------
AQ ABORT QUERY             Прервать запрос
BM SELECT BLOCK BY MENU    Выбрать блок в меню
CA CLEAR ALL               Стереть все
CB CLEAR BLOCK             Стереть блок
CF CLEAR (END OF) FIELD    Стереть поле
CM CHANGE CHARACTER MODE   Изменить символьный режим
CQ COUNT QUERY HITS        Подсчитать количество найденных записей
CR CREATE RECORD           Создать запись
CT COMMIT TRANSACTION      Завершить транзакцию
D DELETE RECORD            Удалить запись
DC DELETE CHARACTER        Удалить символ
DE DISPLAY LAST ERROR      Высветить последнюю ошибку
DF DUPLICATE FIELD         Продублировать поле
DK DISPLAY FUNCTION KEYS   Высветить назначение функциональных клавиш
DR DUPLICATE RECORD        Продублировать запись
EQ ENTER A QUERY           Ввести запрос
H HELP FIELD               Выдать вспомогательную информацию для поля
LV LIST FIELD VALUES       Выдать список значений поля
ML MOVE CURSOR LEFT        Передвинуть курсор влево
MR MOVE CURSOR RIGHT       Передвинуть курсор вправо
NB NEXT BLOCK              Перейти к следующему блоку
NF NEXT FIELD              Перейти к следующему полю
NK NEXT PRIMARY KEY FIELD  Перейти к следующему ключевому полю
NR NEXT RECORD             Перейти к следующей записи
NS NEXT RECORD SET         Перейти к следующему набору записей
P PRINT FUNCTION           Печатать
PB PREVIOUS BLOCK          Перейти к предыдущему блоку
PF PREVIOUS FIELD          Перейти к предыдущему полю
PR PREVIOUS RECORD         Перейти к предыдущей записи
Q EXECUTES QUERY FUNCTION  Выполнить запрос
R REDISPLAY SCREEN         Обновить экран
RR RELEASE RECORD          Освободить запись
X EXIT IAP                 Завершить работу с IAP

                       Коды компоненты SQL*MENU
FU                                       FNAME
--                              ---------------------------
NF NEXT FIELD                    Перейти к следующему полю
PF PREVIOUS FIELD                Перейти к предыдущему полю
CF CLEAR FIELD                   Очистить поле
EM ENTER MENU PARAMETERS         Ввести параметры "меню"
EA ENTER APPLICATION PARAMETERS  Ввести параметры прикладной программы
EO ENTER AND EXECUTE O.S COMMAND Ввести и выполнить команду OC
PM PREVIOUS MENU                 Перейти к предыдущему "меню"
MM GOTO MAIN MENU                Перейти к главному"меню"
AM GOTO APPLICATION MENU         Перейти к меню прикладной программы
HO HELP (OPTION)                 Вспомогательная информация (опция)
HI HELP (MENU)                   Вспомогательная информация (меню)
CM CHANGE CHARACTER MODE         Изменить символьный режим
CD CHANGE DEBUG MODE             Изменить режим отладки
X EXIT                           Завершить работу
RU REDEFINE USERNAME/PASSWORD    Изменить имя/пароль
RS REDISPLAY SCREEN              Обновить экран дисплея
SB SHOW BACKGROUND MENU          Показать фоновое меню
TM TERMINATE INPUT ON FORM       Прекратить ввод в форму
ML MOVE CURSOR LEFT              Передвинуть курсор влево
MR MOVE CURSOR RIGHT             Передвинуть курсор вправо
MU MOVE CURSOR UP                Передвинуть курсор вверх
MD MOVE CURSOR DOWN              Передвинуть курсор вниз
DC DELETE CHARACTER              Удалить символ
DF DISPLAY FUNCTION KEYS         Высветить назначение функциональных клавиш
E1 ENTER AND EXEC 1 0.S.CMD.     Ввести и выполнить 1 команду ОС
BO BG.MENU OPTION NR 1.          Опция N1 для меню
B1 BG.MENU OPTION NR 2.          Опция N2 для меню
B2 BG.MENU OPTION NR 3.          Опция N3 для меню
B3 BG.MENU OPTION NR 4.          Опция N4 для меню
B4 BG.MENU OPTION NR 5.          Опция N5 для меню
B5 BG.MENU OPTION NR 6.          Опция N6 для меню
B6 BG.MENU OPTION NR 7.          Опция N7 для меню
B7 BG.MENU OPTION NR 8.          Опция N8 для меню
B8 BG.MENU OPTION NR 9.          Опция N9 для меню
B9 BG.MENU OPTION NR 10.         Опция N10 для меню

+   ПРИЛОЖЕНИЕ F.ОПИСАНИЕ ТЕРМИНАЛОВ,ОБЕСПЕЧИВАЕМЫЕ ФИРМОЙ-РАЗРАБОТЧИКОМ
 -разработчик обеспечивает описания для следующих терминалов:
 - D200
 - D410
 - D605x
 - GG
 - GIGI
 - IBM3270
 - OWL
 - PC
 - VI3x0
 - VK100
 - VT52
 - VT100
 - VT102
 - VT200
 - VT220

+                                    СЛОВАРЬ
     Адрес (строки таблицы): см.ROWID.
     Асинхронный терминал: терминал,который передает и восстанавливает дан-
ные по-символьно (в отличие от передачи данных блоками).
     Блок: основная единица памяти (физической и логической) для всех данных
ORACLE.Количество блоков,выделяемых на одну таблицу,зависит от описания про-
странства памяти,мспользуемого при создании этой таблицы.Размер блока ORACLE
зависит от OC.
     Блок экстента: первый блок начального экстента данных или индексов,ко-
торый содержит информацию о каждом экстенте,выделенном из таблицы.На таблицу
выделяется 3 дополнительных блока (2 - для данных,один - для индексов).Блок
экстена является первым блоком данных и первым блоком индексов.
     Блокирование на уровне записи: синоним для блокирования в режиме SHARE
UPDATE.Тип блокирования,при котором изменения данных осуществляются при бло-
кировании некоторых записей в таблице,а не при блокировании всей таблицы.
   Блокирование таблиц: общая категория блокировок,которая защищает данные и
изменения данных при параллельной работе пользователей.Включает блокировки в
режимах SHARE,EXCLUSIVE и SHARE UPDATE.В системе ODS появляется с префиксами
DML или ROW.
   Блокировка: обобщенный термин для некоторых механизмов,используемых
ORACLE для защиты структуры объектов данных (таких как имена таблиц,описаний
колонок,имен пользователей) и обеспечения целостности даннызх.Блокировки ис-
пользуются для того,чтобы никакие изменения данных в одном месте не могли
повредить данные в другом.
   Блокировки операций со словарем данных: блокировка,устанавливаемая в ре-
жиме EXCLUSIVE на время обновления словаря.В каждый момент времени м.б. ус-
тановлена только одна такая блокировка и только в режиме EXCLUSIVE.
   Блокировки описания данных: блокировки,устанавливаемые на словарь данных
во время изменения структуры объектов БД (таких как таблицы,индексы,виртуа-
льные таблицы,кластеры) с тем,чтобы эти изменения не оказали отрицательного
влияния на данные в базе.В системе отображения ODS эти блокировки отобража-
ются как блокировки DDL и м.б. трех типов: блокировки операций со словарем;
блокировки описаний словаря и блокировки описания таблиц.
   Блокировки описания словаря: блокировки, устанавливаемые пользователями в
режиме SHARE во время разбора предложений DML или блокировки,устанавливаемые
пользователями в режиме EXCLUSIVE во время выполнения DDL операций для того,
чтобы предотвратить изменение словаря данных другими пользователями во время
выполнения этих операций.Одновременно м.б. установлено несколько таких бло-
кировок.
   Блокировки описания таблиц: блокировки,устанавливаемые процессами,либо
при ссылке на таблицу в предложении SQL (блокировка устанавливается в режиме
SHARE),или при модификации описания таблицы (блокировка устанавливается в
режиме EXCLUSIVE).В системе ODS появляется с префиксом DDL.
   Взаимоблокировка: ситуация,в которой может оказаться система коллективно-
го пользования,какие-либо пользователя,оказываются в состоянии ожидания ре-
сурса,заблокированного другим пользователем и никто из них не может получить
ресурсы,необходимые для завершения своей работы.ORACLE выявляет взаимоблоки-
ровки и разрешает их,отменяя выполнение работы,проводимой одним из пользова-
телей (наименьшую по объему).
   Видеотерминал: дисплей (CRT),такой как IBM 3270,DEC VT100 или VT220.
   Временные таблицы: таблицы,создаваемые ORACLE для того,чтобы выполнить
предложения языка SQL пользователей.Часто требуются для упорядочения данных
и могут использоваться предложениями языка SQL,включающими выражения
DISTINCT,ORDER BY или GROUP BY.Создаются,сопровождаются и уничтожаются
ORACLE автоматически.Среднее количество сопровождаемых временных таблиц ус-
танавливается параметрами TEMP_TABLES в файле INIT.ORA.
   Выполнение транзакций (операция COMMIT): делает произведенные изменения в
БД (занесение,применение и удаление записей) постоянными.До того,как измене-
ния станут постоянными,хранятся как старые,так и новые (измененные) данные,
для того чтобы можно было восстановить начальные данные,если это потребуется.
   Единица работы: в ORACLE транзакция эквивалентна логической единице рабо-
ты,которая включает все предложения языка SQL,которые были введены либо пос-
ле входа в систему,либо после выполнения последней операции COMMIT,либо пос-
ле выполнения последней операции ROLLBACK.Поэтому транзакция может содержать
как только одно предложение языка SQL,так и множество предложений.
   Импорт: процесс переписи данных из экспортных файлов в БД.Импорт произво-
дится с помощью утилиты Import.
   Индекс: обобщающий термин для свойств ORACLE и языка SQL,используемых,
прежде всего,для увеличения быстродействия и обеспечения уникальности опре-
деленных данных.Обеспечивает более быстрый метод доступа к данным таблицы,
чем ее полный просмотр.Существует несколько типов индексов.См.конкатенирова-
нные,уплотненные,неуплотненные и уникальные индексы.
   Инициализация: начальная подготовка БД,всегда выполняемая при установке
системы в первый раз.Выполняется с помощью программы IOR с опцией INIT.Любые
существующие к этому моменту данные пользователя теряются и создаются нача-
льные таблицы БД.
   Кластер: способ хранения данных из нескольких таблиц вместе в тех случа-
ях,когда данные в этих таблицах содержат общую информацию и,вероятно,что к
ним будут обращаться одновременно.Кластеризация ухудшает производительность
системы и не влияет на то,как пользователи формулируют предложения языка SQL.
   Ключ: колонка или комбинация колонок в одной таблице,которая м.б. исполь-
зована для уникальной идентификации записи.Колонка(колонки),формирующие
ключ,обычно индексируются.
   Ключ кластера: колонка или колонки,общие для кластеризованных таблиц.Нап-
ример,2 таблицы EMP и DEPT м.б. кластеризованы по колонке DEPTNO.
   Код функции: определенные ORACLE двухсимвольные коды,связанные с функция-
ми,выполняемыми программами ORACLE.Хранятся в таблице БД с именем
SYSTEM.FUNCTIONS.
   Конкатенированный индекс: индекс,который создается более чем на одной ко-
лонке таблицы.Может использоваться для того,чтобы гарантировать,что совокуп-
ность значений в этих колонках будет уникальной для каждой записи в таблице.
Может создаваться уплотненным или неуплотненным и в любой комбинации колонок
таблицы.
   Координаты курсора: координаты горизонтальной или вертикальной позиций
курсора на экране видеотерминала.Запись значений координат и их диапазон за-
висит от типа терминала.
   Курсор: 1.Синоним для области контекста.2.Маркер (например,мигающий пря-
моугольник или черточка),который отмечает текущую позицию на экране видеоте-
рминала.
   Неуплотненный индекс: индекс для одной или более колонок (то есть он м.б.
конкатенированным),в котором хранятся все индексные данные.Если все запраши-
ваемые данные хранятся в индексе,то время выборки данных может сократиться.
   Номер прохода: количество циклических проходов BI файла,хотя он появляет-
ся в системе отображения ODS,он фактически не используется пользователями
системы.
   Область контекста: рабочая область,в которой ORACLE хранит текущее пред-
ложение языка SQL и,если это предложение является запросом,то заголовки ко-
лонок результата и одну запись результата.
   Общий синоним: синоним для объекта БД,который администратор БД создает
для использования всеми пользователями ORACLE.
   Операция ROLLBACK: в отличие от операции COMMIT не делает изменения,прои-
зведенные в БД во время транзакций,постоянными.
   Описание пространства памяти: объект БД,используеммый для управления,вы-
делением памяти под данные таблиц.Описание,которое м.б. использовано любой
таблицей,содержит 2 основные части: спецификации для сегментов данных и спе-
цификации для сегментов индексов.
   Описание терминала: информация,необходимая ORACLE для установления соот-
ветствия функций и клавиш терминала.Содержится в .CRT файле,связанном c соо-
тветствующим терминалом.
   Предложения DCL: категория предложений языка SQL,управляющих доступом к
данным и БД.Например,GRANT CONNECT...,GRANT SELECT,UPDATE ON...и
REVOKE DBA....Другими категориями являются предложения DDL и DML.
   Предложения DDL: категория предложений языка SQL,создающих или уничтожаю-
щих объекты БД.Например,CREATE VIEW...,CREATE TABLE...,CREATE INDEX...,
DROP TABLE...,RENAME TABLE.Другими категориями являются предложения DCL и
DML.
   Предложения DML: категория предложений языка SQL для запроса и обновления
данных.Например,SELECT...,INSERT...,DELETE...,UPDATE.Другими категориями яв-
ляются предложения DCL и DDL.
   Программа IOR:  это  утилита администратора БД,используемая им для иници-
ализации ORACLE,а также для ее старта и остановки.
   Последовательный N записи: число,присваемое записи,когда она заносится в
блок данных.Это число также хранится как заголовок записи и образует часть
идентификатора записи ROWID.
   Разбор: отображение предложений языка SQL в курсор (область контекста).Во
время разбора производятся некоторые проверки,например,существуют ли объек-
ты,на которые делаются ссылки в предложении; представлен ли соответствующий
доступ к этим объектам и правилен ли синтаксис этого предложения.Кроме то-
го,при разборе принимается решение по оптимизации выполнения этого предложе-
ния,например,решается,какие индексы будут использоваться.
   Раздел: логическая единица памяти для БД ORACLE.Каждая БД всегда содержит
раздел с именем SYSTEM,однако может содержать и дополнительные разделы.Раз-
дел состоит из одного или более физических файлов.
   Регистрационный контроль: это средство,позволяющее администраторам БД и
пользователям ORACLE контролировать использование БД.Регистрируемая информа-
ция хранится в словаре данных,и для управления этой информацией могут испо-
льзоваться предложения языка SQL.Например,могут регистрироваться либо обнов-
ления данных в таблице,либо только безуспешные попытки.Или могут регистриро-
ваться все входы в ORACLE,либо только безуспешные попытки выполнить дейст-
вия,которые может выполнять только администратор БД.Администратор БД может
задавать значения по умолчанию параметров регистрационного контроля.
   Режим блокирования EXCLUSIVE: режим блокирования таблиц,гарантирующий
процессу,что только он может обновлять данные в этих таблицах.Никакой другой
процесс не может установить блокировку на эту таблицу,до тех пор пока блоки-
ровка в режиме EXCLUSIVE не будет снята.
   Режим блокирования SHARE: режим блокирования,который гарантирует,что дан-
ные не будут применены другими процессами,пока процесс,установивший блокиро-
вку,запрашивает эти данные.Этот режим д.б. установлен явно с помощью выраже-
ния LOCK TABLE в предложении SHARE MODE.
   Режим блокирования SHARE UPDATE: тип блокирования,при котором изменения
данных осуществляются при блокировании некоторых записей в таблице,а не при
блокировании всей таблицы.
   Сегмент данных: память,выделяемая для таблицы,под данные,в отличие от па-
мяти,выделяемые под индексы таблицы.Сегмент данных состоит из начального эк-
стента данных и дополнительных экстентов данных.Размер и количество этих эк-
стентов определяется описанием пространства памяти,используемого при созда-
нии таблицы.
   Сегмент индексов: память,которая выделяется таблице под индексы,в отличие
от памяти,выделяемой под данные.Сегмент индексов состоит из одного начально-
го экстента и из нескольких дополнительных экстентов.Размер и количество
этих экстентов определяется описанием пространства памяти,используемого для
создания таблицы.
   Сегменты: пространства памяти,доступные для данных или индексов таблицы.
Каждая таблица имеет 2 сегмента: один для данных и один для всех индексов.
Каждый сегмент состоит из экстентов,которые,в свою очередь,состоят из бло-
ков.Максимальное количество экстентов или размеры сегментов указываются в
описании пространства памяти.
   Синхронный терминал: видеотерминал,который передает и принимает данные
поблочно (в отличие от передачи данных посимвольно).
   Система с разделяемыми БД: конфигурация ORACLE,в которой ORACLE,установ-
ленные на нескольких узлах сети,разделяют одни и те же файлы БД.
   Системная глобальная область (SGA): разделяемая область в основной или
виртуальной памяти (в зависимости от OC ),которая выделяется программой IOR
и является центром деятельности ORACLE во время работы с БД.Размер SGA и,со-
ответственно,производительность системы,зависит от значений параметров в фа-
йле INIT.ORA.
   Словарь данных: набор базовых и виртуальных таблиц,владельцами которых
являются администраторы БД с именами SYS и SYSTEM,и которые устанавливаются
во время первоначальной установки ORACLE и являются основным источником ин-
формации как самой системы,так и для ее пользователей.Таблицы сопровождаются
ORACLE автоматически.
   Сцепленные блоки: вторичные блоки ORACLE,предназначенные для хранения да-
нных таблицы в тех случаях,когда первоначально выделенный блок не имеет дос-
таточно памяти для новых записей,или записи в этом блоке увеличиваются в ра-
змере при их обновлении.Более часто используются для данных таблицы,однако и
индексные данные также м.б. сцеплены.Большое количество сцепленных блоков
может ухудшить производительность системы,поэтому если они появляются,то
значение параметра описания пространства памяти PCTFREE возможно следует
уменьшить.
   "Теплый старт": старт ORACLE в любое время,кроме самого первого раза (ко-
гда происходит инициализация системы).Выполняется с помощью программы IOR с
опцией WARM.
   Тип данных CHAR: тип данных ORACLE,который хранит символьные строки дли-
ной до 240 символов.
   Тип данных LONG: тип данных ORACLE,который позволяет хранение очень длин-
ных строк символьных данных.Данные типа LONG м.б. длиной до 65535 символов.
   Тип данных LONG RAW: тип данных ORACLE,похожий на тип данных LONG,однако
при этом не делается никаких предположений о содержании данных (например,
ASCII или EBCDIC).Предназначен для хранения данных длиной до 65535 байтов.
   Тип данных NUMBER: тип данных ORACLE,предназначенный для хранения число-
вых данных.
   Тип данных RAW: тип данных ORACLE,похожий на тип данных CHAR,за исключе-
нием того,что он хранит неинтерпретированные байты,а не символы.
   Транзакция: в ORACLE транзакция эквивалентна логической единице работы,
которая включает все предложения языка SQL,которые были введены либо после
входа в систему,либо после выполнения последней операции COMMIT,либо после
выполнения последней операции ROLLBACK.Поэтому транзакция может содержать
как только одно предложение языка SQL,так и множество предложений.
   Уникальный индекс: индекс (либо уплотненный,либо неуплотненный),который
требует уникальности каждого индексируемого значения.Уникальный индекс м.б.
как на единственной колонке,так и на нескольких колонках (конкатенированный
индекс).
   Уплотненный индекс: это индекс,для которого хранится только достаточная
информация предназначенная для идентификации уникальной индексной записи.Ин-
формация,общая с предыдущим или последующим ключом,"уплотняется" (обрезает-
ся),а не хранится,для того чтобы уменьшить расход памяти,требуемой под инде-
ксы.
   Файл: физический файл,который занимает или данный раздел,или его часть.
Область памяти,используемая для хранения всей БД.БД должна иметь,по крайней
мере,один физический файл (раздел SYSTEM),однако может иметь и несколько фа-
йлов в нескольких разделах.
   "Холодный" старт: это термин,используемый для названия самого первого
старта ORACLE,чаще называется "инициализацией БД".Выполняется путем вызова
программы IOR с опцией INIT (командой IOR INIT).
   Экспорт данных: процесс записи данных из БД в файлы специального формата
для дальнейшей записи их в БД ORACLE с помощью процедуры Import.Экспорт
данных производится с помощью процедуры Export.
   Экстент: набор последовательных блоков в файле БД,которые выделяются под
сегмент данных или индексов.Первый выделяемый экстент называется начальным
экстентом,каждый последующий
- дополнительным экстентом.Количество блоков в экстенте определяется описа-
нием пространства памяти.
   Юлианская дата: это способ представления дат таким образом,чтобы каждая
дата могла быть выражена в виде уникального целого числа.М.б. получена,испо-
льзуя маску формата 'J' во встроенных функциях (таких как TO_DATE).
   AIJ: утилита администратора БД ORACLE,используемая для восстановления БД,
в случае возникновения серьезных проблем,таких как,утеря информации на маг-
нитных носителях или поломка головок дисковода с помощью журнала протоколов.
Журнал протоколов представляет собой физическую запись всех изменений,произ-
водимых в БД,и может использоваться совместно с копией БД,сделанной перед
началом его ведения,для восстановления состояния БД,предшествовавшего неисп-
равности.
   ARH: это фоновый процесс ORACLE,который считает блоки данных из БД в об-
ласть SGA для запросов,которые осуществляют полный просмотр таблицы,для того
чтобы сократить время выборки.
   В*-дерево: это алгоритм индексирования,используемый ORACLE для создания и
хранения индексов.
   BI файл: файл,используемый для хранения копий каждого блока,модифицирова-
нного во время операции обновления данных.Этот файл гарантирует,что измене-
ния,производимые в БД,не станут постоянными до тех пор,пока они не станут
полными,непротиворечивыми и не будут подтверждены пользователем.Каждая сис-
тема имеет только один BI файл.
   CCF: утилита ORACLE,доступная на многих,но не на всех OC,используемая ад-
министратором БД для создания и подготовки BI файлов и DB файлов.
   CRT файл: это файл,который хранит соответствие между функциональными кла-
вишами видеотерминала и функциями прикладных программ (такими как,"стереть
экран" или "перейти к следующему полю").Для каждого класса терминала должен
существовать свой CRT файл.
   INIT.ORA: системный файл с параметрами,который содержит значение и имена
файлов,используемые при старте системы с помощью программы IOR.
   RBA: относительный адрес блока - N блока ORACLE в разделе.RBA является
частью идентификатора ROWID.
   ROWID: псевдоколонка для каждой записи в БД,которая содержит адрес каждой
записи,и поэтому уникальна для каждой записи.Использование ROWID - самый бы-
стрый способ доступа к любой записи.Идентификатор записи ROWID состоит из 3
частей: номера раздела,номера блока в разделе и номера записи в блоке.
   SYS(пользователь ORACLE): один из администраторов БД,который создается
при установке системы и ее инициализации (другим является SYSTEM).SYS владе-
ет большинством таблиц словаря данных,в то время как SYSTEM является собст-
венником виртуальных таблиц,созданных на этих базовых таблицах.
  SYSTEM(пользователь ORACLE): один из администраторов БД,который создается
при установке системы и ее инициализации (другим является SYS).В то время
как SYS владеет большинством таблиц словаря данных,SYSTEM является собствен-
ником виртуальных таблиц,созданных на этих базовых таблицах.
   SYSTEM(раздел ORACLE): первоначальный и единственный раздел,который суще-
ствует в только что установленной системе.Каждая система должна иметь раздел
SYSTEM и,по крайней мере,один файл д.б. выделен этому разделу.

KOAP Open Portal 2000



Яндекс цитирования