СТАТЬЯ
01.02.01

ORACLE 7
Server Application Developer's Guide

РУКОВОДСТВО РАЗРАБОТЧИКА ПРИЛОЖЕНИЙ

Part Number 6695-70-1292
December 1992
ORACLE®

Cтатья была опубликована на сайте rusdoc.ru


Cooperative Server Technology for Transparent Data Sharing
ORACLE7 Server Application Developer's Guide
Part Number 6695-70-1292
December, 1992

Contributing Authors: Eric Armstrong, Steven Bobrowski, John Frazzini, Brian Linden, Maria Pratt

Contributors: Richard Allen, Lori Asher, Andre Bakker, Cynthia Closkey, Gary Hallmark, Michael Hartstein, Ken Jacobs, Sandeep Jain, Robert Jenkins, Christopher Jones, Michael Kennedy, Jonathan Klein, Robert Kooi, Juan Loaisa, William Maimone, Andrew Mendelsohn, Mark Moore, Steve Muench, Sameer Patkar, Edward Peeler, Thomas Portfolio, Tuomas Pystynen, Brian Quigley, Timothy Smith, Lawrence To, Mustafa Vahanvaty, Kevin Wharton, Joyo Wijaya, Beth Winslow

Copyright (c) 1992 Oracle Corporation. All rights reserved.
Oracle Corporation, 500 Oracle Parkway, Redwood City, CA 94065.
ORACLE, Pro*Ada, Pro*COBOL, Pro*FORTRAN, Pro*PL/I, Pro*Pascal, SQL*DBA,
SQL*Forms, SQL*Loader, Oracle*Mail, SQL*Net, SQL*Plus,
and SQL*ReportWriter are registered trademarks of Oracle Corporation.
ORACLE7, ORACLE Parallel Server, PL/SQL, and Pro*C are trademarks of Oracle Corporation.
VMS is a registered trademark of Digital Equipment Corporation.

Printed in Ireland.


ПРЕДИСЛОВИЕ

Это руководство описывает все средства сервера ORACLE7, реляционной системы управления базами данных. Оно предназначено для тех, кто разрабатывает приложения для ORACLE7. Информация в этом руководстве применима к серверу ORACLE7 в среде любой операционной системы. Здесь представлена информация как о базовом продукте (сервере ORACLE), так и о необязательных специальных расширениях (опциях), к которым относятся:

Если какая-либо глава этой книги применима лишь к конкретной опции, это четко оговаривается на первой странице такой главы.

Аудитория

Это руководство написано для тех, кто отвечает за разработку приложений для выполнения с ORACLE7. Эти разработчики приложений считаются ответственными за проектирование, реализацию и отладку приложений базы данных. Разработчики приложений базы данных должны также использовать в своей работе документацию по инструменту или языковому продукту, который они применяют для создания приложений ORACLE.

Предварительные знания

Читатели этой книги должны быть знакомы с понятиями реляционных баз данных. Они также должны быть знакомы со средой операционной системы, в которой они работают с ORACLE. Как обязательное условие, ВСЕ ЧИТАТЕЛИ ДОЛЖНЫ ОЗНАКОМИТЬСЯ С ПЕРВОЙ ГЛАВОЙ документа ORACLE7 Server Concepts Manual, "Техническое введение в сервер ORACLE". Эта глава представляет собой исчерпывающее введение в концепции и терминологию, используемые на протяжении всей этой книги. Читатели, интересующиеся инсталляцией и миграцией

Эта книга не является руководством по инсталляции или миграции; поэтому, если ваш основной интерес - это инсталляция, то вы должны обратиться к руководству по инсталляции ORACLE для вашей конкретной операционной системы, а для вопросов, касающихся переноса существующих баз данных и приложений (миграции), обратитесь к документу ORACLE7 Server Migration Guide. Читатели, интересующиеся информацией об администрировании базой данных

Помимо разработчиков приложений, опытные пользователи ORACLE и некоторые администраторы базы данных (АБД) также найдут полезные сведения в этом руководстве. Однако администраторы базы данных должны также использовать документ ORACLE7 Server Administrator's Guide, в котором приводится информация об администрировании работой системы базы данных ORACLE. Читатели, интересующиеся Trusted ORACLE. Если вы разрабатываете приложения для базы данных Trusted ORACLE, вы должны также обратиться к документу Trusted ORACLE7 Server Administrator's Guide.

Как организовано это руководство

Это руководство разбито на 12 глав и шесть приложений, как описано ниже.

Глава 1: Разработчик приложений Эта глава дает общие сведения о процессе разработки приложений.

Глава 2: Управление объектами схемы Эта глава обсуждает вопросы управления объектами, которые могут создаваться в домене конкретного пользователя (схеме), включая таблицы, обзоры, числовые последовательности и синонимы. Обсуждаются также пути улучшения производительности извлечения данных с помощью индексов и кластеров.

Глава 3: Выбор типа данных Эта глава объясняет, как подобрать корректный тип данных ORACLE. Описываются символьные строки фиксированной и переменной длины, числовые данные, даты, а также большие двоичные объекты.

Глава 4: Обработка предложений SQL и PL/SQL Эта глава объясняет, какие шаги выполняет ORACLE при обработке различных типов команд SQL и предложений PL/SQL.

Глава 5: Настройка предложений SQL Эта глава помогает вам писать предложения SQL так, чтобы они обрабатывались ORACLE наиболее эффективно. Обсуждаются такие темы, как оптимизатор, индексы, кластеры, хэширование и советы оптимизатору.

Глава 6: Поддержание целостности данных Эта глава объясняет, как применять декларативные ограничения целостности для обеспечения целостности данных в базе данных ORACLE.

Глава 7: Использование процедур и пакетов Эта глава описывает, как создавать процедуры, которые могут сохраняться в базе данных для продолжительного использования. Описывается также группирование таких процедур в пакеты.

Глава 8: Использование триггеров базы данных Эта глава описывает, как создавать и отлаживать триггеры базы данных. Включены многочисленные примеры.

Глава 9: Управление зависимостями между объектами схемы Эта глава описывает, как управлять зависимостями между связанными обзорами, процедурами, пакетами и триггерами.

Глава 10: Установление политики защиты Эта глава описывает, как выработать политику защиты, используя предоставляемые ORACLE средства защиты.

Глава 11: Проектирование распределенных приложений Эта глава описывает, как проектировать приложения, предназначенные для работы в окружении распределенной базы данных.

Глава 12: Управление снимками Эта глава описывает, как использовать снимки таблиц для дублирования данных между узлами распределенной базы данных.

Приложение A: Поставляемые пакеты Это приложение описывает пакеты, включенные в состав процедурной опции ORACLE.

Приложение B: Инструменты диагностики производительности Это приложение обсуждает следующие инструменты мониторинга производительности: средство трассировки SQL и предложение EXPLAIN PLAN.

Приложение C: SQL*Forms и ORACLE Это приложение описывает взаимодействие между SQL*Forms и ORACLE.

Приложение D: Справочник по словарю данных Это приложение описывает разнообразные обзоры словаря данных базы данных ORACLE.

Приложение E: Поддержка национальных языков Это приложение объясняет, как ORACLE может обрабатывать данные и взаимодействовать с пользователями, использующими различные языки.

Приложение F: Специфика операционной системы Это приложение приводит перечень всех мест в этом руководстве, содержащих ссылки на информацию, специфическую для операционной системы. Эта информация приводится в руководстве по инсталляции ORACLE для вашей операционной системы.


Как использовать это руководство Каждый читатель этой книги ДОЛЖЕН прочитать главу 1 документа ORACLE7 Server Concepts Manual, "Техническое введение в сервер ORACLE". Это краткий обзор концепций и терминов ORACLE предоставляет основу для понимания всего содержания данного руководства.

Глава 1 настоящей книги, "Разработчик приложений", дает общие сведения о процессе разработки приложений. Остальные главы описывают различные средства и возможности, предоставляемые ORACLE для разработки приложений.

Соглашения, используемые в этом руководстве

Специальные обозначения

[!] Восклицательный знак в квадратных скобках, появляющийся на полях текста, предупреждает вас о действиях, которые могут быть особо разрушительными или фатальными для вашей системы.

Связанные публикации

Этот документ - лишь одна из многих книг, объясняющих различные компоненты СУБД ORACLE. В разделах и секциях этого руководства вы также найдете множество ссылок на важную информацию, содержающуюся в других публикациях Oracle. Чтобы привлечь ваше внимание, иногда эти ссылки сопровождаются условным обозначением адресуемого документа в квадратных скобках, либо на полях, либо рядом с названием документа. Ниже приведен список этих документов и их соответствующие обозначения.

Символ Название Part No.


Ваши комментарии приветствуются. Сотрудники корпорации Oracle ценят ваши комментарии. При написании и пересмотре документации ваши мнения - это самая важная обратная связь, которую мы получаем. Используйте форму читательских комментариев, приведенную в конце этой книги, чтобы сообщить нам, что вам понравилось и что не понравилось в этой публикации Oracle. Если хотите, звоните нам по номеру (415)506-7000, или пишите нам по адресу:

ORACLE7 Server Documentation Manager

Oracle Corporation

500 Oracle Parkway

Redwood Shores, CA 94065

FAX: (415)506-7200

СОДЕРЖАНИЕ


ГЛАВА 1. РАЗРАБОТЧИК ПРИЛОЖЕНИЙ

ГЛАВА 2. УПРАВЛЕНИЕ ОБЪЕКТАМИ СХЕМЫ

ГЛАВА 3: ВЫБОР ТИПА ДАННЫХ

ГЛАВА 4: ОБРАБОТКА ПРЕДЛОЖЕНИЙ SQL И PL/SQL

ГЛАВА 5: НАСТРОЙКА ПРЕДЛОЖЕНИЙ SQL

ГЛАВА 6: ПОДДЕРЖАНИЕ ЦЕЛОСТНОСТИ ДАННЫХ

ГЛАВА 7: ИСПОЛЬЗОВАНИЕ ПРОЦЕДУР И ПАКЕТОВ

Создание процедур и пакетов
  • Предварительные условия
  • Общие рекомендации по созданию процедур и пакетов
  • Создание независимых процедур и функций
  • Создание пакетов
  • Переменные, константы и курсоры в процедурах и пакетах
  • Код автоматического первоначального исполнения
  • Именование процедур, функций и пакетов
  • Недействительность пакетов и состояние пакета в сессии
  • Допустимые предложения и ограничения для процедур и пакетов
  • Привилегии, требуемые для создания процедур и пакетов
  • Обработка ошибок
  • Объявление исключений и программы обработки исключений
  • Идентификация ошибок компиляции для процедур и пакетов
  • Отладка процедур и пакетов
  • Создание пакета DBMS_OUTPUT
  • Включение отладочной информации
  • Пример применения DBMS_OUTPUT
  • Вызов процедур
  • Вызов процедуры из другой процедуры или триггера
  • Интерактивный вызов процедур из инструментов ORACLE
  • Явный вызов процедур в приложениях
  • Разрешение имен при вызове процедур
  • Привилегии, требуемые для исполнения процедуры
  • Специфицирование значений для аргументов процедуры
  • Вызов удаленных процедур
  • Обращения к удаленным объектам
  • Синонимы для процедур и пакетов
  •  
  • Замена процедур и пакетов
  • Удаление независимых процедур и пакетов
  • Привилегии, требуемые для удаления процедур и пакетов
  • Вопросы зависимостей
  • Вывод информации о процедурах и пакетах
  • Пример 2: Вывод исходного кода процедуры
  • Пример 3: Вывод информации о размере процедуры
  • ГЛАВА 8: ИСПОЛЬЗОВАНИЕ ТРИГГЕРОВ БАЗЫ ДАННЫХ

    Проектирование триггеров
    Создание триггеров
  • Опция REFERENCING
  • Условные предикаты
  • Условия ошибок и исключения в теле триггера
  • Ограничения на создание триггеров
  • Привилегии, требуемые для создания триггеров
  • Привилегии для объектов схем, адресуемых в теле триггера
  • Отладка триггеров
  • Изменение триггеров
  • Удаление триггеров
  • Включение и выключение триггеров
  • Вывод информации о триггерах
    Примеры применения триггеров
  • Реализация комплексных ограничений контроля
  • ГЛАВА 9: УПРАВЛЕНИЕ ЗАВИСИМОСТЯМИ МЕЖДУ ОБЪЕКТАМИ СХЕМ

    1. Вопросы зависимостей.
    2. Устранение перекомпиляции во время выполнения.
    3. Ручная перекомпиляция недействительных обзоров, процедур, пакетов и триггеров.
    4. Ручная перекомпиляция обзоров.
    5. Привилегии, требуемые для ручной перекомпиляции обзоров.
    6. Ручная перекомпиляция процедур и функций
    7. Ручная перекомпиляция пакетов.
    8. Привилегии, требуемые для ручной перекомпиляции процедур или пакетов.
    9. Ручная перекомпиляция триггеров
    10. Привилегии, требуемые для ручной перекомпиляции триггеров
    11. Вывод информации управления зависимостями.
    12. Утилита отслеживания зависимостей.
    13. Использование UTLDTREE в режиме INTERNAL.

    ГЛАВА 10: УСТАНОВЛЕНИЕ ПОЛИТИКИ ЗАЩИТЫ

    1. Политика защиты приложений.
    2. Администраторы приложений
    3. Роли и управление привилегиями приложений.
    4. Включение ролей приложений.
    5. Защита ролей приложений от пользователей разовых запросов
    6. Схемы.
    7. Управление привилегиями и ролями.
    8. Создание роли
    9. Привилегии, требуемые для создания ролей.
    10. Включение и выключение ролей
    11. Когда включать роли.
    12. Умалчиваемые роли
    13. Явное включение ролей.
    14. Привилегии, требуемые для явного включения ролей
    15. Включение и выключение ролей в режиме OS_ROLES = TRUE
    16. Удаление ролей.
    17. Привилегии, требуемые для удаления ролей.
    18. Назначение и отзыв привилегий и ролей
    19. Назначение системных привилегий и ролей.
    20. Назначение объектных привилегий.
    21. Отзыв системных привилегий и ролей.
    22. Отзыв объектных привилегий
    23. Каскадные эффекты отзыва привилегий
    24. Назначение и отзыв привилегий и ролей для группы PUBLIC.
    25. Когда имеют эффект назначения и отзывы?.

    ГЛАВА 11: ПРОЕКТИРОВАНИЕ РАСПРЕДЕЛЕННЫХ ПРИЛОЖЕНИЙ

    1. Выбор местоположения данных
    2. Использование снимков для дублирования таблиц на удаленных узлах.
    3. Именование объектов.
    4. Управление соединениями, устанавливаемыми через связи баз данных
    5. Последовательности в распределенных транзакциях.
    6. Ссылочная целостность в распределенной базе данных.
    7. Распределенные запросы.
    8. Обработка ошибок в удаленных процедурах
    9. Разрешение проблем распределенных транзакций.
    10. Сбои, прерывающие двухфазное подтверждение.
    11. Сбои, препятствующие доступу к данным

    ГЛАВА 12: УПРАВЛЕНИЕ СНИМКАМИ

    1. Когда использовать снимки.
    2. Создание снимков.
    3. Именование снимков.
    4. Спецификация определяющего запроса снимка.
    5. Создание кластеризованного снимка.
    6. Привилегии, требуемые для создания снимков.
    7. Сложные снимки против локальных обзоров.
    8. Создание журнала снимков для простых снимков.
    9. Именование журналов снимков.
    10. Привилегии, требуемые для создания журналов снимков.
    11. Порядок создания простого снимка и журнала снимков.
    12. Использование снимков
    13. Создание обзоров и синонимов по снимкам.
    14. Привилегии, требуемые для использования снимка
    15. Индексирование снимков.
    16. Удаление снимков.
    17. Привилегии, требуемые для удаления снимков.
    18. Удаление журналов снимков.
    19. Привилегии, требуемые для удаления журнала снимков.
    20. Альтернативы снимкам таблиц
    21. Выбор метода дублирования таблицы.
    22. Синхронное и асинхронное дублирование.
    23. Эффективность триггеров и сетевые отказы.
    24. Различия в производительности
    25. Декларативное определение против процедурного.
    26. Альтернативы снимкам.
    27. Дублирование таблиц с помощью триггеров.
    28. Ручное копирование таблиц между узлами
    29. распределенной базы данных.

    Продолжение статьи

    Дополнительную информацию Вы можете получить в компании Interface Ltd.

    Отправить ссылку на страницу по e-mail
    Обсудить на форуме Oracle


    Interface Ltd.
    Тel/Fax: +7(095) 105-0049 (многоканальный)
    Отправить E-Mail
    http://www.interface.ru
    Ваши замечания и предложения отправляйте автору
    По техническим вопросам обращайтесь к вебмастеру
    Документ опубликован: 01.02.01