Лимиты Oracle
Главная » Администрирование » Oracle » ЛимитыЛИМИТ [французское limite от латинского limes — предел], предельная норма, дозволенное количество чего-либо, ограничение, предел, грань.
Лимиты в Oracle существуют на нескольких уровнях. Обычно существует жёстко запрограммированное ограничение в базе данных, которое не может быть превышено. Но, в то же самое время, оно может быть еще более ограниченно, для какой либо операционной системы.
Ограничения базы данных разделены на четыре основные категории:
- Ограничения типов данных
- Физические ограничения
- Логические ограничения
- Ограничения процессов и времени выполнения
Ограничения типов данных
Тип данных | Лимит | Комментарий |
---|---|---|
BFILE | Максимальный размер: 4 GB
Максимальный размер имени файла: 255 символов Максимальный размер имени директории: 30 символов Максимальное число открытых BFILEs: комментарий |
Максимальное число BFILEs лимитируется значением инициализационного параметра SESSION_MAX_OPEN_FILES, которое в свою очередь ограничивается максимально возможным числом открытых файлов в операционной системе. |
BLOB | Максимальный размер: (4 GB - 1) * DB_BLOCK_SIZE инициализационный параметр (8 TB to 128 TB) | Число LOB столбцов ограничено только максимальным количеством столбцов на таблицу, то есть, 1000 |
CHAR | Максимальный размер: 2000 байт | |
CHAR VARYING | Максимальный размер: 4000 байт | |
СLOB | Максимальный размер: (4 GB - 1) * DB_BLOCK_SIZE инициализационный параметр (8 TB to 128 TB) | Число LOB столбцов ограничено только максимальным количеством столбцов на таблицу, то есть, 1000 |
Литералы (символы или числа в SQL или PL/SQL) | Максимальный размер: 4000 символов | |
LONG | Максимальный размер: 2 GB – 1 | Таблица может иметь только один LONG столбец. |
NCHAR | Максимальный размер: 2000 символов | |
NCHAR VARYING | Максимальный размер: 4000 символов | |
NCLOB | Максимальный размер: (4 GB - 1) * DB_BLOCK_SIZE инициализационный параметр (8 TB to 128 TB) | Число LOB столбцов ограничено только максимальным количеством столбцов на таблицу, то есть, 1000 |
NUMBER | Положительные числа в диапазоне 1 x 10-130 до 9.99... 9 x 10125 с 38 значимыми цифрами | Точность может быть задана в диапазоне от 1 до 38 десятичных цифр. Масштаб может варьироваться от -84 (слева от десятичной точки) до 127 (справа от десятичной точки). |
Положительные числа в диапазоне 1 x 10-130 до 9.99... 9 x 10125 с 38 значимыми цифрами | ||
RAW | Максимальный размер: 2000 байтов | |
VARCHAR | Максимальный размер: 4000 байтов | |
VARCHAR2 | Максимальный размер: 4000 байтов |
Физические ограничения
Пункт | Тип лимита | Значение лимита |
---|---|---|
Размер блока базы данных | Минимум | 2048 байт; должно быть кратно размеру физического блока операционной системы |
Максимум | Зависит от операционной системы; не более чем 32 Kбайт | |
Блоки базы данных | Минимальное количество в начальном экстенте сегмента | 2 блока |
Максимальное количество в файле данных | Зависит от системы; типично 222 - 1 блоков | |
Контрольные файлы | Число контрольных файлов | Один минимум. Настоятельно рекомендуется два или больше (на отдельных устройствах). |
Размер контрольных файлов | В зависимости от операционной системы и параметров создания базы данных; максимум 20000 х (размер блока данных) | |
Файлы данных | Максимальное количество в табличном пространстве | Зависит от системы; обычно 1022. |
Максимальное количество в базе данных | 65533 Может быть меньше на некоторых операционных системах Лимит ограниченн также размером блока базы данных и параметром инициализации DB_FILES для конкретного случая |
|
Экстенты базы данных | Максимальное количество в табличном пространстве управляемом по словарю | 4 GB * физический размер блока (с модификатором K/M ); 4 GB (с модификатором K/M) |
Максимальное количество в локально управляемом табличном пространстве | 2 GB * физический размер блока (с модификатором K/M ); 2 GB (с модификатором K/M) | |
Размер файла базы данных | Максимум | В зависимости от операционной системы. Ограничен максимальным размером файла оперативной системы; типично 222 байт или 4 Мб (4,194,304) блоков |
Общее количество экстентов (MAXEXTENTS) | Значение по умолчанию | Производное от значения по умолчанию параметра хранения табличного пространства или инициализационного параметра DB_BLOCK_SIZE |
Максимум | Неограниченно | |
Журнальные файлы | Максимальное количество | Лимит задаётся значением параметра MAXLOGFILES в операторе CREATE DATABASE. |
Максимальное количество в группе | Неограниченно | |
Размер журнального файла | Минимальный | 4 Мбайт |
Максимальный | Лимит операционной системы; обычно 2 GB | |
Табличные пространства | Максимальное количество на одну базу данных | 64 К Количество табличных пространств, не может превышать количества файлов базы данных, поскольку каждое табличное пространство должно включать в себя по крайней мере один файл |
Табличные пространства с большими файлами (Bigfile) | Количество блоков | Табличное пространство с большими файлами(Bigfile) может содержать только один файл данных или временный файл, который в свою очередь может содержать примерно до 4 млрд (232) блоков. Максимальный размер одного файла данных или временного файла составляет 128 терабайт (ТБ) в табличном пространствес 32 Кб. блоками и 32 Тбайт для табличного пространства с 8 Кб. блоками. |
Табличные пространства с маленькими файлами (Smallfile) | Количество блоков | Табличное пространство с маленькими файлами (Smallfile) традиционное табличное пространство Oracle. Может содержать 1022 файлов данных или временных файлов, при этом каждый из файлов может содержать приблизительно до 4 миллионов (222) блоков. |
Файл внешних таблиц | Максимальный размер | В зависимости от операционной системы. Внешняя таблица может состоять из нескольких файлов. |
Логические ограничения
Пункт | Тип лимита | Значение лимита |
---|---|---|
GROUP BY оператор | Максимальная длина | Выражение GROUP BY и все of the неотличные агрегатные функции (для примера SUM, AVG) должны поместиться в пределах одного блока базы данных. |
Индексы | Максимум на таблицу | Неограниченно |
Общий размер индексированных столбцов | 75% от размера блока базы данных, минус некоторые издержки | |
Столбцов | на таблицу | 1000 столбцов максимум |
на индекс (или кластеризованный индекс) | 32 столбца максимум | |
на индекс на основе битовой карты | 30 столбцов максимум | |
Ограничения | Максимум на столбец | Неограниченно |
Подзапросы | Максимальный уровень подзапросов в SQL операторе | Неограниченно во FROM выражении в верхнем уровне запроса 255 подзапросов в WHERE выражении |
Секции | Макимальная длина линейного секционного ключа | 4 Кб. минус издержки |
Макимальное количество столбцов в секционном ключе | 16 столбцов | |
Макимальное количество секций на таблицу или индекс | 1024Кб. - 1 | |
Строк | Максимальное количество на таблицу | Неограниченно |
Хранимые пакеты | Максимальный размер | Ограничения обычно составляет от 2000 до 3000 строк кода. |
Лимит каскада триггеров | Максимальное значение | Зависит от операционной системы, обычно 32 |
Пользователи и роли | Максимум | 2 147 483 638 |
Таблицы | Максимум на кластерную таблицу | 32 таблицы |
Максимум на базу данных | Неограниченно |
Ограничения процессов и времени выполнения
Пункт | Тип лимита | Значение лимита |
---|---|---|
Экземпляров на базу данных | Максимальное количество кластеров экземпляров базы данных на базу данных | Зависит от операционной системы |
Блокировки | Уровня строки | Неограниченно |
Диспетчер распределённых блокировок | Зависит от операционной системы | |
Размер SGA | Максимальное значение | Зависит от операционной системы; обычно от 2 до 4 Гб для 32-разрядных операционных систем, и > 4 Гб для 64-разрядных операционных систем. |
Процессы механизма обработки очередей (AQ) | Максимум на экземпляр | 10 |
Процессы очереди заданий (JQ) | Максимум на экземпляр | 1000 |
Подчинённые процессы ввода/вывода | Максимум на фоновый процесс (DBWR, LGWR и так далее) | 15 |
Максимум на сеанс резервного копирования | 15 | |
Сеансы | Максимум на экземпляр | 32 Кб; ограничивается инициализационными параметрами PROCESSES и SESSIONS |
Процессы сервисов глобального кэша (LMSn) | Максимум на экземпляр | 10 |
Остальные ограничения
Пункт | Тип лимита | Значение лимита |
---|---|---|
Число включённых ролей | Максимальное значение | 148; в это значение входят и все коственно назначенные роли (роль на роль) |
Верхние границы размеров программ PL/SQL
Тип кода Pl/SQL | Версия сервера | Максимальный размер дерева DIANA-кода (количество узлов) | Оценка максимального размера исходного кода в байтах |
---|---|---|---|
Тело пакета или типа данных, отдельная функция или процедура | 8.1.5 и выше | 226 (67 108 864); примерно 6 000 000 строк кода | 256 Мб. |
Сигнатура (заголовок) отдельной функции или процедуры | 8.0.x и выше | 215 | 128 Кб. |
Спецификация пакета или типа данных, анонимный блок | 8.1.7 и выше | 215 (от 213 до 214 на практике) | 128 Кб. (от 32 Кб. до 64 Кб. на практике) |
Ограничения PL/SQL
Пункт | Лимит |
---|---|
Число связываемых переменных, передающихся с программным модулем | 32768 |
Обработчиков исключений в программном модуле | 65536 |
Полей в записи | 65536 |
Уровней вложенности блоков | 255 |
Уровней вложенности записей | 32 |
Уровней вложенности подзапросов | 254 |
Уровней вложенности меток | 98 |
Уровней вложенности коллекций | нет предопределённого ограничения |
Величина значения PLS_INTEGER или BINARY_INTEGER | -2147483648..2147483647 |
Число формальных параметров в явном курсоре, функции, или процедуре | 65536 |
Количество объектов на которые ссылается программный модуль | 65536 |
Точность значения FLOAT (бит) | 126 |
Точноcть значения NUMBER (десятичные цифры) | 38 |
Точноcть значения REAL (бит) | 63 |
Размер идентификатора (символы) | 30 |
Размер строкового литерала (байты) | 32767 |
Размер значения CHAR (байты) | 32767 |
Размер значения LONG (байты) | 32760 |
Размер значения LONG RAW (байты) | 32760 |
Размер значения RAW (байты) | 32767 |
Размер значения VARCHAR2 (байты) | 32767 |
Размер значения NCHAR (байты) | 32767 |
Размер значения NVARCHAR2 (байты) | 32767 |
Размер значения BFILE (байты) | 4Гб. умноженное на значение параметра DB_BLOCK_SIZE |
Размер значения BLOB (байты) | 4Гб. умноженное на значение параметра DB_BLOCK_SIZE |
Размер значения CLOB (байты) | 4Гб. умноженное на значение параметра DB_BLOCK_SIZE |
Размер значения NCLOB (байты) | 4Гб. умноженное на значение параметра DB_BLOCK_SIZE |
Размер триггера | 32 Кб. |