Регистрация пользователей базы данных, страница 5

Ресурсы, контролируемые на уровне команды

Ресурс

Описание

CPU_PER_CALL

Процессорное время на команду в сотых долях секунды

LOGICAL_READS_PER_CALL

Число прочитанных блоков

Замечания t

-  IDLE_TIME вычисляется только для серверного процесса Потребление ресурсов приложениями баз данных не контролируется

-  Выполнение длительных запросов и других операций не считается простоем (контроль использования ресурса IDLE_TIME не срабатывает)

-  LOGICAL READS_PER_SESSION ограничивает суммарное число блоков, прочитанных как- с диска, так и из оперативной памяти Принудительно завершаются команды с чрезмерным объемом ввода/вывода, нарушающие баланс использования буферов оперативной памяти и блокирующие диски

-  PRIVATE_SGA применяется только в системах с многопотоковым сервером Значение может быть задано в килобайтах (К) или мегабайтах (М)

Создавайте профиль с помощью команды CREATE PROFILE или диалогового окна Create Profile

Для создания профиля требуется системная привилегия CREATE PROFILE При создании базы данных сервер Oracle автоматически создает профиль DEFAULT.

Пример

Создается профиль developer_ profile с указанием следующих лимитов: до пяти одновременных сеансов, процессорное время не ограничено, максимально допустимое время бездействия - 60 минут.

SVRMGR>CREATE   PROFILE  developer_profile   LIMIT

2>SESSIONS_PER_USER   5

3>CPU_PER_CALL  UNLIMITED

4>IDLE_TIME   60;

Profile created.

Модифицируйте профиль с помощью команды ALTER PROFILE или диалогового окна Alter Profile в Server Manager

Рекомендации

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

-  Используйте режим AUDIT SESSION для сбора сведений об изменении во времени значений CONNECTJTIME, LOGICAL_READS_PER_SESSION и LOGICAL_READS_PER_CALL. Для сбора сведений об остальных лимитах используйте монитор статистики

Для модификации профиля необходима системная привилегия ALTER PROFILE

Пример

Модификация профиля developer_profile с указанием следующих лимитов: максимум два одновременных сеанса, до 3000 секунд процессорного времени на сеанс, максимальное время бездействия - 30 минут, до 1000 логических чтений на команду.

SQL>ALTER  PROFILE   developer_profile  LIMIT

2      SESSIONS_PER_USER 2

3      CPU_PER_SESSION   300000    '

4      IDLE_TIME   30

5      LOGICAL_READS_PER_CALL   1000;

Profile   altered.

В каждой базе данных есть профиль по умолчанию с именем default

Профиль по умолчанию

-  Пользователи, которым не назначен профиль, имеют профиль default

-  Для любого профиля все не заданные явно значения берутся из профиля default

-  В исходном состоянии все значения по умолчанию не имеют ограничений

-  Профиль default можно модифицировать таким образом, что ни один пользователь не сможет по умолчанию использовать неограниченные ресурсы

Модифицируйте профиль default для предотвращения использования неограниченных ресурсов.

Пример 1

Измените профиль default с помощью команды ALTER PROFILE. Задайте до пяти одновременных сеансов, до 36 секунд процессорного времени на команду и до 30 минут простоя.

SQL>ALTER  PROFILE   default  LIMIT

2      SESSIONS_PER_USER   5

3      CPU_PER_CALL   3600

4      IDLE_TIME   30;

Frofile altered.

Назначайте профиль при создании или изменении пользователя. Нельзя одновременно назначить пользователю несколько профилей.

Пример 1

Создайте с помощью команды CREATE USER пользователя Наnnе с паролем Rue и назначьте ему профиль developer_profile.

SVRMGR>CREATE  USER  Hanne   IDENTIFIED   BY   Rue

2>DEFAULT  TABLESPACE   user_data

3>TEMPORARY   TABLESPACE   temp

4>PROFILE  developer_profile;

User  created.

Назначайте профиль для уже существующего пользователя с помощью команды ALTER USER

Характеристики профиля

-  Назначения профиля не действуют в текущем сеансе

-  Для назначения профиля требуется привилегия ALTER USER

-  Профили назначаются пользователям, но не ролям или другим профилям

Если при создании пользователя профиль не назначен, автоматически назначается

Пример I

Модифицируйте пользователя bert, назначив ему профиль developer_profile