Лимиты 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 Кб. |