Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

5.1.12. Журналы транзакций

Журнал транзакций (повтора, изменений) содержат все изменения, произведенные в базе данных. Имеется два и более оперативных журналов транзакций, которые заполняются циклически (после заполнения одного журнала заполняется другой). Если включен параметр Arhivelog, то после заполнения всех оперативных журналов производится архивация всех оперативных журналов в журнал транзакций. Имея копию базы данных и журнал транзакций, можно восстановить состояние базы данных на момент выполнения последней транзакции.

5.1.13. Экземпляр базы данных

Экземпляр базы данных Oracle - это набор процессов операционной системы и области памяти, используемых для доступа к базе данных. Каждый процесс имеет свою локальную область памяти, но все процессы имеют общую разделяемую глобальную систему области памяти SGA (System Global Area).

Пользователь всегда работает с уже открытой базой данных.

Этапы процесса открытия базы данных следующие:

  1. Формируется экземпляр Oracle под именем, заданным переменной Oracle_SID.

  2. Из файла init.ora берутся параметры инициализации, запускаются процессы и инициализируется область GSA.

  3. Выполняется открытие базы данных.

5.1.14. Типы данных

Все типы данных, перечисленные в стандарте ANSI SQL-92, пол­ностью поддерживаются в Oracle. Типы данных, уникальные для Oracle, отмечены строкой [Oracle].

5.1.14.1. Строки

Char/character[(длина | 1)] ‑ используется для хранения строк фикси­ро­ван­ной длины длиной до 255 символов (Fam char(30)).

Varchar/Varchar2/char varying/character varying [(длина) | 1] - ис­поль­зу­ется для хранения строк переменной длины до 2000 сим­во­лов (Stroika varchar(100)). Varchar аналогичен Varchar2, но оставлен под бу­ду­щий формат Varchar в SQL, если он будет введен.

Long [(длина)] [Oracle] - используется для хранения больших двоичных BLOB‑объектов (Binary Large Object - текста, звука, изображе­ния, мультимедиа и др.) до 2ГБ (изображения) переменной длины (2МБ).

Применение данного типа данных имеет следующие ограничения:

  • таблица не может иметь более одного столбца типа данных long;

  • для переменных типа long не разрешено построение индексов;

  • хранимые процедуры не могут возвращать значения типа long;

  • столбцы данного типа не могут включаться в ограничения целостности.

5.1.14.2. Числа

Number/Decimal [(точность[, масштаб])] [Oracle] ‑ числа с задан­ной точностью (1-38); масштаб (-84 ‑ 0 (целое число) -128). Использование отри­ца­тель­ных значений означает сд­виг десятичной точки в сторону старших разря­дов. Числа хранятся в двоично‑десятичном формате. Реко­мен­дуется использовать этот тип данных.

Пример объявления переменной с окладом в диапазоне от 100 до 200000 рублей: Oklad number(8,2) check (Oklad between 100 and 200000).

Float[(n)] - вещественные числа размером N битов (чаще 32 или 64).

Integer/int/smallint, real ­- аналогичны Number(38), Float(63) соот­вет­ст­венно. Не рекомендуется использовать данные этих типов: словарь данных Oracle не поддерживает эти ключевые слова.

5.1.14.3. Битовые строки

Raw/Raw Long [(длина)] [Oracle] - маленькая/большая битовая стро­ка переменной длины до 255Б/2ГБ (2MB)). Отличие от типов char и varchar2 состоит в том, что данные типа Raw не переводятся из одного набора символов в другой и инструментальные средства Oracle не обрабатывают данный тип. Для переменных типа Row Long невозможно построение индекса (Foto long raw (100000)).

Rowid ‑ идентификатор строки (п. 5.1.2).