УЗНАЙ ЦЕНУ

(pdf, doc, docx, rtf, zip, rar, bmp, jpeg) не более 4-х файлов (макс. размер 15 Мб)


↑ вверх
Тема/ВариантСистема управления базами данных Oracle
ПредметИнформатика
Тип работыкурсовая работа
Объем работы42
Дата поступления12.12.2012
1500 ₽

Содержание



Введение 3
1 Архитектура СУБД Oracle 6
1.1 Термины “база данных” и “экземпляр” 6
1.2 Файлы и структура памяти 7
1.3 Физические процессы 20
Выводы по главе 1 29
2 Стратегии и средства настройки 31
2.1 SQL_TRACE, TIMED_STATISTICS и TKPROF 31
2.2 Средства контроля и отладки 34
2.3 Набор утилит StatsPack 36
Выводы по главе 2 38
Заключение 39
Список литературы 41

Введение

Важнейшая задача компьютерных систем управления - хранение и обработка данных. Для ее решения было создано специализированное программное обеспечение - системы управления базами данных (СУБД), которые позволяют структурировать, систематизировать и организовывать данные для их компьютерного хранения и обработки. Невозможно представить себе деятельность современного предприятия или учреждения без использования профессиональных СУБД. Они составляют фундамент информационной деятельности во всех сферах - начиная с производства и заканчивая финансами и телекоммуникациями.
Качество работы складывается как из аппаратного уровня, так и из программного уровня оснащения.
Наиболее эффективными на сегодняшний день являются реляционные БД. Самой популярной в мировом масштабе является система управления реляционными БД (СУБД) - 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. Интервью с разработчиками.
Структура курсовой работы определена целями и задачами исследования. Курсовая работа состоит из введения, двух глав, заключения, списка литературы. Первая глава посвящена изучению компонентов СУБД. Вторая – стратегии и средствам настройки. Общий объем работы – 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:\oradata\control01.ctl”, “C:\oradata\control02.ctl”)
Файл параметров инициализации используется для получения имени базы данных и местонахождения управляющих файлов. Управляющие файлы содержат информацию о местонахождении всех остальных файлов, так что они нужны в процессе начальной загрузки при запуске экземпляра.
Файлы данных вместе с файлами журнала повторного выполнения являются наибо¬лее важными в базе данных. Именно в них хранятся все данные. В каждой базе данных есть хотя бы один файл данных, но обычно их намного больше. Только самые простые, “тестовые” базы данных имеют один файл данных. В любой реальной базе данных дол¬жно быть минимум два файла данных: один - для системных данных (табличное про¬странство SYSTEM), другой - для пользовательских (табличное пространство USER).
Каждый объект, занимаю¬щий место на диске, хранится в одном сегменте. Сегменты — это области на диске, выделяемые под объекты — таблицы, индексы, сегменты отката и т.д. При создании таблицы создается сегмент таб¬лицы. Каждый объект, занимаю¬щий место на диске, хранится в одном сегменте.

Введение

Процесс СКРТ просто содейству¬ет обработке контрольной точки, обновляя заголовки файлов данных. Раньше процесс СКРТ был необязательным, но, начиная с версии 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”
М, "Лори", 1999), [оригинал: Kevin Loney "Oracle8 DBA Handbook", Osborne/McGraw-Hill, 1998]
15. Миллсап К., Хольт Д. “Oracle. Оптимизация производительности” (М.: “Символ”,2006,464)
16. Мюллер Р.Дж.. “ORACLE Developer/2000. Настольная книга пользователя”. (М.: "Лори", 1999, 384 стр.); [оригинал: Robert J. Muller “ORACLE Developer/2000 Handbook”. Osborne/McGraw-Hill, 1997]
17. Нокс Д. “Создание эффективной системы безопасности для Oracle Database 10g” (М.: “Символ”,2007,556)
18. Перри Дж., Пост Дж. “Введение в Oracle 10g” (М.: “Символ”,2006,704)
19. Прайс Дж. “Oracle Database 10g SQL” (М.: “Лори ”,2007, 566 стр.)
20. Пэйдж В., Хьюз Н. и др. “Использование Oracle8”. Специальное Издание - (К.; М.; СПб.: "Вильямс", 1998, 752 стр.); [оригинал: William G Page, Jr., and Nathan Hughes, et al. "Using Oracle8. Special Edition" Que Corporation, 1998]
21. Ричардс М. и др. “Oracle7.3. Энциклопедия пользователя”
(К.: "ДиаСофт", 1997, 830 стр.); [оригинал: Michael Richards at al. "Oracle. UNLEASHED" SAMS Corporation, 1996]
22. Сингх, Лей, Сафьян и др. “Oracle7.3. Руководство разработчика”
(К.: "ДиаСофт", 1998, 730 стр.); [оригинал: Singh, Letgh, Zafian, et al. "Oracle7.3. Developer's Guide" SAMS Corporation, 1997]
23. Смирнов С. “Работаем с Oracle”. Учебное пособие.
(М.: "Гелиос", 1998, 318 стр.)
24. Смит К., Хейсли С. “Oracle 101: Резервное копирование и восстановление” (М.: “Лори ”,2005, 444 стр.)
25. Урман C.. “ORACLE 8. Программирование на языке PL/SQL”.
(М.: "Лори", 1999, 608 стр.); [оригинал: Scott Urman "Oracle8 PL/SQL Programming" Osborne/McGraw-Hill, 1997]
26. Фейерштейн С., Нанда А. “Oracle PL/SQL для администраторов баз данных” (М.: “Символ”,2006,704)
27. Хардман Р., МакЛафлин М. “Oracle PL/SQL для профессионалов” (М.: “Лори ”,2008, 496 стр.)
28. Д.Энсор, Й.Стивенсон “Oracle8: Рекомендации разработчикам”
(К.: Изд.группа BHV, 1998, 126 стр.); [оригинал: Dave Ensor and Jan Stevenson. "Oracle8 Design Tis" O'Reilly & Associates, Inc., 1997]
29. М.Эбби, М.Кори “Oracle8: Первое знакомство”
(М.: "Лори", 1998, 470 стр.); [оригинал: Michael Abbey, Michael J.Correy "Oracle8: Beginner's Guide" Osborne/McGraw-Hill, 1997]
30. Юринский В, Бачин А., Абрамов В. “Oracle7. Практическое руководство” (М.: "Софтсервис", 1997, 420 стр.)







































































































































'
Уточнение информации

+7 913 789-74-90
info@zauchka.ru
группа вконтакте