Выпуск 3
Форум о СУБД Oracle, базы данных, запросы SQL. Обучение, курсы Oracle для чайников, начинающих и профессионалов
Конференция Oracle
; Логин:
  Пароль:
Обычный
Безопасный
Запомнить пользователя



Зарегистрироваться
Забыли пароль?
 
 
  




Объявление форума

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

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



Форум о СУБД Oracle, базы данных, запросы SQL. Обучение, курсы Oracle для чайников, начинающих и профессионалов »   Новичкам »   Oracle с нуля »   Выпуск 3RSS

Выпуск 3



Выпуск 3

Здравствуйте, уважаемые читатели!

Вы уже должны быть способны успешно пройти следующий тест:

1) Чем отличается процедура от функции?
2) Сколько лет существует СУБД Oracle?
3) Назовите пять обязанностей DBA.
4) Какую из обязанностей DBA можно назвать главной?
5) Что такое контрольная точка (checkpoint)?

Если с тестом нет проблем, то читаем дальше :)
(если есть затруднения, то просмотрите бегло предыдущие выпуски)

Основные понятия и условные сокращения

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

Ad-Hoc запрос - в переводе с латинского означает "экспромтом", простой запрос. Этот термин часто используется в англоязычной литературе. Кроме того, в установленной СУБД Oracle Вы можете обнаружить каталог ADHOC. Угадайте, что в него можно запихнуть? ;-)

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

Транзакция - логически-завершенный фрагмент последовательности действий (одна или более SQL-команд, завершенных фиксацией или откатом). Производительность системы СУБД часто оценивается числом производимых транзакций в секунду или в минуту.

Объекты схемы - это абстракция (логическая структура) составляющих базы данных. Объекты схемы состоят из: индексов, кластеров, пакетов, последовательностей, хранимых процедур, синонимов, таблиц, представлений и т.д.

Таблица - основная единица хранения данных БД Oracle. Состоит из имени таблицы, строк и столбцов. Каждый столбец также имеет имя и тип данных. Таблицы хранятся в табличных пространствах, причем, часто, в одном табличном пространстве находятся несколько таблиц.

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

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

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

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

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

Обзор архитектуры ORACLE

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

Примечание: В Oracle8 появилась система объектов. В связи с этим, корпорация Oracle иногда называет свой продукт объектно-ориентированной СУРБД (О-СУРБД). Однако, для ясности, я буду называть ее просто СУРБД.

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

Физический уровень

Физический уровень включает три категории файлов:

1) один или более файлов данных - В этих файлах хранится информация, имеющаяся в БД. Вы можете иметь как один файл данных, так и сотни таких файлов. Информация из одной таблицы может быть разбросана по нескольким файлам данных (а несколько таблиц могут делить между собой пространство файлов данных). Распределение таблиц по нескольким файлам данных может значительно увеличить производительность системы. Количество файлов данных ограничено параметром MAXDATAFILES.

2) два или более файлов журналирования операций (redo log files) - Файлы журналирования операций содержат информацию, необходимую для процесса восстановления в случае сбоя системы. Файлы журналирования операций (называемые также просто журналом операций) хранят все изменения, которые произошли в БД. С помощью журнала операций восстанавливаются те изменения, которые были произведены, но не зафиксированы перед сбоем системы. Файлы журналирования операций должны быть очень хорошо защищены против аппаратных сбоев (как на программном, так и на аппаратном уровне). Если информация журнала операций будет утеряна, то Вы не сможете
восстановить систему.

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

Логический уровень

Логический уровень составляют следующие элементы:

1) Одно или несколько табличных пространств;

2) Схема БД, состоящая из таблиц, кластеров, индексов, представлений, хранимых процедур и т.д.

Табличные пространства и файлы данных

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

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

В процессе создания БД Oracle автоматически, специально для Вас, строится табличное пространство SYSTEM. Хотя для небольших баз данных может хватить этого табличного пространства, но все же следует создать дополнительные табличные пространства для пользовательских данных. В табличном пространстве SYSTEM хранится словарь данных. Как Вы, наверное, помните, в словаре данных содержится информация о таблицах, индексах, кластерах и т.д.

Сегменты, экстенты и блоки данных

В СУБД Oracle контроль над дисковым пространством происходит с использованием специальных логических структур. Эти структуры следующие:

- блоки данных - Это наименьшая единица хранения данных в БД Oracle. Блок БД содержит заголовочную информацию о себе, и данные.

- экстенты - Экстент состоит из блоков данных.

- сегменты - Сегмент состоит из совокупности экстентов, содержащих определенный вид данных.

Сегменты

БД Oracle использует четыре типа сегментов:

- сегмент данных - хранит пользовательские данные.

- индексный сегмент - содержит индексы.

- сегмент отката - хранит информацию отката, используемую при возврате к предыдущему состоянию БД.

- временный (промежуточный) сегмент - создается в случае, если для выполнения SQL-выражения необходимо дополнительное рабочее пространство. Эти сегменты уничтожаются сразу после выполнения SQL-команд. Промежуточные сегменты используются также в разнообразных операциях с БД, например, при сортировке.

Экстенты

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

При создании табличного пространства, Вы можете указать минимальное число определения экстент, а также число экстент, добавляемых при заполнении уже определенных. Это распределение позволяет вам контролировать пространство хранилища БД.

Блоки данных

Это наименьшие единицы БД Oracle. Они физически хранятся на диске. Блоки данных на большинстве систем 2Кб (2048 байт), но Вы можете изменить этот размер на свое усмотрение для увеличения эффективности работы системы.

Итак, сегодняшний выпуск подошел к концу. Думаю, Вы с нетерпением будете ждать следующего (впрочем, я тоже). Очень рад быть полезным Вам!





Текущий рейтинг темы: Нет





Время выполнения скрипта: 0.0592. Количество выполненных запросов: 13, время выполнения запросов 0.0149