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

29)Права и пользователи в бд oracle, dba и его основные обязанности.

пользователи

Аккаунт или учетная запись характеризуется пользователем и правами доступа (привилегиями) назначенных пользователю. Обычно аккаунты защищены паролем.

-- создание пользователя

-- Oracle

CREATE USER username

IDENTIFIED BY psw

права доступа

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

Чтобы задать все доступные права на указанный объект, в стандарте предусмотрена конструкция ALL PRIVILEGES. Конструкция WITH GRANT OPTION дает разрешение пользователю самому назначать права. Чтобы сделать некоторые права на указанные объекты общедоступными в Oracle и PostgreSQL в качестве имени пользователя нужно указать public.

-- разрешаем пользователю username

-- вставлять, обновлять, вставлять и удалять записи

-- из таблицы tblname в текущей схеме

GRANT select, update, insert, delete

ON tblname

TO username;

-- Oracle

GRANT execute ON proc TO username;

GRANT execute ON func TO username;

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

GRANT ALL PRIVILEGES

ON tblname

TO username

WITH GRANT OPTION;

-- Oracle

GRANT select

ON tblname

TO public;

В Oracle каждый пользователь имеет полный доступ к одноименной схеме. В Oracle имя привилегии определяет и действие, и тип объектов. Ключевое слово ANY указывает, что привилегия распространяется на все схемы, иначе только на текущую (из которой вызывается команда GRANT).

-- право на создание таблицы

GRANT create table TO username;

-- право на создание любых таблиц

GRANT create any table TO username;

-- право на создание триггера

GRANT create trigger TO username;

-- право на уничтожение любой последовательности

GRANT drop any sequence TO username;

-- право на изменение любой таблицы

GRANT alter any table TO username;

-- право на соединение к БД

GRANT create session TO username;

Удаление прав делается командой REVOKE.

Роли

Для удобства управления привилегиями используются роли. Им можно назначать права так же, как и пользователям или использовать вместо имени привилегии в командах GRANT и REVOKE.

Синтаксис создания ролей в Oracle также схож с синтаксисом создания пользователей.

-- создание роли

CREATE ROLE rolename;

-- роль с паролем

CREATE ROLE rolename

IDENTIFIED BY pswd;

-- добавление права роли

GRANT select ON tblname TO rolename;

-- добавление роли пользователю

GRANT rolename TO username;

-- уничтожение роли

DROP ROLE rolename;

DBA - Администратор базы данных - лицо, отвечающее за выработку требований к базе данных, её проектирование, реализацию, эффективное использование и сопровождение, включая управление учётными записями пользователей БД и защиту от несанкционированного доступа. Не менее важной функцией администратора БД является поддержка целостности базы данных.

Основные задачи администратора базы данных

  • Проектирование базы данных.

  • Оптимизация производительности базы данных.

  • Обеспечение и контроль доступа к базе данных.

  • Обеспечение безопасности в базе данных.

  • Резервное копирование и Восстановление базы данных.

  • Обеспечение целостности баз данных.

  • Обеспечение перехода на новую версию СУБД.

Основные типы администраторов БД

  • Системный администратор.

  • Архитектор БД.

  • Аналитик БД.

  • Программист баз данных.

  • Разработчик моделей данных.

  • Администратор Web-узла.

  • Проблемно-ориентированный администратор БД.

  • Аналитик производительности.

  • Администратор хранилища данных.

30) Создание, изменение и удаление таблиц в БД oracle, основные типы данных БД oracle.

Создание таблиц

Чтобы создать таблицу в своей схеме, необходимо иметь системную привилегию CREATE TABLE. Чтобы создавать таблицы в схемах других пользователей, необходимо иметь привилегию CREATE ANY TABLE.

Создание временной таблицы

Также можно создавать временную таблицу. Временная таблица видна всем сеансам пользователей, но данные  временной таблицы видимы только сеансу, который их туда добавляет. Для создания временной таблицы используется конструкция SQL – CREATE GLOBAL TEMPORARY TABLE. Ключевое слово ON COMMIT указывает, предназначена временная таблица для сеанса или для транзакции (по умолчанию).

  • Предложение ON COMMIT DELETE ROWS указывает, что временная таблица предназначена для транзакции. В этом случае таблица будет очищена (будут удалены все строки) после каждой фиксации транзакции.

  • Предложение ON COMMIT PRESERVE ROWS указывает, что временная таблица предназначена для сеанса. Она будет очищаться при завершении сеанса.

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