Разработка базы данных в среде Oracle

Автор работы: Пользователь скрыл имя, 16 Апреля 2013 в 15:17, курсовая работа

Краткое описание

Цель данной работы заключилась в ознакомлении и изучении основных понятий о базах данных, реляциционной модели данных, также изучение среды разработки базы данных Oracle Database.
Задачи:
Ознакомиться особенности и возможностями СУБД;
Изучить основные понятия реляционной модели данных;
Ознакомитьтся с языком запросов SQL;
Изучить среду разработки Oracle;
Рассмотреть особенности Oracle;
Разработать базу данных в Oracle.

Прикрепленные файлы: 1 файл

курсовик.doc

— 1.99 Мб (Скачать документ)

Глобальная область системы (SGA) - это область разделяемой памяти, распределяемая ORACLE, которая содержит данные и управляющую информацию для одной инстанции ORACLE. Область SGA и фоновые процессы ORACLE составляют инстанцию ORACLE. SGA распределяется при запуске инстанции и освобождается при закрытии инстанции. Каждая запускающаяся инстанция имеет свою собственную область SGA. Данные в SGA разделяются (т.е. совместно используются) всеми пользователями, присоединенными к базе данных. Для оптимальной производительности SGA должна быть максимально большой (пока позволяет реальная память), чтобы держать как можно больше данных в памяти и минимизировать дисковые операции. Информация, хранящаяся в SGA, подразделяется на несколько типов структур памяти, включая буферы базы данных, буферы журнала повторения и разделяемый пул. Эти области имеют фиксированные размеры и создаются при запуске инстанции. Буферный кэш базы данных в SGA хранит наиболее недавно использовавшиеся блоки данных из базы данных; его составляет все множество буферов базы данных в инстанции. Эти буферы могут содержать модифицированные данные, которые еще не записаны на диск для постоянного хранения. Поскольку последние использовавшиеся (в том числе и наиболее часто использующиеся) данные поддерживаются в памяти, требуется меньше дисковых операций, и производительность увеличивается. Буфер журнала повторения в SGA хранит записи повторения - журнал изменений, осуществленных в базе данных. Записи повторения, хранящиеся в буферах журнала повторения, записываются в онлайновый файл журнала, который используется при необходимости восстановления базы данных. Его размер статичен. Разделяемый пул - это часть SGA, содержащая конструкты разделяемой памяти, такие как разделяемые области SQL. Разделяемая область SQL требуется для обработки каждого уникального предложения SQL, выданного базе данных. Разделяемая область SGA содержит такую информацию, как дерево разбора и план исполнения для соответствующего предложения. Единственная разделяемая область SGA используется всеми приложениями, которые выдают то же самое предложение. Это позволяет оставлять больше разделяемой памяти для других целей.

Курсор - это описатель (имя или указатель) области памяти, ассоциированной с конкретным предложением. Хотя большинство пользователей ORACLE полагаются на автоматическую обработку курсоров, обеспечиваемую утилитами ORACLE, программные интерфейсы предлагают разработчикам приложений большую степень контроля над курсорами. Например, при разработке приложений предкомпиляторов курсор является именованным ресурсом, доступным программе, и может специально использоваться для разбора предложений SQL, встроенных в приложение. Разработчик может написать приложение так, чтобы оно контролировало фазы исполнения предложения SQL и за счет этого повышало свою производительность.

Глобальная область программы (PGA) - это буфер памяти, содержащий данные и управляющую информацию для процесса сервера. PGA создается ORACLE при запуске процесса сервера. Информация в области PGA зависит от конфигурации ORACLE.

Каждая база данных ORACLE имеет один или более физических файлов данных. Эти файлы содержат все данные базы данных. Данные логических структур базы данных, таких как таблицы и индексы, физически хранятся в файлах данных, распределенных для базы данных. Файл данных может быть ассоциирован лишь с одной базой данных. Однажды созданный файл данных не может изменить свой размер. Один или несколько файлов данных формируют логическую единицу пространства базы данных, называемую табличным пространством. Данные в файле данных считываются по мере необходимости во время нормальной работы базы данных, и размещаются в Кэш памяти ORACLE. Модифицированные или новые данные необязательно записываются в файл данных немедленно. Чтобы уменьшить объем дисковых операций и увеличить производительность, данные накапливаются в памяти, и записываются в соответствующие файлы данных одномоментно, как определяется фоновым процессом ORACLE, называемым DBWR.

Каждая база данных ORACLE имеет набор из двух или более файлов журнала повторения работы. Комплект файлов журнала повторения работы для одной базы данных совместно называетсяжурналом повторения (redo log). Основная функция журнала повторения - регистрация всех изменений, осуществляемых в данных. Все изменения, выполняемые в базе данных, записываются в журнал повторения. Если в результате сбоя модифицированные данные не удастся постоянно записать в файлы данных, эти изменения можно получить из журнала повторения, так что работа никогда не теряется. Файлы журнала повторения критичны в вопросе защиты базы данных от сбоев. Чтобы защититься от таких сбоев, которые затрагивают сам журнал повторения, ORACLE допускает зеркальный журнал повторения, так что две или более копий журнала повторения можно поддерживать одновременно на разных дисках. Информация в файле журнала повторения используется только для восстановления базы данных после сбоя системы или носителя, в результате которого данные базы данных не могут быть записаны в файлы данных. Например, когда неожиданное отключение питания резко прерывает работу базы данных, данные в памяти не могут быть записаны в файлы данных. Однако все потерянные данные могут быть восстановлены при последующем открытии базы данных после устранения неисправности в питании. ORACLE автоматически применяет к файлам базы данных все изменения, зарегистрированные в самых последних файлах журнала повторения, и восстанавливает базу данных в состояние на момент сбоя. Процесс применения журнала повторения в процессе операции восстановления базы данных называетсяпрокруткой вперед.

Каждая база данных ORACLE имеетуправляющий файл, в котором записывается физическая структура базы данных. В частности, этот файл содержит следующую информацию: имя базы данных, имена и местоположения файлов данных и файлов журнала повторения этой базы данных, отметку времени создания базы данных. Как и для журнала повторения, ORACLE позволяет поддерживать зеркальные управляющие файлы с целью защиты управляющей информации. При каждом запуске инстанции базы данных ORACLE ее управляющий файл используется для того, чтобы идентифицировать базу данных и файлы журнала повторения, которые должны быть открыты для продолжения работы базы данных. Когда физический состав базы данных изменяется (например, создается новый файл данных или файл журнала), ORACLE автоматически модифицирует управляющий файл, чтобы отразить это изменение. Управляющий файл базы данных используется также в тех случаях, когда требуется восстановление базы данных.

Каждая база данных ORACLE имеетсловарь данных. Он представляет собой набор таблиц и обзоров, используемых, как только читаемое представление базы данных. Например, в словаре данных хранится информация о логической и физической структуре базы данных. Помимо этой важной информации, словарь данных хранит также следующую информацию: о действительных пользователях базы данных ORACLE, об ограничениях целостности, определенных для таблиц базы данных, о том, сколько пространства распределено для каждого объекта схемы, и сколько из него используется. Словарь данных создается при создании самой базы данных. Чтобы точно отражать состояние базы данных в любой момент, словарь данных автоматически обновляется ORACLE в ответ на специальные действия (такие как изменение структуры базы данных). Словарь данных критичен для работоспособности базы данных, ибо на нем основывается регистрация, верификация и управление текущей работой. Например, во время операций с базой данных ORACLE обращается к словарю данных для проверки того, что объекты схем существуют и что пользователи имеют к ним соответствующие права доступа.

Процесс - это "канал управления", механизм в операционной системе, который исполняет последовательность шагов. Некоторые операционные системы используют термины «задание» или «задача». Процесс обычно имеет собственную область личной памяти, в которой он работает. СУБД ORACLE имеет два общих типа процессов: пользовательские процессы и процессы ORACLE. Пользовательский процесссоздается и поддерживается для исполнения программного кода прикладной программы (такой как программа Pro*C) или инструмента ORACLE (такого как SQL*DBA). Пользовательский процесс также управляет взаимодействием с процессами сервера.

Процессы ORACLE вызываются другими процессами для того, чтобы выполнять функции от имени вызывающего процесса.

ORACLE создает процессы сервера, чтобы обрабатывать запросы от присоединенных пользовательских процессов. Процесс сервера (механизмы выполнения программного кода) отвечает за связь с пользовательским процессом и за взаимодействие с ORACLE для выполнения запросов ассоциированного пользовательского процесса. Например, если пользователь запрашивает данные, которых еще нет в буферах базы данных в SGA, то ассоциированный процесс сервера считывает соответствующие блоки данных из файлов данных в SGA. ORACLE можно конфигурировать на различное число пользовательских процессов, на один процесс сервера. В конфигурации выделенного сервера каждый процесс сервера обрабатывает запросы для одного пользовательского процесса. Конфигурация многоканального сервера позволяет многим пользовательским процессам совместно использовать небольшое число процессов сервера, минимизируя количество процессов сервера и максимизируя утилизацию доступных системных ресурсов.В некоторых системах пользовательский и серверный процессы разделены, тогда как в других системах они объединены в единый процесс. Если система конфигурирована на многоканальный сервер, или если пользовательские и серверные процессы работают на разных машинах, то пользовательский процесс и процесс сервера должны быть раздельными.

ORACLE создает множество фоновых процессов для каждой инстанции. В фоновых процессах сосредоточены те функции, которые иначе пришлось бы выполнять множеством программ ORACLE, запускаемых для каждого пользовательского процесса. Фоновые процессы асинхронно выполняют операции ввода-вывода и отслеживают другие процессы ORACLE, обеспечивая лучший параллелизм и улучшая производительность и надежность. Область SGA и фоновые процессы ORACLE в совокупности составляют инстанцию ORACLE (конкретная реализация системы). Каждая инстанция ORACLE может использовать несколько фоновых процессов. 

2.3 Семейства программных продуктов

Сегодня Oracle предлагает потребителям три основных семейства программных продуктов:

  1. системы управления базами данных Oracle Database 10g;
  2. комплекс связующего программного обеспечения Oracle Fusion Middleware;
  3. семейство полнофункциональных бизнес-приложений Oracle Applications.

Oracle Database 10g - первая СУБД, ориентированная на технологии сетевых вычислений Grid Computing, - позволяет сократить ИТ-расходы благодаря автоматизации управления, использованию недорогих модульных компонентов и кластеризации серверов в целях эффективного использования ресурсов. Используя СУБД Oracle Database 10g, клиенты корпорации смогут повысить способность ИТ-систем гибко реагировать на изменяющиеся потребности бизнеса. Архитектура Oracle Database 10g рассчитана на работу с огромными объемами данных и обширными коллективами пользователей. Она демонстрирует непревзойденные возможности обеспечения высокой готовности, производительности, масштабируемости, безопасности и самоуправляемости. Эта СУБД может быть эффективно развернута на любой платформе, начиная от небольших blade-серверов и заканчивая крупнейшими симметричными многопроцессорными серверами и многоузловыми кластерами любых размеров. Уникальная способность Oracle Database 10g работать со всеми типами данных - от традиционной бизнес-информации до XML-документов и геоинформационных данных позволяет рассматривать эту СУБД в качестве идеального выбора для работы с приложениями онлайновой обработки транзакций, поддержки принятия решений и управления контентом.

Oracle Fusion Middleware объединяет передовые, основанные на стандартах, проверенные программные продукты в единый, всеобъемлющий, тесно интегрированный набор инфраструктурного программного обеспечения. Используя Oracle Fusion Middleware, организации могут получать большую отдачу от своих инвестиций и связующего программного обеспечения. В состав этого семейства продуктов входят: сервер приложений Oracle Application Server 10g, связанные с ним продукты и опции, концентраторы данных Oracle Data Hubs и пакет для коллективной обработки Oracle Collaboration Suite. Это семейство продуктов, полностью основанное на стандартах, сочетает экономическую эффективность с технологическим совершенством, обеспечивая полную поддержку разработки, развертывания и администрирования сервисно ориентированных архитектур. Oracle Fusion Middleware помогает предприятиям достичь уникальной производительности и эффективности за счет:

  • рационализации и оптимизации бизнес-процессов и деятельности ИТ-подразделений;
  • повышения точности и своевременности принимаемых решений;
  • обеспечения защиты информации и соблюдения законодательных требований по полноте и безопасности данных предприятия, что сводит к минимуму вероятность сбоев бизнеса.

Oracle Applications - это семейство полнофункциональных систем для эффективного управления всеми аспектами деятельности компании, среди которых управление финансами, производством, кадрами, закупками, логистикой, маркетингом, продажами, обслуживанием, отношениями с поставщиками и клиентами. Бизнес-приложения Oracle призваны обеспечить глубокое понимание бизнеса и повышение качества управления предприятием. Семейство Oracle Applications сегодня охватывает как горизонтальные приложения, такие как Oracle E-Business Suite, Oracle JD Edwards Enterprise One, так и вертикальные отраслевые, например, комплекс Oracle Retail, вобравший в себя лучшие мировые практики и передовые решения для управления торгово-розничными компаниями любого масштаба. 

2.4 Oracle 8i

Задачи, связанные с обработкой большого количества транзакций в реальном времени или с доступом к большим хранилищам данных, неизменно приводят к высокой конкуренции пользователей за обладание ресурсами. Поэтому решение проблемы управления доступом пользователей к ресурсам может существенно повысить эффективность работы системы. Oracle 8i предоставляет возможности управления выделением пользователю системных ресурсов и назначением приоритета пользователям - им может быть присвоен класс ресурсов, а затем каждому классу назначен соответствующий процент ресурсов системы.

В Oracle 8i была введена технология секционирования (partitioning), которая позволяет загружать большие таблицы и индексы по частям, а не как единое целое, и дает существенный выигрыш в производительности СУБД. Причина выигрыша заключается в том, что при выполнении запроса к базе данных оптимизатор исключает из области поиска разделы, которые не содержат данных, относящихся к запросу. Наряду с ранговым секционированием, использовавшимся ранее, в Oracle 8i представлены два других механизма секционирования - композитное и хэш-секционирование, что дает возможность администратору выбрать метод секционирования с целью повышения эффективности работы конкретной системы. Хэш-секционирование предоставляет простой способ разделения данных на контейнеры одинакового размера, которые распределяются по разным устройствам ввода/вывода и даже по разным машинам. Производительность запроса в этом случае повышается за счет распределения операций ввода/вывода по разным устройствам. При этом улучшается производительность как обычных, так и параллельных запросов. Композитное секционирование объединяет преимущества рангового и хэш-секционирования - первоначально данные секционируются по рангу значения, а затем администратор определяет количество хэш-подразделов. При этом гарантируется полная поддержка локальных индексов и синтаксиса SQL, как при работе с обычными (несекционированными) таблицами.

Информация о работе Разработка базы данных в среде Oracle