Помощь в учёбе, очень быстро...
Работаем вместе до победы

Система управления базами данных Oracle

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Процесс записи блоков базы данных (Database Block Writer DBWn) — фоновый процесс, отвечающий за запись измененных блоков на диск. Процесс DBWn записывает измененные блоки из буферного кеша, чтобы освободить пространство в кеше (чтобы освободить буферы для чтения других данных) или в ходе обработки контрольной точки (чтобы перенести вперед позицию в оперативном файле журнала повторного выполнения… Читать ещё >

Содержание

  • Введение
  • 1. Архитектура СУБД Oracle
    • 1. 1. Термины база данных и экземпляр
    • 1. 2. Файлы и структура памяти
    • 1. 3. Физические процессы
  • Выводы по главе 1
  • 2. Стратегии и средства настройки
    • 2. 1. SQL_TRACE, TIMED_STATISTICS и TKPROF
    • 2. 2. Средства контроля и отладки
    • 2. 3. Набор утилит StatsPack
  • Выводы по главе 2
  • Заключение
  • Список литературы

Важнейшая задача компьютерных систем управления — хранение и обработка данных. Для ее решения было создано специализированное программное обеспечение — системы управления базами данных (СУБД), которые позволяют структурировать, систематизировать и организовывать данные для их компьютерного хранения и обработки. Невозможно представить себе деятельность современного предприятия или учреждения без использования профессиональных СУБД. Они составляют фундамент информационной деятельности во всех сферах — начиная с производства и заканчивая финансами и телекоммуникациями.

Качество работы складывается как из аппаратного уровня, так и из программного уровня оснащения.

Наиболее эффективными на сегодняшний день являются реляционные БД. Самой популярной в мировом масштабе является система управления реляционными БД (СУБД) — Oracle, которая предназначена для одновременного доступа к большим объемам хранимой информации. Ее используют крупные предприятия, занимающиеся информационными технологиями.

СУБД складывается из двух составляющих: БД (информация) и экземпляр или инстанция (конкретная реализация системы). База данных состоит из физических файлов, хранящихся в системе, и из логических частей.

Цель исследования получение теоретических и практических знаний по СУБД Oracle.

Объект исследования система управления базами данных Oracle.

Предмет исследования процесс разработки баз данных в СУБД Oracle.

Реализация заявленной цели потребовала постановки и решения следующих задач:

1. изучение архитектуры системы управления базами данных;

2. изучение различий физической архитектуры Oracle в зависимости от операционной системе;

3. использование подходов и средств, используемых при настройке;

4. изучение возможностей пакета StatsPack для настройки экземпляра.

Основу гипотезы исследования составил ряд предположений о путях разработки успешных

приложений для Oracle.

При исследовании использовались следующие методы:

1. изучение и анализ научной литературы;

2. изучение и обобщение отечественной и зарубежной практики;

3. моделирование,

4. сравнение,

5. анализ

6. синтез.

Методологическая и теоретическая основа исследования труды отечественных и зарубежных авторов по изучению СУБД Oracle. В том числе использовалась книга Тома Кайта Oracle для профессионалов. Автор книги многие годы является сотрудником корпорации Oracle и занимается созданием

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

приложений для этой СУБД и ее успешную эксплуатацию.

Надежность и достоверность результатов обусловлена результативностью экспериментальных данных их взаимопроверкой, подтвердивших правильность выдвинутой гипотезы.

Практическая значимость исследования:

1. разработано практическое руководство по компонентам СУБД,

2. методические рекомендации по стратегиям и средствам настройки, учитывающее все возможные ошибки, которые могут произойти на этапе создания базы данных.

Информационная база исследования:

1. Печатные и электронные, деловые и специализированные издания.

2. Ресурсы сети Интернет.

3. Материалы компаний.

4. Аналитические обзорные статьи в прессе.

5.Экспертные оценки.

6. Интервью с разработчиками.

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

глава IIосвящена изучению компонентов СУБД. Вторая стратегии и средствам настройки. Общий объем работы 43 листа.

1 Архитектура СУБД Oracle

1.1 Термины база данных и экземляр

Два термина в контексте Oracle вызывают большую путаницу. Речь идет о терминах база данных и экземпляр. В соответствии с принятой в Oracle терминологией, эти понятия определяются так: база данных — набор физических файлов операционной системы; экземпляр набор процессов Oracle и область SGA .

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

Стало еще непонятнее? Вот ряд примеров, которые помогут прояснить ситуацию Экземпляр это набор процессов операционной системы и используемая ими память. Все эти процессы могут работать с базой данных, которая представляет собой просто набор файлов (файлов данных, временных файлов, файлов журнала повторного выполнения, управляющих файлов). В каждый момент времени с экземпляром связан только один набор файлов. В большинстве случаев обратное утверждение тоже верно; с базой данных работает только один экземпляр. В случае же использования параллельного сервера Oracle (Oracle Рагаllel Server OPS), опции Oracle, позволяющей серверу функционировать на нескольких компьютерах в кластерной среде, одна и та же база данных может быть одновременно смонтирована и открыта несколькими экземплярами. Это делает возможным доступ к базе данных одновременно с нескольких компьютеров. Oracle Parallel Server позволяет создавать системы с высокой доступностью данных и, при условии правильной реализации, очень масштабируемые.

Итак, в большинстве случаев между базой данных и экземпляром имеется отношение один к одному. Это, вероятно, и является причиной путаницы при использовании этих терминов. По опыту большинства пользователей, база данных — это экземпляр, а экземпляр — это база данных.

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

Итак, теперь под термином экземпляр мы будем понимать процессы и память сервера Oracle. Термин база данных означает физические файлы, в которых находятся данные. База данных может быть доступна многим экземплярам, но экземпляр в каждый момент времени обеспечивает доступ только к одной базе данных.

1.2 Файлы

В состав базы данных и экземпляра входит шесть типов файлов. С экземпляром связаны файлы параметров. По этим файлам экземпляр при запуске определяет свои характеристики, например размер структур в памяти и местонахождение управляющих файлов.

Базу данных образуют следующие файлы.

— Файлы данных. Собственно данные (в этих файлах хранятся таблицы, индексы и все остальные сегменты).

— Файлы журнала повторного выполнения. Журналы транзакций.

— Управляющие файлы. Определяют местонахождение файлов данных и содержат другую необходимую информацию о состоянии базы данных.

— Временные файлы. Используются при сортировке больших объемов данных и для хранения временных объектов.

— Файлы паролей. Используются для аутентификации пользователей, выполняющих администрирование удаленно, по сети. Мы не будем их подробно рассматривать .

Наиболее важны первые два типа файлов, поскольку именно в них хранятся накопленные данные. В случае потери остальных файлов хранящиеся данные не пострадают. Если будут потеряны файлы журнала повторного выполнения, некоторые данные могут быть потеряны. Если же будут потеряны файлы данных и все их резервные копии, данные, безусловно, будут потеряны навсегда.

Теперь давайте детально рассмотрим все типы файлов и их содержимое.

С базой данных Oracle связано много файлов параметров: от файла TNSNAMES на клиентской рабочей станции (используемого для поиска сервера) и файла LISTENER. ORA на сервере (для запуска процесса прослушивания Net8) до файлов SQLNET. ORA, PROTOCOL. ORA, NAMES. ORA, CMAN. ORA и LDAP.ORA. Наиболее важным является файл параметров инициализации экземпляра, потому что без него не удастся запустить экземпляр. Остальные файлы тоже важны; они связаны с поддержкой сети и обеспчением подключения к базе данных.

Файл параметров инициализации экземпляра обычно называют файлом init или файлом init.ora. Это название происходит от стандартного имени этого файла, — init.ora. Например, экземпляр со значением SID, равным tkyte816, обычно имеет файл инициализации inittkyte816.ora. Без файла параметров инициализации нельзя запустить экземпляр Oracle. Поэтому файл этот достаточно важен.

В Oracle файл init. ora имеет очень простую конструкцию. Он представляет собой набор пар имя параметра/значение. Файл init. ora может иметь такой вид:

db_name = tkyte816

control_files = (C:oradatacontrol01.ctl, C: oradatacontrol02. ctl)

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

Файлы данных вместе с файлами журнала повторного выполнения являются наиболее важными в базе данных. Именно в них хранятся все данные. В каждой базе данных есть хотя бы один файл данных, но обычно их намного больше. Только самые простые, тестовые базы данных имеют один файл данных. В любой реальной базе данных должно быть минимум два файла данных: один — для системных данных (табличное пространство SYSTEM), другой — для пользовательских (табличное пространство USER).

Каждый объект, занимающий место на диске, хранится в одном сегменте. Сегменты это области на диске, выделяемые под объекты таблицы, индексы, сегменты отката и т. д. При создании таблицы создается сегмент таблицы. Каждый объект, занимающий место на диске, хранится в одном сегменте.

Система управления базами данных Oracle (реферат, курсовая, диплом, контрольная)

Процесс СКРТ просто содействует обработке контрольной точки, обновляя заголовки файлов данных. Раньше процесс СКРТ был необязательным, но, начиная с версии 8.0, он запускается всегда, так что он представлен в результатах выполнения команды ps в ОС UNIX. Ранее заголовки файлов данных обновлялись в соответствии с информацией о контрольной точке процессом записи журнала LGWR (Log Writer). Однако с ростом размеров баз данных и увеличением количества файлов это стало невыполнимой задачей для процесса LGWR. Если процессу LGWR надо обновлять десятки, сотни, а то и тысячи файлов, увеличивается вероятность того, что ожидающие фиксации транзакций сеансы будут ждать слишком долго. Процесс СКРТ снимает эту задачу с процесса LGWR.

Процесс записи блоков базы данных (Database Block Writer DBWn) — фоновый процесс, отвечающий за запись измененных блоков на диск. Процесс DBWn записывает измененные блоки из буферного кеша, чтобы освободить пространство в кеше (чтобы освободить буферы для чтения других данных) или в ходе обработки контрольной точки (чтобы перенести вперед позицию в оперативном файле журнала повторного выполнения, с которой сервер Oracle начнет чтение при восстановлении экземпляра после сбоя).

Процесс LGWR отвечает за сброс на диск содержимого буфера журнала повторного выполнения, находящегося в области SGA. Он делает это:

— раз в три секунды;

— при фиксации транзакции;

— при заполнении буфера журнала повторного выполнения на треть или при записи в него 1 Мбайта данных.

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

Задача процесса ARCn копировать в ругое место оперативный файл журнала повторного выполнения, когда он заполняется процессом LGWR. Эти архивные файлы журнала повторного выполнения затем можно использовать для восстановления носителя. Тогда как оперативный журнал повторного выполнения используется для исправления файлов данных в случае сбоя питания (когда прекращается работа экземпляра), архивные журналы повторного выполнения используются для восстановления файлов данных в случае сбоя диска.

ВSР-процесс используется исключительно в среде Oracle Рагаllel Server (OPS). OPS конфигурация Oracle, при которой несколько экземпляров монтируют и открывают одну и ту же базу данных. Каждый экземпляр Oracle в этом случае работает на своей машине в кластере, и все они имеют доступ для чтения и записи к одному и тому же набору файлов базы данных.

При этом буферные кеши в SGA экземпляров должны поддерживаться в согласованном состоянии. Для этого и предназначен процесс BSP. В ранних версиях OPS согласование достигалось с помощью выгрузки блока из кеша ('ping'). Если машине в кластере требовалось согласованное по чтению представление блока данных, заблокированного в исключительном режиме другой машиной, выполнялся обмен данными с помощью сброса на диск. В результате получалась очень дорогостоящая операция чтения данных. Сейчас, при наличии процесса BSP, обмен происходит из кеша в кеш через высокоскоростное соединение машин в кластере.

LMON-процесс используется исключительно в среде OPS. Процесс LMON контролирует все экземпляры кластера для выявления сбоя экземпляра. Затем он вместе с диспетчером распределенных блокировок (Distibuted Lоск Manager DLM), используемым аппаратным обеспечением кластера, восстанавливает глобальные блокировки, которые удерживаются сбойным экземпляром.

LMD-процесс используется исключительно в среде OPS. Процесс LMD управляет глобальными блокировками и глобальными ресурсами для буферного кеша в кластерной среде. Другие экземпляры посылают локальному процессу LMD запросы с требованием снять блокировку или определить, кто ее установил. Процесс LMD также выявляет и снимает глобальные взаимные блокировки.

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

Служебные фоновые процессы необязательны они запускаются в случае необходимости. Они реализуют средства, необязательные для штатного функционирования базы данных. Использование этих средств инициируется явно или косвенно, при использовании возможности, требующей их запуска.

Служебных фоновых процессов — два. Один из них запускает посланные на выполнение задания. В СУБД Oracle встроена очередь пакетных заданий, позволяющая выполнять по расписанию однократные или периодические задания. Другой процесс поддерживает и обрабатывает таблицы очереди, используемые средствами расширенной поддержки очередей (Advanced Queuing AQ). Средства AQ обеспечивают встроенные возможности обмена сообщениями между сеансами базы данных.

Процессы SNPn сочетают в себе особенности как разделяемого, так и выделенного сервера: обрабатывают несколько заданий, но памятью управляют как выделенный сервер (область UGA находится в области PGA процесса). Процесс очереди заданий выполняет в каждый момент времени только одно задание. Вот почему необходимо несколько процессов, если требуется выполнять несколько заданий одновременно. На уровне заданий не поддерживаются потоки или вытеснение. Запущенное задание выполняется, пока не будет выполнено (или не произойдет сбой).

Процесс QMNn по отношению к таблицам AQ выполняет ту же роль, что и процесс SNPn по отношению к таблице заданий. Этот процесс контролирует очереди и уведомляет ожидающие сообщений процессы о том, что доступно сообщение. Он также отвечает за распространение очередей возможность переместить сообщение, поставленное в очередь в одной базе данных, в другую базу данных для извлечения из очереди.

Процессы EMNn — часть подсистемы расширенной поддержки очередей. Они используются для уведомления подписчиков очереди о сообщениях, в которых они могут быть заинтересованы. Это уведомление выполняется асинхронно. Имеются функции Огас1е Call Interface (OCI) для регистрации обратного вызова, уведомляющего о сообщении. Обратный вызов — это функция в программе OCI, которая вызывается автоматически при появлении в очереди определенного сообщения. Фоновый процесс EMNn используется для уведомления подписчика. Прцесс EMNn запускается автоматически при выдаче первого уведомления в экземпляре.

В сервере Oracle есть два типа подчиненных процессов ввода-вывода (I/O slaves) и параллельных запросов (Раrallel Query Slaves).

Показать весь текст

Список литературы

  1. К. 101 Oracle: PL/SQL (М.: Лори, 2006,350 стр.)
  2. С. Аналитические системы на базе Oracle Express OLAP (М.: Диалог-МИФИ, 1999)
  3. Бобровски С. Oracle8: Архитектура .: «Лори», 1998, 210 стр.); [оригинал: Steve Bobrowski «Oracle8. Architecture» Osborne/McGraw-Hill, 1998]
  4. Ю.И., Таназлы Г.И. ORCAD 9. x ORCAD 10.x. Практика моделирования (М.: Солон-пресс, 2008, 208 стр.)
  5. Грабер М. SQL. Справочное руководство (М, «Лори», 1997, — 291 с.)
  6. Р., Крейнс Д. Oracle: PL/SQL (М.: Символ, 2005,976 стр.)
  7. Р., Стаковьяк Р., Додж Г., Кляйн Д. Программирование баз данных Oracle для профессионалов (М.: Вильямс, 2007, 784 стр.)
  8. Кайт Т. Oracle для прфессионалов: архитектура, методики программирования и основные особенности версий 9i и 10g (М.: Вильямс, 2007, 848 cтр.)
  9. Т. Эффективное проектирование приложений Oracle (М.: Лори, 2008, 637 стр.)
  10. Дж., Марисетти С. OCA Oracle 9i. Associate DBA. Подготовка администраторов баз данных (М.: Лори, 2006, 680 стр.)
  11. Компания Advanced Information Systems и др. Oracle8. Энциклопедия пользователя (К.: «ДиаСофт», 1998, 864 стр.); [оригинал: Advanced Information Systems, INC., et al «Oracle. Second Edition. UNLEASHED» SAMS Corporation, 1997]
  12. М., Эбби М, Дечичьо(мл.) Д., Абрамсон Ян Настройка Oracle8 (М.: «Лори», 1999); [оригинал: Michael J. Corey, Michael Abbey, Daniel J. Dechichio Jr., Ian Abramson «Oracle8: Tuning» Osborne/McGraw-Hill, 1998]
  13. В.А., Бегус Ю. П., Габзовский В. А. Введение в Oracle PL/SQL. (Киев, Издательство «ДиаСофт», 1998, — 400 с.)
  14. Луни К. Настольная книга администратора базы данных Oracle8
  15. М, «Лори», 1999), [оригинал: Kevin Loney «Oracle8 DBA Handbook», Osborne/McGraw-Hill, 1998]
  16. К., Хольт Д. Oracle. Оптимизация производительности (М.: Символ, 2006,464)
  17. Мюллер Р.Дж. ORACLE Developer/2000. Настольная книга пользователя. (М.: «Лори», 1999, 384 стр.); [оригинал: Robert J. Muller ORACLE Developer/2000 Handbook. Osborne/McGraw-Hill, 1997]
  18. Д. Создание эффективной системы безопасности для Oracle Database 10g (М.: Символ, 2007,556)
  19. Дж., Пост Дж. Введение в Oracle 10g (М.: Символ, 2006,704)
  20. Прайс Дж. Oracle Database 10g SQL (М.: Лори, 2007, 566 стр.)
  21. В., Хьюз Н. и др. Использование Oracle8. Специальное Издание — (К.; М.; СПб.: «Вильямс», 1998, 752 стр.); [оригинал: William G Page, Jr., and Nathan Hughes, et al. «Using Oracle8. Special Edition» Que Corporation, 1998]
  22. М. и др. Oracle7.3. Энциклопедия пользователя
  23. (К.: «ДиаСофт», 1997, 830 стр.); [оригинал: Michael Richards at al. «Oracle. UNLEASHED» SAMS Corporation, 1996]
  24. Сингх, Лей, Сафьян и др. Oracle7.3. Руководство разработчика
  25. (К.: «ДиаСофт», 1998, 730 стр.); [оригинал: Singh, Letgh, Zafian, et al. «Oracle7.3. Developer’s Guide» SAMS Corporation, 1997]
  26. С. Работаем с Oracle. Учебное пособие.
  27. (М.: «Гелиос», 1998, 318 стр.)
  28. К., Хейсли С. Oracle 101: Резервное копирование и восстановление (М.: Лори, 2005, 444 стр.)
  29. Урман C. ORACLE 8. Программирование на языке PL/SQL.
  30. (М.: «Лори», 1999, 608 стр.); [оригинал: Scott Urman «Oracle8 PL/SQL Programming» Osborne/McGraw-Hill, 1997]
  31. С., Нанда А. Oracle PL/SQL для администраторов баз данных (М.: Символ, 2006,704)
  32. Р., МакЛафлин М. Oracle PL/SQL для профессионалов (М.: Лори, 2008, 496 стр.)
  33. Д.Энсор, Й. Стивенсон Oracle8: Рекомендации разработчикам
  34. (К.: Изд. группа BHV, 1998, 126 стр.); [оригинал: Dave Ensor and Jan Stevenson. «Oracle8 Design Tis» O’Reilly & Associates, Inc., 1997]
  35. М.Эбби, М. Кори Oracle8: Первое знакомство
  36. (М.: «Лори», 1998, 470 стр.); [оригинал: Michael Abbey, Michael J. Correy «Oracle8: Beginner’s Guide» Osborne/McGraw-Hill, 1997]
  37. Юринский В, Бачин А., Абрамов В. Oracle7. Практическое руководство (М.: «Софтсервис», 1997, 420 стр.)
Заполнить форму текущей работой