Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 5 УПРАВЛЕНИЕ ПОЛЬЗОВАТЕЛЯМИ БАЗЫ ДАННЫХ СЕССИЯМИ И ИСПОЛЬЗОВАНИЕМ СИСТЕМНЫХ РЕСУРС

Работа добавлена на сайт samzan.net:


ЛАБОРАТОРНАЯ РАБОТА №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;

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

Все вышеописанные действия с учетными записями можно выполнить с использованием графической оболочки Oracle Enterprise Manager. Для получения списка пользователей в EM переходим на закладку Administration, раздел Users&Privileges, в нем выбираем Users. В результате получим список пользователей базы данных:

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

После заполнения необходимых полей, нажав на кнопку Show SQL, вы увидите, что EM сформировал обычную SQL команду на создание пользователя. Ее можно скопировать и выполнить в любом SQL редакторе. После нажатия кнопки OK, учетная запись пользователя будет создана.

После создания учетной записи пользователя и переведя её в режим редактирования можно назначить квоты на табличные пространства, если этого не было сделано при создании, на закладке Quotas:

УПРАВЛЕНИЕ ПРОФИЛЯМИ

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

resource_parameter

password_parameter

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

Управление профилями средствами EM

Для получения списка профилей в EM переходим на закладку Administration, раздел Users&Privileges, в нем выбираем Profile. В результате получим список профилей:

Для создания нового профиля нажимаем кнопку Create, и в появившемся окне заполняем поля, которые делятся на 2 группы: общие (General) и управление паролями (Password). Для уменьшения вероятности ошибки, значения полей выбираются из списка.

УДАЛЕНИЕ СЕАНСА ПОЛЬЗОВАТЕЛЯ

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

При завершении сеанса, транзакции этого сеанса откатываются и все ресурсы (такие как, блокировки и области памяти) освобождаются и становятся доступными для других сеансов.

Удаление сеанса пользователя необходимо, если:

  •  пользователь занимает ресурсы, которые срочно потребовались другому пользователю;
  •  АБД необходимо остановить базу данных.

В качестве альтернативы для удаления сеансов пользователей при остановке базы данных используются режимы IMMEDIATE или TRANSACTIONAL.

Завершение текущего сеанса осуществляется с использованием SQL предложения ALTER SYSTEM KILL SESSION.

Команда ALTER SYSTEM KILL SESSION выполняет следующие действия

  •  выполняет откат назад текущей транзакции пользователя;
  •  освобождает все текущие блокировки таблиц и строк;
  •  освобождает все занятые пользователем ресурсы.

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

Идентификация сеанса, который требуется завершить

Для идентификации сеанса, который требуется завершить, указывается номер индекса и серийный номер. Для идентификации индекса (SID) и серийного номера выполняется запрос к представлению V$SESSION.

Следующий запрос выбирает все сеансы пользователя TEST:

SELECT SID, SERIAL#

FROM V$SESSION

WHERE USERNAME = 'TEST';

SID    SERIAL#    STATUS

-----   ---------        --------

   7        15           ACTIVE

  12       63           INACTIVE

Сеанс со статусом ACTIVE – это сеанс, выполняющий SQL инструкции и обращающийся к серверу Oracle. Сеанс со статусом INACTIVE – если не выполняется инструкция SQL или нет обращений к серверу.

Завершение активных сеансов

Если пользователь выполняет SQL инструкции, обращается к серверу Oracle, т.е. его сеанс имеет статус ACTIVE, и его сеанс принудительно завершен, то пользователь немедленно получит сообщение об ошибке:

ORA-00028: your session has been killed

Если после получения сообщения об ошибке пользователь пытается сохранить какие-либо данные или выполняет SQL предложение, то Oracle вернет ошибку:

ORA-01012: not logged on

Иногда активный сеанс не может быть прерван, например, выполняется откат транзакции или идут операции ввода/вывода в сети. В этом случае сеанс держит все ресурсы до своего завершения. Сеанс, выполняющий предложение ALTER SYSTEM, перед завершением ожидает 60 секунд, и затем завершается. Если сеанс не завершается по истечении 60 секунд, то пользователь, инициирующий завершение такого сеанса, получает сообщение о том, что сеанс имеет статус KILLED.

Завершение неактивных сеансов

Если сеанс, имеющий статус INACTIVE, прерывается, сообщение об ошибке (ORA-00028: your session has been killed) возвращается пользователю только при попытке использовать разорванный сеанс.

Как только неактивный сеанс прекращен, его STATUS в представлении V$SESSION принимает значение KILLED.

Для прекращения неактивного сеанса делается выборка из представления V$SESSION для определения SID и номера сеанса, затем сеанс прерывается.

SELECT SID, SERIAL#, STATUS, SERVER

FROM V$SESSION

WHERE USERNAME = 'TEST';

SID    SERIAL#   STATUS        SERVER

-----   --------         ---------           ---------

   7        15           INACTIVE    DEDICATED

  12        63          INACTIVE    DEDICATED

2 rows selected.

ALTER SYSTEM KILL SESSION '7,15';

Statement processed.

Управление сессиями средствами EM

Для получения списка сессий в EM переходим на закладку Perfomance, раздел Additional Monitoring Links (нижней части страницы), в нем выбираем Search Sessions.

При просмотре списка сессий возможно задание фильтра.

Для просмотра свойств сессий кликнете на значении её SID.

Ход работы

  1.  Подсоединитесь к базе данных в среде SQL*Plus как system/manager и зарегистрируйте пользователя bert с паролем bert. В качестве табличного пространства для  временных сегментов укажите пространство TEMP1. Выделите пользователю bert неограниченную квоту в табличном пространстве SYSTEM.
  2.  Определите с помощью представления DBA_USERS, какие табличные пространства и профиль назначены пользователю bert. С помощью представления DBA_TS_QUOTAS определите квоты, выделенные пользователю bert.
  3.  Зарегистрируйте пользователя ernie с паролем ernie, назначив ему табличное пространство по умолчанию USER_DATA и пространство для временных сегментов TEMP1. He выделяйте пользователю ernie никаких квот.
  4.  После регистрации пользователей ernie и bert необходимо решить, какие квоты выделить этим пользователям в табличных пространствах TEMP1 и RBS. Пользователь bert должен создавать таблицы, представления и индексы, и в конце каждого месяца выдавать отчеты, а пользователь ernie изменять таблицы, принадлежащие пользователю bert. Какие квоты должны быть предоставлены обоим пользователям в табличных пространствах TEMP1 и RBS?
  5.  Получите список всех пользователей, зарегистрированных в базе данных.

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

  1.  Установите для пользователя system табличное пространство по умолчанию USER_DATA и временное табличное пространство TEMP1.
  2.  Установите для пользователя sys временное табличное пространство TEMP1 и новый пароль sys_dba_pass. Подсоединитесь к базе данных как sys.
  3.  Аннулируйте квоту пользователя bert в табличном пространстве SYSTEM и установите ему квоту 500 Кб в табличном пространстве USER_DATA.
  4.   Оставаясь подсоединенным к базе данных как sys, определите из представления V$SESSION значения SID и SERIAL# для текущею сеанса и попытайтесь принудительно завершить свой сеанс. Что получилось?
  5.  Не закрывая сеанс пользователя sys, запустите еще раз утилиту SQL*Plus (откройте новое окно) и соединитесь с БД как system/manager.
  6.  Активизируйте окно с сеансом пользователя  sys и удалите сессию пользователя system.
  7.  Активизируйте окно с сеансом пользователя  system и попытайтесь выполнить запрос на получение текущей даты. Что произошло и почему?
  8.   Попытайтесь подсоединиться к базе данных как еrnie. Что получилось и почему?
  9.  Каким образом в базе включается контроль потребления системных ресурсов? Включите этот контроль.
  10.  Отредактируйте профиль default и установите время простоя, равное 1 минуте.
  11.  Подсоединитесь к базе данных как bert. Что произойдет через минуту бездействия? Попытайтесь выполнить команду SELECT * FROM DBA_USERS; Что произошло?
  12.  Создайте профиль test_profile и установите лимит на процессорное время на уровне сессии в 500 млс и количество одновременных сессий одного пользователя (1 сессия).
  13.  Назначьте созданный профиль пользователю ernie.
  14.  Создайте две сессии с учетной записью ernie (2 раза запустите утилиту sqlplus и соединитесь с БД). Прокомментируйте полученные результаты.
  15.  Задайте для пользователя bert необходимость смены пароля при следующем соединении с БД. Соединитесь с БД как пользователь bert.
  16.  Заблокируйте учетную запись пользователя ernie. Обратитесь к представлению и dba_users и проверьте статус данного аккаунта.
  17.  Выполните пункты 1-21 в среде EM, для написания запросов (SELECT…) используйте web-интерфейс среды iSQL*Plus применительно к пользователям ernie1, bert1.

СОДЕРЖАНИЕ ОТЧЕТА

  1.  Цель работы.
  2.  Скрин-шоты, иллюстрирующие выполнение каждого пункта задания.
  3.  Скрин-шоты с результатами выполнения каждого пункта задания.
  4.  При использовании утилиты Oracle Enterprise Manager в отчете следует привести автоматически генерируемые SQLкоманды (используйте кнопку “SHOW SQL”);
  5.  Выводы.




1. Организационная структура гостиничного предприятия Организационная структура гостиниц представляет фу
2. Китай в период раннего средневековья религия и идеология
3. 7545 УДК 338245-3399 Б23 Б23Бандурин В
4. Признаки наркомании
5. Дії УПА в роки ВВВ і в післявоєнний період
6. Would lower oil prices be good or bd news for the world economy
7. Курсовая работа- Мотивация персонал
8. Контроль у маркетингу
9. ТЕМА 13. УЧЕНИЯ О ГОСУДАРСТВЕ И ПРАВЕ В РОССИИ В XVIII НАЧАЛЕ XX ВВ
10. Договор страхования
11. Исполнение сделки с ценными бумагами вопросы правовой регламентации
12. ТЕМА Окремі види службових документів телеграма телефонограма доручення МЕТА Навчити студентів склада
13. варианте По сути это означает что на флопе вы не делаете ставок или рейзов
14. розничная компания WWW
15. Анализ финансовой деятельности ООО ЮМА Косметикс.html
16. Сальмонеллез гастроинтестинальная форма среднетяжелое течение гастроэнтеритический вариант выделена Salmonella enteritidis
17. Діяльність земств у напрямку допомоги населенню
18. открытых арабских сообществ
19.  Комплект это совокупность предметов медицинского имущества регламентированных по составу и количеству
20. Лабораторная работа- Решение обыкновенных дифференциальных уравнений