- •12 Правил Кодда:
- •Словарь субд Oracle: состав, назначение, применение.
- •Структура вторичной памяти субд Oracle: табличные пространства, сегменты, экстенты, блоки, структура блока.
- •Архитектура программного обеспечения с точки зрения программиста, объекты разработки, роли разработчиков и их функциональное наполнение.
- •Режимы старта и останова экземпляра Oracle, операторы alter перевода экземпляра Oracle из одного состояния в другое.
- •Понятия субд Oracle: системные привилегии, объектные привилегии, роль, профиль безопасности, пользователь.
- •Табличные пространства: назначение, типы, основные параметры, необходимые привилегии, операторы создания и удаления, представления словаря.
- •Кластер: назначение, типы, основные параметры, необходимые привилегии, операторы создания, модификации и удаления, представления словаря. Оператор создания таблиц с кластеризованными столбцами.
- •Индекс: назначение, типы (b*,bitmap), основные параметры, необходимые привилегии, операторы создания, модификации и удаления, представления словаря.
- •Синоним: назначение, типы, необходимые привилегии, операторы создания и удаления, представления словаря.
- •Представление: назначение, необходимые привилегии, операторы создания, модификации и удаления, представления словаря, опции with check option/read only.
- •Материализованное представление: назначение, необходимые привилегии, операторы создания, модификации и удаления, представления словаря.
- •Временные таблицы: назначение, принцип применения, необходимые привилегии, операторы создания, опции on commit delete rows/ on commit preserve rows.
- •Порядок создания инфраструктуры базы данных Oracle.
- •Pl/sql: исключения, встроенные исключения и пользовательские исключения, генерация (raise, raise_application_error) и обработка исключений, порядок распространения исключений.
- •Pl/sql:константы, %type, %rowtype, записи (record) и их применение, вложенные записи, присваивание записей.
- •Pl/sql: локальные процедуры и функции, параметры, позиционный и параметрический способ передачи параметров
- •Pl/sql: динамический sql, оператор execute immediate, опции using (входные и выходные параметры), опция returning.
- •Хранимые процедуры и функции: назначение, принцип применения, необходимые привилегии, операторы создания, опция authid current_user/definer, объектная привилегия execute, представления словаря.
- •Пакеты: назначение, принцип применения, необходимые привилегии, операторы создания, опция authid current_user/definer, объектная привилегия execute, представления словаря.
- •Триггеры замещения (instead of)
- •Тип xmltype: назначение, создание таблиц с xml-полями, основные функции для работы с xmltype.
- •Большие типы: clob, blob, bfile, назначение, создание и применение.
- •Табличные и поточные функции
- •Расписание (Schedule)
- •Программа (Program)
- •Секцинирвание
- •Диапазонное секционирование
- •Интервальное секционирование
- •Списочное секционирование
- •Композитное секционирование
- •Эквисекционирование
- •Секционирование по ссылке
- •Секционирование по виртуальному столбцу
- •Системное секционирование
Расписание (Schedule)
Расписание - объект базы данных, применяемый для хранения определенного расписания выполнения заданий.
Программа (Program)
Программа - объект базы данных, хранящий определенный набор действий, который впоследствии будет сопоставлен расписанию.
DBLINK
Database Link (dblink): объект базы данных (СУБД), предназначенный для доступа к объектам базы данных, управляемой другим сервером
dblink: привилегии
dblink: user1-user2
dblink: shared user1-user2
dblink: global
Секцинирвание
Секционирование – метод, позволяющий хранить сегмент данных (таблица, индекс) в виде нескольких секций, причём секции-сегменты при общности логической структуры могут иметь собственные физические атрибуты.
К секционированию предъявляют следующие требования:
Прозрачность для пользователя (пользователь приложения не должен знать, работает ли он с секционированными данными или нет)
Прозрачность для разработчика (запросы в приложении не должны специальным образом модифицироваться для работы с секционированными данными)
Удобство администрирования (секционирование данных должно не осложнять жизнь администратора базы данных, а упрощать ее)
Диапазонное секционирование
Диапазонное (range) секционирование – это секционирование, при котором для каждой секции определяется диапазон значений ключа секционирования.
Ключ секционирования в диапазонном секционировании может принимать значение даты и времени, числа или текста. Для задания диапазона используется ключевое слово less than. Используются секции небольшого, примерно равного размера.
Интервальное секционирование
При загрузке новых данных в таблицу возникает необходимость в постоянном ручном расщеплении секции maxvalue, поэтому был создан механизм, позволяющий автоматически создавать новые секции для нового диапазона ключей.
Для интервального секционирования используется единая диапазонная секция для начального диапазона (точка перехода). Секции для новых значений ключа будут создаваться автоматически (по первой операции INSERT, не попавшей в диапазоны существующих секций).
Интервальное секционирование является расширенной реализацией диапазонного, но ключ секционирования может быть только одностолбцовым, типа DATE или NUMBER, стотбцы не могут содержать значение NULL и в секциях таблицы должна быть хотя бы одна диапазонная секция (maxvalue не допускается, иначе теряется смысл интервального секционирования).
Хэш-секционирование
Хэш-секционирование позволяет равномерно распределить строки между секциями, т.е. при помощи встроенной функции хэширования “разбросать” строки по разным секциям и сделать эти секции равновеликими.
Равномерное распределение данных по разным дискам позволяет распределить нагрузку по вводу-выводу между дисками, избежать перегруженности отдельных блоков (например, последнего табличного блока при вставках строк или крайнего индексного блока при монотонном увеличении ключа), очень важная возможность при использовании кластерных конфигураций (RAC), организовать эффективную параллельную обработку данных путем одновременного доступа к дискам (особенно при эквисекционировании объектов).
