Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Главная » Статьи по Базам данных » Oracle - Статьи »

Обсудить на форуме Обсудить на форуме

                       Ошибка
Исключительная ситуация ORACLE    Описание
---------------------- --------- ---------------------------------------------
CURSOR_ALREADY_OPEN    ORA-06511 Попытка открытия уже открытого курсора
DUP_VAL_ON_INDEX       ORA-00001 Попытка вставить дубликат значения для
                                 уникального индекса
INVALID_CURSOR         ORA-01001 Попытка выполнения запрещенной операции с кур-
                                 сором (например, закрытие неоткрытого курсора)
INVALID_NUMBER         ORA-01722 Отказ преобразования строки символов в число
LOGIN_DENIED           ORA-01017 Неправильное имя пользователь/пароль
NO_DATA_FOUND          ORA-01403 Предложение SELECT...INTO возвращает ноль строк
NOT_LOGGED_ON          ORA-01012 Нет подключения к Oracle7
PROGRAM_ERROR          ORA-06501 Внутренняя ошибка PL/SQL
STORAGE_ERROR          ORA-06500 Пакет PL/SQL вышел из пределов памяти или если
                                 память разрушена
TIMEOUT_ON_RESOURCE    ORA-00051 Истекло время ожидания ресурса Oracle7
TOO_MANY_ROWS          ORA-01422 Предложение SELECT...INTO возвращает более
                                 одной строки
TRANSACTION_BACKED_OUT ORA-00061 Удаленный сервер отменил транзакцию
VALUE_ERROR            ORA-06502 Арифметическая ошибка, ошибка преобразования,
                                 усечения или ограничения
ZERO_DIVIDE            ORA-01476 Попытка деления на ноль
   Если в раздел EXCEPTION программы (блока) включена фраза
     WHEN имя_исключения THEN
       текст_обработчика_исключения;
с именем какого-либо встроенного исключения и возникла соответствующая ошибка,
то вместо прекращения исполнения программы и выдачи типового сообщения об
ошибке, будет исполняться созданный пользователем текст обработчика исключения.
Такой обработчик может, например, выяснить ситуацию, при которой произошло
деление на ноль, и выдать правдоподобный результат операции деления или
прервать исполнение программы и дать сообщение об изменении каких-либо данных.
В последнем случае это может быть не типовое сообщение "Вы пытаетесь делить на
ноль", а любое подготовленное пользователем сообщение, например, инструкцию
длиной до 2048 символов.
   Для выдачи сообщения об ошибке, обеспечения возврата в среду, из которой
вызывалась текущая программа (блок) и отмены всех действий, выполненных в
текущей транзакции, целесообразно использовать процедуру
     RAISE_APPLICATION_ERROR(errnum,errtext);
где errnum - отрицательное целое число в диапазоне -20000 .. -20999 и errtext
 - символьная строка длиной до 2048 символов.
   В приведенном ниже триггере "shtins" использованы два типа встроенных
исключительных ситуаций: NO_DATA_FOUND и TOO_MANY_ROWS.
DROP TRIGGER shtins;
CREATE TRIGGER shtins
BEFORE INSERT ON SHTAT
FOR EACH ROW
DECLARE
  nach        DATE;
  kon         DATE;
  str         NUMBER;
  minraz      NUMBER;
  maxraz      NUMBER;

                                    - 41 -
  nach_kon    EXCEPTION;
  err_str     EXCEPTION;
  nach_nach   EXCEPTION;
  err_razr    EXCEPTION;
  err_razr_pr EXCEPTION;
  err_stavka  EXCEPTION;
BEGIN
  SELECT min_razr,max_razr INTO minraz,maxraz FROM dolgnosti
    WHERE dolgn = :new.dolgn;
  IF :new.razr NOT BETWEEN minraz AND maxraz THEN RAISE err_razr;    END IF;
  IF :new.razr_proc NOT BETWEEN 50 AND 100 THEN   RAISE err_razr_pr; END IF;
  IF :new.stavka NOT BETWEEN 0.25 AND 100 THEN    RAISE err_stavka;  END IF;
  IF :new.nachalo > :new.konec THEN               RAISE nach_kon;    END IF;
  SELECT MAX(stroka) INTO str FROM shtat;
  IF :new.stroka <> str+1 THEN                    RAISE err_str;     END IF;
  <> -- метка блока, в котором производится поиск строк с
                   -- параметрами, аналогичными вводимым значениям
  BEGIN
    SELECT nachalo,konec INTO nach,kon FROM shtat
       WHERE OTDEL = :new.otdel AND DOLGN = :new.dolgn AND RAZR = :new.razr
         AND RAZR_PROC = :new.razr_proc AND KONEC =
           (SELECT MAX(konec) FROM shtat
               WHERE OTDEL = :new.otdel AND DOLGN = :new.dolgn
                 AND RAZR = :new.razr AND RAZR_PROC = :new.razr_proc);
    IF :new.nachalo <= nach THEN RAISE nach_nach; END IF;
    IF :new.nachalo <= kon THEN
      UPDATE SHTAT SET konec = (:new.nachalo - 1)
         WHERE OTDEL =:new.otdel AND DOLGN = :new.dolgn AND RAZR =:new.razr
           AND RAZR_PROC = :new.RAZR_PROC AND konec = kon;
    END IF;
  EXCEPTION                 -- начало обработчика исключений блока find_strings
    WHEN NO_DATA_FOUND THEN NULL; -- вызывается, если SELECT блока find_strings
                                  -- не возвращает ни одной строки.
  END find_strings;
EXCEPTION                   -- начало обработчика исключений основной программы
  WHEN NO_DATA_FOUND THEN
    RAISE_APPLICATION_ERROR(-20003,'Должности '||:new.dolgn||' не существует !');
  WHEN err_razr THEN
    RAISE_APPLICATION_ERROR(-20004,
                     'Значение разряда не попадает в "вилку" разрядов');
  WHEN err_razr_pr THEN
    RAISE_APPLICATION_ERROR(-20005,
                     'Разрядный процент должен находиться в пределах 50-100');
  WHEN err_stavka THEN
    RAISE_APPLICATION_ERROR(-20006,
                     'Число ставок должно находиться в пределах 0.25-100');
  WHEN nach_nach THEN
    RAISE_APPLICATION_ERROR(-20007,
                     'Дата начала должна быть больше '||to_char(nach));
  WHEN TOO_MANY_ROWS THEN
    RAISE_APPLICATION_ERROR(-20008,'Много строк; обратитесь к АБД.');
  WHEN nach_kon THEN
    RAISE_APPLICATION_ERROR(-20009,
                     'Дата начала не может быть больше даты конца');
  WHEN err_str THEN
    RAISE_APPLICATION_ERROR(-20010,'Неправильный номер вводимой строки');
  WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20011,'Какая-то другая ошибка');
END shtins;

                                    - 42 -
   Так как в большом приложении могут часто повторяться встроенные или
пользовательские исключительные ситуации, то целесообразно создать в базе
данных таблицу (например, USERERR) с уникальными номерами (error_number) и
текстами (error_text) исключений. Это позволит избежать определения лишних
сообщений об ошибках и сделать их согласованными во всем приложении.
   При использовании такой таблицы и процедуры RAISE_APPLICATION_ERROR надо
описать в в разделе DECLARE блока две переменных (например, errnum типа NUMBER
и errtext типа VARCHAR2) и использовать в обработчике исключений конструкцию:
  WHEN TOO_MANY_ROWS THEN
    SELECT error_number,error_text INTO errnum,errtext FROM usererr
      WHERE error_number = 20008;
    RAISE_APPLICATION_ERROR(errnum,errtext);
или
  WHEN TOO_MANY_ROWS THEN
    SELECT error_number,error_text INTO errnum,errtext FROM usererr
      WHERE errtext LIKE 'Много строк; обр%';
    RAISE_APPLICATION_ERROR(errnum,errtext);
   12.5.2. Исключительные ситуации, определяемые пользователем
   Кроме встроенных могут быть использованы собственные исключительные
ситуации, имена которых необходимо описать в разделе DECLARE блока PL/SQL
(например, err_stavka EXCEPTION). В разделе EXCEPTION блока должен быть
описан соответствующий обработчик исключительной ситуации, например
  WHEN err_stavka THEN
    SELECT error_number,error_text INTO errnum,errtext FROM usererr
      WHERE errtext LIKE 'Число ставок должно находиться%';
    RAISE_APPLICATION_ERROR(errnum,errtext);
  В теле основной программы определяемые пользователем ошибки обычно проверяются
с помощью операторов условия (IF...THEN). Для передачи управления обработчику
пользовательской исключительной ситуации в случае обнаружения ошибки
используется оператор
     RAISE имя_пользовательского_исключения
Например
  IF :new.stavka NOT BETWEEN 0.25 AND 100 THEN
    RAISE err_stavka;
  END IF;
   12.5.3. Обработчик OTHERS
   Если исключительная ситуация не обрабатывается явным образом в блоке и для
ее перехвата не используется обработчик OTHERS, то PL/SQL отменяет выполняемые
блоком транзакции и возвращает необработанную исключительную ситуацию обратно
в вызывающую среду.
   Обработчик особых ситуаций OTHERS описывается последним в программе (блоке)
для перехвата всех исключительных ситуаций, которые не были описаны в этой
программе (блоке). Он может иметь вид
  WHEN OTHERS THEN
    RAISE_APPLICATION_ERROR(-20011,'Какая-то другая ошибка');

                                    - 43 -
   12.6. Транзакции
    COMMIT    - завершает транзакцию, фиксируя изменения в базе данных
    ROLLBACK  - отменяет изменения, внесенные текущей транзакцией
    SAVEPOINT - идентифицирует промежуточную точку сохранения транзакции
             (подробно будут описаны позднее)
   12.7. О программах PL/SQL
    Анонимные блоки, процедуры, функции, пакеты и триггера.
             (подробно будут описаны позднее)
   12.8. Отладка программ PL/SQL
   Oracle7 не поставляется с готовой и полной средой разработки. Поэтому для
успешной разработки с применением PL/SQL нужно освоить некоторые приемы
отладки.
   Перед исполнением программы необходимо выполнить две операции:
1. Исполнить команду  SET SERVEROUTPUT ON  разрешающую вывод на экран
   информации, заданной в процедуре
      DBMS_OUTPUT.PUT_LINE (текстовая_строка)  .
   Эта процедура является единственным средством вывода значений переменных
   из программ PL/SQL. Например,
      DBMS_OUTPUT.PUT_LINE('Пример '||TO_CHAR(SYSDATE,'DD')) .
2. Установить формат даты с помощью команды
      ALTER SESSION SET NLS_DATE_FORMAT='DD.MM.YYYY';
   Если при выполнении SQL-запроса или программы PL/SQL обнаружены ошибки, то
в первую очередь надо проверить правильность написания в них имен таблиц,
столбцов и др. Для этого можно воспользоваться командой SQL*Plus DESCRIBE,
которая выводит список столбцов для таблицы или спецификацию для функции,
процедуры, пакета. Синтаксис этой команды имеет вид:
     DESC[RIBE] {[user.]table [column] | [user.]object[.subobject]}
Пример
SQL> desc kadry
 Name                            Null?    Type
 ------------------------------- -------- ----
 NOMER                           NOT NULL NUMBER(6)
 FAMILIYA                                 VARCHAR2(20)
 IMYA                                     VARCHAR2(15)
 OTCHESTVO                                VARCHAR2(20)
 ROZHDENIE                                DATE
 POL                                      CHAR(1)
 IZMEN                           NOT NULL DATE

                                    - 44 -
   Аналогичным образом можно получить структуру любого представления словаря
данных (см. пп. 13 и 14), например, структуру user_objects, где хранится
информация о пользовательских объектах базы данных (INDEX, SEQUENCE, VIEW,
PACKAGE, PACKAGE BODY, FUNCTION, PROCEDURE, TABLE, TRIGGER):
desc user_objects
 Name             Null?    Type
 ---------------- -------- ----
 OBJECT_NAME               VARCHAR2(128)
 OBJECT_ID                 NUMBER
 OBJECT_TYPE               VARCHAR2(13)
 CREATED                   DATE
 LAST_DDL_TIME             DATE
 TIMESTAMP                 VARCHAR2(75)
 STATUS                    VARCHAR2(7)
   Для получения полного описания всех объектов можно выполнить команду:
     select * from user_objects;
а для получения описания процедур
select * from user_objects where object_type = 'PROCEDURE';
OBJECT_NAME OBJECT_ID OBJECT_TYPE CREATED    LAST_DDL_T TIMESTAMP           STATUS
----------- --------- ----------- ---------- ---------- ------------------- -------
PR_CURS     1928      PROCEDURE   17.11.1996 02.02.1997 1997-02-02:13:37:05 VALID
PR_PRINT    1957      PROCEDURE   24.11.1996 24.11.1996 1996-11-24:16:59:44 INVALID
PR_SHTAT    1970      PROCEDURE   02.01.1997 08.01.1997 1997-01-08:12:38:02 VALID
   При возникновении ошибок в командах CREATE PACKAGE, CREATE PACKAGE BODY,
CREATE PROCEDURE, CREATE FUNCTION, CREATE TRIGGER, CREATE VIEW их уточнение
можно выполнить с помощью команды SQL*Plus:
     SHOW ERR[ORS] [{PACKAGE | PACKAGE BODY | PROCEDURE | FUNCTION |
                     TRIGGER | VIEW} name]
            (подробности будут описаны позднее)
    13. Представления словарей данных
   После некоторых из перечисленных ниже имен в скобках расположен перечень
букв: (a,u), (d,u) или (a,d,u). Это означает, что такое имя является основой
для имен двух или трех словарей, получаемых за счет добавки префикса ALL_,
DBA_ или USER_. Например, TABLES(a,d,u) основа для имен словарей: ALL_TABLES,
DBA_TABLES и USER_TABLES. При этом префиксом USER снабжаются представления,
наиболее интересные для обычного пользователя, префиксом ALL снабжаются все
доступные пользователю представления и префиксом DBA - доступные пользователям
с системными полномочиями.
    Таблицы, представления, синонимы, последовательности
CAT                  Синоним для USER_CATALOG
CATALOG(a,d,u)       Информация о всех таблицах, представлениях, синонимах и
                       последовательностях базы данных
COL                  Список столбцов в таблицах пользователя.
COLS                 Синоним для USER_TAB_COLUMNS

                                    - 45 -
COL_COMMENTS(a,d,u)  Комментарии для столбцов таблиц и представлений
CONSTRAINTS(a,d,u)   Информация об ограничениях ссылочной целостности в БД
CONS_COLUMNS(a,d,u)  Информация о столбцах, участвующих в ограничениях
                       ссылочной целостности
SEQ                  Синоним для USER_SEQUENCES.
SEQUENCES(a,d,u)     Информация о последовательностях БД
SNAPSHOTS(a,d,u)     Информация о снимках в БД
SYN                  Синоним для USER_SYNONYMS.
SYNONYMS(a,d,u)      Информация о синонимах БД
TAB                  Таблицы пользователя
TAB_COLUMNS(a,d,u)   Информация о столбцах таблиц и представлений БД
TAB_COMMENTS(a,d,u)  Комментарии для таблиц и представлений БД
TABLES(a,d,u)        Информация о таблицах БД
TABS                 Синоним для USER_TABLES.
VIEWS(a,d,u)         Информация о представлениях БД
                Объекты
ERRORS(a,d,u)        Информация об ошибках компиляции, обнаруженных в БД для
                       процедур, функций, спецификаций пакета и тел пакета
DEPENDENCIES(a,d,u)  Информация о зависимостях объекта в БД
DEPTREE              Информация о зависимостях объекта (создается UTLDTREE.SQL)
IDEPTREE             Информация о зависимостях объекта (создается UTLDTREE.SQL)
OBJ                  Синоним для USER_OBJECTS
OBJECTS(a,d,u)       Информация об объектах базы данных
OBJECT_SIZE(d,u)     Информация о размерах процедур, функций, спецификаций
                       пакетов и тел пакетов в БД
PUBLIC_DEPENDENCY    Информация о зависимостях объекта
SOURCE(a,d,u)        Исходный код процедур, функций, спецификаций пакетов и
                       тел пакетов в БД
TRIGGERS(a,d,u)      Информация о триггерах БД
              Привилегии
COLUMN_PRIVILEGES    Информация о полномочиях для столбцов
COL_PRIVS(a,d,u)     Синоним для COLUMN_PRIVILEGES
COL_PRIVS_MADE(a,u)  Информация о полномочиях, предоставляемых для столбцов
COL_PRIVS_RECD(a,u)  Информация о полномочиях, полученных по конкретным
                       столбцам
DBA_PROFILES         Информация обо всех профилях ограничений ресурсов в БД
DBA_ROLES            Информация о ролях в БД
ROLE_PRIVS(d,u)      Информация о назначенных пользователю ролях
ROLE_ROLE_PRIVS      Информация о ролях, назначенных другим ролям
ROLE_SYS_PRIVS       Информация о системных полномочиях, предоставляемых роли
ROLE_TAB_PRIVS       Информация о полномочиях на объект, предоставляемых роли
SESSION_PRIVS        Информация о полномочиях, предоставленных сеансу
SESSION_ROLES        Информация о доступных для сеанса ролях
SYSTEM_PRIVILEGE_MAP Отображение номеров системных полномочий
SYS_PRIVS(d,u)       Предоставленные пользователю системные полномочия
TAB_PRIVS(a,d,u)     Информация о заданных на объекты полномочиях
TAB_PRIVS_MADE(a,u)  Информация о предоставленных на объекты полномочиях
TAB_PRIVS_RECD(a,u)  Информация о полученных полномочиях на объекты
TABLE_PRIVILEGES     Информация о предоставленных на объекты полномочиях
TABLE_PRIVILEGE_MAP  Отображение номеров полномочий
TS_QUOTAS(d,u)       Информация о квотах пользователя в табличных областях
USERS(a,d,u)         Информация о пользователях БД
USER_RESOURCE_LIMITS Информация о лимитах ресурсов для текущего пользователя

                                    - 46 -
   Табличные пространства, кластеры, экстенты, файлы,
CLU                  Синоним для USER_CLUSTERS
CLUSTERS(d,u)        Информация об индексированных и хешированных кластерах
                       базы данных
CLU_COLUMNS(d,u)     Отношение столбцов таблицы к ключам кластера
DBA_DATA_FILES       Информация о файлах данных
EXTENTS(d,u)         Информация об экстентах объектов в БД
FREE_SPACE(d,u)      Информация о свободных экстентах в табличной области БД
SEGMENTS(d,u)        Информация о сегментах БД
TABLESPACES(d,u)     Информация о табличных областях БД
                   Индексы
INDEXES(a,d,u)       Информация об индексах БД
IND_COLUMNS(a,d,u)   Информация об индексах, соответствующих индексам таблицы
IND                  Синоним для USER_INDEXES.
INDEX_HISTOGRAM      Статистическая информация об индексах, генерируемых
                       командой ANALYZE INDEX VALIDATE STRUCTURE
INDEX_STATS          Статистическая информация об индексах, генерируемых
                       командой ANALYZE INDEX VALIDATE STRUCTURE
      Загрузчик данных (SQL*Loader) и экспорт БД
LOADER_COL_INFO      Информация о столбцах для SQL*Loader
LOADER_CONSTRAINT_INFO Информация об ограничениях целостности для SQL*Loader
LOADER_INDCOL_INFO   Информация об индексированных столбцах для SQL*Loader
LOADER_IND_INFO      Информация об индексах для SQL*Loader
LOADER_PARAM_INFO    Информация о параметрах для SQL*Loader
LOADER-TAB_INFO      Информация о таблицах для SQL*Loader
LOADER_TRIGGER-INFO  Информация о триггерах для SQL*Loader
DBA_EXP_FILES        Описания файлов экспорта
DBA_EXP_OBJECTS      Информация об объектах, инкрементально экспортированных
                       с помощью утилиты Export
DBA_VERSION          Номер версии для последней сессии экспорта
                       установленной другим сеансом
              Блокировки
DBA_DDL_LOCKS        Информация о блокировках в результате операций DDL
DBA_DML_LOCKS        Информация о блокировках DML на сервере
DBA_LOCKS            Информация обо всех блокировках DDL и DML сервера БД
DBA_WAITERS          Информация о сеансах, ожидающих отмены блокировки,
DBMS_LOCK_ALLOCATED  Информация об определенных пользователем блокировках,
                       созданных пакетом утилит DBMS_LOCK
                 Транзакции
DBA_2PC_NEIGHBORS    Информация о входящих/исходящих подключениях для
                       незавершенных распределенных транзакций
DBA_2PC_PENDING      Информация о распределенных транзакциях, ожидающих
                       завершения
DBA_BLOCKERS         Сеансы, которые блокируют другие транзакции (см.
                       соответствующее представление DBA_WAITERS)
DBA_ROLLBACK_SEGS    Информация о сегменте отката в БД

                                    - 47 -
                   Словарь
DICT                 Синоним для DICTIONARY
DICTIONARY           Информация о таблицах и представлениях словаря данных
DICT_COLUMNS         Информация о столбцах словаря данных
ERROR_COLUMNS        Description of columns in data dictionary tables and views.
                   Другие представления
DB_LINKS(a,d,u)      Информация о связях в базе данных
DBMS_ALERT_INFO      Информация о зарегистрированных уведомлениях, созданных
                       пакетом утилит DBMS_ALERT
GLOBAL_NAME          Информация о глобальных именах БД
RESOURCE_COST        Информация о ценовых коэффициентах для системных ресурсов
SNAPSHOT_LOGS(d,u)   Информация о журналах снимков в БД
   Ревизия успешных и безуспешных обращений к объектам базы данных
ALL_DEF_AUDIT_OPTS   Информация о заданных по умолчанию параметрах отслеживания
                       объекта
AUDIT_ACTIONS        Отображение номеров действия контрольного журнала и их
                       описания
AUDIT_OBJECT(d,u)    Записи контрольного журнала для отслеживаемых объектов
                       базы данных
AUDIT_SESSION(d,u)   Записи контрольного журнала, касающиеся контрольного
                       журнала базы данных
AUDIT_STATEMENT(d,u) Записи контрольного журнала для операторов отслеживания
AUDIT_TRAIL(d,u)     Совокупность всех записей контрольного журнала
DBA_AUDIT_EXISTS     Записи контрольного журнала, созданные по команде
                       AUDIT_EXISTS
DBA_PRIV_AUDIT_OPTS  Информация о параметрах отслеживания для полномочий
DBA_STMT_AUDIT_OPTS  Информация об установленных для операторов параметрах
                       отслеживания
OBJ_AUDIT_OPTS(d,u)  Информация об установленных для объектов БД параметрах
                       отслеживания
STMT_AUDIT_OPTION_MAP  Отображение номеров действия контрольного журнала
   14. Виртуальные представления словаря данных (доступны пользователю SYS)
V$ACCESS           Информация об используемых в настоящее время объектах
V$ARCHIVE          Информация об архивированном журнале транзакций БД
V$BACKUP           Информация о состоянии архивации всех оперативно доступных
                     табличных областей БД
V$BGPROCESS        Информация о фоновых процессах сервера БД
V$CIRCUITS         Информация обо всех подключениях пользователя в конфигурации
                     мультинитевого сервера
V$DATABASE         Информация о БД из контрольного журнала БД
V$DATAFILE         Информация о файлах данных
V$DBFILE           Информация о файлах данных
V$DB_OBJECT_CACHE  Информация об объектах в кэше объектов сервера БД, включая
                     таблицы, индексы и процедуры
V$DISPATCHERS      Информация о текущих фоновых процессах диспетчера, работающих
                     в мультинитевом сервере БД
V$ENABLEDPRIVS     Информация о разрешенных полномочиях
V$FILESTAT         Информация о статистике ввода-вывода для файлов БД
V$INSTANCE         Информация о текущем состоянии сервера БД (экземпляре)
V$LATCH            Информация о внутренних блокировках на сервере БД

                                    - 48 -
V$LATCHHOLDER      Информация о сеансах, установивших на сервере БД внутренние
                     блокировки
V$LATCHNAME        Информация о внутренних блокировках на сервере БД
V$LIBRARYCACHE     Статистическая информация об управлении библиотечным кэшем
V$LICENSE          Информация о лицензионных ограничениях программного
                     обеспечения Oracle7
V$LOADCSTAT        Информация о статистике SQL*Loader, собранной при прямой
                     загрузке по маршруту
V$LOADTSTAT        Информация о статистике SQL*Loader, собранной при прямой
                     загрузке по маршруту
V$LOCK             Информация о блокировках DML на сервере БД
V$LOG              Информация о журнале транзакций сервера БД
V$LOGHIST          Информация о журнале транзакций сервера БД
V$LOG_HISTORY      Информация о журнале транзакций сервера БД
V$LOGFILE          Информация о файлах журнала транзакций сервера БД
V$NLS_PARAMETERS   Информация о текущих значениях параметра NLS
V$OPEN_CURSOR      Информация о каждом открытом курсоре сеанса БД
V$PARAMETER        Информация о каждом параметре инициализации сервера БД
V$PROCESS          Информация о текущих активных процессах
V$QUEUES           Информация об очередях мультинитевого сервера
V$RECOVERY_LOG     Информация об архивированных группах журнала транзакций,
                     необходимых для восстановления БД
V$RECOVER_FILE     Информация о файлах, необходимых для восстановления БД
V$REQDIST          Информация о состояниях, требующих восстановления файлов
                     данных
V$RESOURCE         Информация о системных ресурсах
V$ROLLNAME         Информация об оперативно доступных сегментах отката
V$ROLLSTAT         Статистическая информация обо всех оперативно доступных
                     сегментах отката
V$ROWCACHE         Статистическая информация об активности словаря данных
V$SESSION          Информация о сеансах БД
V$SESSTAT          Статистическая информация о сеансах БД
V$SESSION_WAIT       ресурсах, которых ожидает сеанс
V$SESS_IO          Информация о вводе-выводе каждого сеанса
V$SGA              Информация об области памяти SGA (System Global Area) сервера
V$SGASTAT          Статистическая информация об области памяти SGA сервера БД
V$SHARED_SERVERS   Информация о разделяемых фоновых серверах мультинитевого
                     сервера БД
V$SQLAREA          Информация о совместно используемых курсорах
V$SQLTEXT          Информация об операторах, соответствующих совместно
                     используемым курсорам
V$STATNAME         Информация для кодов статистики сеанса, выводимых в V$SESSTAT
V$SYSSTAT          Информация о системной статистике для данных V$SESSTAT
V$THREAD           Информация о нитях журнала транзакций БД
V$TIMER            Текущее системное время в сотых долях секунды
V$TRANSACTION      Информация о текущих транзакциях БД
V$TYPE_SIZE        Информация о компонентах нижнего уровня, позволяющих
                     предсказать потребность в памяти на диске
V$VERSION          Информация о версиях библиотек ядра программного обеспечения
                     сервера Oracle7
V$WAISTAT          Статистическая информация о конкуренции за блоки данных
                     между транзакциями
   15. Системные полномочия Oracle7
   Для системных полномочий с префиксами в скобках указаны доступные префиксы.
Например, следующая запись таблицы:
CLUSTER(CREATE,CREATE ANY,  Создает, изменяет и удаляет кластеры
  ALTER ANY,DROP ANY)

                                    - 49 -
дает такие системные полномочия
CREATE CLUSTER              Создает кластеры в своей схеме
CREATE ANY CLUSTER          Создает кластеры в любой схеме
ALTER ANY CLUSTER           Изменяет кластеры в любой схеме
DROP ANY CLUSTER            Удаляет кластеры из любой схемы
Системные полномочия        Описания
--------------------------- ------------------------------------------------
ANALYZE ANY                 Анализирует таблицу, индекс или кластер базы
                            данных с помощью команды ANALYZE
AUDIT ANY                   Задает для любого объекта базы данных параметры
                            отслеживания
AUDIT SYSTEM                Отслеживает системные события
CLUSTER(CREATE,CREATE ANY,  Создает, изменяет и удаляет кластеры
 ALTER ANY,DROP ANY)
DATABASE(ALTER)             Модифицирует базу данных с помощью команды
                            ALTER DATABASE
DATABASE LINK(CREATE,       Создает и изменяет связи базы данных
 CREATE PUBLIC,DROP PUBLIC)
INDEX(CREATE,CREATE ANY,    Создает, изменяет и удаляет индексы
 ALTER ANY,DROP ANY)
PRIVILEGE(GRANT ANY)        Последовательность каких-либо системных полномочий
PROCEDURE(CREATE,CREATE     Создает, перекомпилирует, удаляет и выполняет
 ANY,ALTER ANY,DROP ANY,    процедуры, функции, пакеты и их глобальные
 EXECUTE ANY)               переменные
PROFILE(CREATE,ALTER,DROP)  Создает, изменяет и удаляет профили ограничений
RESOURCE COST(ALTER)        Создает для сеанса ценовой коэффициент ресурса
ROLE(CREATE,ALTER ANY,      Создает, изменяет, удаляет и назначает роли
 DROP ANY,GRANT ANY)
ROLLBACK SEGMENT(CREATE,    Создает, изменяет и удаляет сегменты отката
 ALTER,DROP)
SESSION(CREATE,ALTER,       Создает и изменяет сеансы базы данных (RESTRICTED
 RESTRICTED)                соответствует созданию ограниченного сеанса)
SEQUENCE(CREATE,CREATE ANY, Создает, изменяет и удаляет последовательности
 ALTER ANY,DROP ANY,
 SELECT ANY)
SNAPSHOT(CREATE,CREATE ANY, Создает, изменяет и удаляет "снимки" базы данных
 ALTER ANY,DROP ANY)
SYNONYM(CREATE,CREATE ANY,  Создает и удаляет синонимы
 DROP ANY,CREATE PUBLIC,
 DROP PUBLIC)
SYSTEM (ALTER)              Изменяет параметры базы данных с помощью ALTER SYSTEM
TABLE(CREATE,CREATE ANY,    Создает, изменяет, удаляет, архивирует, блокирует,
 ALTER ANY,BACKUP ANY,DROP  комментирует таблицы и манипулирует ими
 ANY,COMMENT ANY,LOCK ANY,
 SELECT ANY,DELETE ANY,
 INSERT ANY,UPDATE ANY)
TABLESPACE(CREATE,ALTER,    Создает, расширяет, архивирует, управляет доступностью
 DROP,MANAGE,UNLIMITED)     табличных областей и удаляет их, а также использует
                            пространство табличных областей
TRUNCATE ANY                Удаляет все строки из таблицы и (необязательно)
                            всю выделенную для таблиц память на диске
TRANSACTION(FORCE,          Управляет исходом незавершенных системных
 FORCE ANY)                 транзакций
TRIGGER(CREATE,CREATE ANY,  Создает, изменяет и удаляет триггера
 ALTER ANY,DROP ANY)

Может пригодится:


Автор:
Прочитано: 5869
Рейтинг:
Оценить: 1 2 3 4 5

Комментарии: (0)

Добавить комментарий
Ваше имя*:
Ваш email:
URL Вашего сайта:
Ваш комментарий*:
Код безопастности*:

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру