Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LAB_5_dbms.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
758.78 Кб
Скачать

Лабораторная работа №5 «управление пользователями базы данных, сессиями и использованием системных ресурсов»

    1. Цель работы

Ознакомиться с последовательностью шагов администратора БД для создания и управления пользователями БД и контроля использования системных ресурсов.

    1. Методические указания по организации самостоятельной работы

Перед выполнением лабораторной работы необходимо изучить материалы лекций по данной дисциплине и литературу.

    1. Рассматриваемые вопросы

  • Создание новых пользователей базы данных;

  • Изменение характеристик и удаление пользователей базы данных;

  • Получение информации о существующих пользователях;

  • Завершение сеансов работы пользователей;

  • Управление профилями.

    1. Теоретические сведения

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

Одной из обязанностей DBA является управление учетными записями пользователей. Следует различать понятия пользователь и учетная запись. Пользователь – человек, у которого есть учетная запись, посредством которой определяются его полномочия и разрешения в пределах базы данных. В дальнейшем понятия пользователя и учетной записи будут тождественны, но всегда стоит помнить различие между ними.

Для подключения к базе данных у пользователя должна быть учетная запись. Параметры учетной записи, права и привилегии определяют возможности пользователя в пределах базы данных. Для управления учетными записями используются три предложения на языке SQL, это CREATE USER – для создания учетной записи, и ALTER USER – для изменения существующей учетной записи и DROP USER – для удаления.

Атрибуты учетной записи

Учетная запись имеет набор атрибутов, определяемых на стадии создания. Эти атрибуты:

  • Имя пользователя;

  • Метод аутентификации;

  • Табличное пространство по умолчанию;

  • Ограничения на использование табличного пространства;

  • Временное табличное пространство;

  • Пользовательский профиль;

  • Состояние учетной записи.

Имя пользователя

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

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

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

Синтаксис команды create user

Пример команды создания пользователя:

CREATE USER ALL_ORACLE IDENTIFIED BY parol;

CREATE USER “ALL_ORACLE%” IDENTIFIED BY parol;

Ключевое слово IDENTIFIED BY указывает пароль пользователя и метод аутентификации пользователя – парольный.

Синтаксис команды alter user

proxy_clause

db_user_proxy

Синтаксис команды drop user

Метод аутентификации

Различаются несколько методов аутентификации пользователей в Oracle: парольная, внешняя и глобальная.

Парольная аутентификация

При попытке пользователя подключится к базе данных с использованием парольной аутентификации, база данных проверят имя пользователя и пароль на совпадение с данными, сохранёнными в словаре данных.

В случае совпадения пользователь соединяется с БД, в противном случае ему отказывается в доступе.

Парольная аутентификация является наиболее распространенной при авторизации пользователей. Пароль пользователя хранится в словаре данных в зашифрованном виде.

Внешняя аутентификация

При внешней аутентификации, при попытке пользователя подключится к базе данных, она проверяет учетную запись пользователя, и доверяет операционной системе. Т.е. если аутентификация пользователя в операционной системе прошла успешно, то база данных позволяет ему создать соединение.

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

Когда в Oracle появилась такая возможность (в Oracle 6), такие учетные записи имели префикс OPS$. Имена таких пользователей можно настраивать, указав OS_AUTHENT_PREFIX при инициализации или в SPFILE файле. Например, создадим пользователя ALL_ORACLE_EXT:

CREATE USER OPS$ALL_ORACLE_EXT IDENTIFIED EXTERNALLY;

Ключевое слово IDENTIFIED EXTERNALLY указывает базе данных на то, что учетная запись авторизуется внешне.

Часто учетные записи с внешней аутентификацией используются для исполнения административных скриптов, которые могут быть прочитаны посторонними людьми.

Табличное пространство по умолчанию и ограничения

Каждому пользователю назначается табличное пространство по умолчанию. В нем пользователь хранит свои объекты. Указать табличное пространство по умолчанию можно либо при создании, либо при модификации учетной записи:

CREATE USER ALL_ORACLE IDENTIFIED BY qwerty DEFAULT TABLESPACE USERS;

или

ALTER USER ALL_ORACLE DEFAULT TABLESPACE USERS;

Для изменения табличного пространства по умолчанию в базе данных используется предложение ALTER DATABASE:

ALTER DATABASE DEFAULT TABLESPACE users;

В случае создания объектов пользователем, если для него явно не указано табличное пространство по умолчанию, то будет использоваться табличное пространство, определенное по умолчанию для базы данных.

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

Квота на табличное пространство – это объем пространства, который может использовать пользователь. В пределах указанных ограничений он может создавать объекты, хранить данные и т.д. Как только предел будет достигнут, пользователь не сможет ничего сохранить. Изменить квоту можно в любое время. Ниже показаны примеры назначения квоты на табличные пространства для пользователя ALL_ORACLE:

ALTER USER ALL_ORACLE QUOTA 100M ON SYSTEM;

ALTER USER ALL_ORACLE QUOTA UNLIMITED ON USERS;

ALTER USER ALL_ORACLE QUOTA UNLIMITED ON EXAMPLE;

Временное табличное пространство

Каждому пользователю назначается временное табличное пространство, в котором база данных хранит временные сегменты. Временные сегменты создаются во время операций: ORDER BY, GROUP BY, SELECT DISTINCT, MERGE JOIN или CREATE INDEX.

Так же временные сегменты используются при использовании временных таблиц. База данных создает и удаляет временные сегменты прозрачно для пользователя. Для использования табличного пространства как временного, требуется указать тип табличного пространства – TEMPORARY.

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

CREATE USER ALL_ORACLE IDENTIFIED BY qwerty

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP;

Или в предложении ALTER USER:

ALTER USER ALL_ORACLE

TEMPORARY TABLESPACE TEMP;

Для изменения временного табличного пространства в базе данных используется конструкция ALTER DATABASE:

ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp;

Назначение профиля пользователю

В дополнение к временному табличному пространству и табличному пространству по умолчанию, пользователю назначается профиль. Профиль содержит ограничения на использование ресурсов и правила управления паролем.

Профиль по умолчанию так и называется – default. Для явного назначения профиля пользователю в предложение CREATE USER или ALTER USER добавляется ключевое слово PROFILE и указывается имя профиля. Например:

CREATE USER ALL_ORACLE IDENTIFIED BY qwerty

DEFAULT TABLESPACE USERS

TEMPORARY TABLESPACE TEMP

PROFILE resource_profile;

или

ALTER USER ALL_ORACLE

PROFILE resource_profile;

Статусы учетной записи

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

ALTER USER username ACCOUNT LOCK;

ALTER USER username ACCOUNT UNLOCK;

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

ALTER USER username PASSWORD EXPIRE;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]