Создание и удаление учетными записями

Создание и удаление учетными записями

В посте рассматривается базовое описание процесса создания и удаления пользователей, относящийся к группе операторов DML (Data Manipulation Language).

Для подключения к базе данных у пользователя должна быть учетная запись. Параметры учетной записи, права и привилегии определяют возможности пользователя в пределах базы данных. Для управления учетными записями используются следующие:

  • CREATE USER – для создания учетной записи,
  • ALTER USER – для изменения существующей учетной записи,
  • DROP USER – для удаления.

Имя пользователя в пределах базы данных должно быть уникальным. Длина не должна превышать 30 символов. Имя может состоять из латинских букв, цифр, знака доллар ($) и знака подчеркивания (_). Имя пользователя не может быть зарезервированным словом. Если требуется создать пользователя с какими либо спецсимволами в имени, то это можно обойти заключив имя в двойные кавычки.

После того как учетная запись создана изменить ее имя нельзя. Для изменения придется создать новую с требуемым именем и удалить старую. Большим неудобством в случае удаления учетной записи является то, что вместе с ней удаляются и все объекты, принадлежащие этому пользователю.

Для создания пользователя в базе данных будет использован оператор CREATE USER. Упрощенный синтаксис оператора CREATE USER выглядит следующим образом:

CREATE USER имя_пользователя IDENTIFIED BY пароль;

, где
• имя_пользователя – определяет имя, назначенное пользователю базы данных,
• пароль – определяет пароль для пользователя базы данных.

В следующем примере создается пользователь MSU с паролем test:

CREATE USER MSU IDENTIFIED BY test;

У каждой учетной записи есть свой статус. Текущий статус пользователя можно узнать выполнив запрос:

SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS;

Столбец ACCOUNT_STATUS может иметь одно из следующих значений:

• OPEN – учетная запись доступна для использования,
• LOCKED – учетная запись заблокирована DBA. Пользователь не может подключаться к базе данных,
• EXPIRED – истекло время действия. Пароль может иметь срок действия. Пользователь, у которого истекло время действия пароля, не может подключиться к базе данных пока пароль не будет сброшен,
• EXPIRED & LOCKED – учетная запись не только заблокирована, но и истекло время действия пароля,
• EXPIRED (GRACE) – сигнализирует о действии дополнительного времени на действие пароля. В этом случае действие пароля не истекает сразу же, а дается время на его смену,
• LOCKED (TIMED) – учетная запись заблокирована после нескольких неудачных попыток подключиться к базе данных. Учетная запись может быть настроена на блокирование после указанного числа неудачных попыток авторизации.

Для блокировки и разблокировки учетной записи используются команды:

Для блокировки:
ALTER USER имя_пользователя ACCOUNT LOCK; Для разблокировки: ALTER USER имя_пользователя ACCOUNT UNLOCK;

Для принудительной и самостоятельной смены пароля необходимо использовать команду:

ALTER USER имя_пользователя PASSWORD EXPIRE;

Пользователя можно удалить при помощи команды DROP USER. В следующем примере запускается команда для удаления пользователя MSU:

DROP USER MSU; 

Если пользователь/схема/schema содержит объекты (например, таблицы), то нужно использовать слово CASCADE в команде удаления:

DROP USER MSU CASCADE;

Leave a Reply

Your email address will not be published. Required fields are marked *