|
+ ГЛАВА 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 и,по крайней мере,один файл д.б. выделен этому разделу.
|
|