О. Ткачев - Основы программирования в СУБД Oracle. SQL+PL/SQL.
- Название:Основы программирования в СУБД Oracle. SQL+PL/SQL.
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:9785005186737
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
О. Ткачев - Основы программирования в СУБД Oracle. SQL+PL/SQL. краткое содержание
Основы программирования в СУБД Oracle. SQL+PL/SQL. - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
На компьютере, куда копируется база данных, нужно создать схему, установить с ней соединение, открыть и выполнить файл, полученный в результате экспорта.
Для осуществления экспорта нужно выбрать команду Tools —Database Export. В результате на экране появится окно (рисунок 1.20), в котором нужно выбрать экспортируемую схему, имя и расположение файла, куда будут экспортироваться данные. Рекомендуется снять флажок Show Schema. Если этого не сделать, то все операторы будут содержать имя экспортируемой схемы, что усложнит процесс копирования. На компьютере, куда копируется база, нужно будет обязательно создать схему, имя которой должно совпадать с именем копируемой схемы.

Рисунок 1.20. Окно экспорта
Полученный в результате экспорта файл можно использовать для графического отображения таблиц базы данных и связей между ними. Для этого данный файл нужно импортировать в программу Oracle SQL Developer Data Modeler. Так были получены схемы баз данных, которые рассматривались в предыдущем разделе.
Можно настроить многие параметры SQL Developer в соответствии со своими предпочтениями и потребностями. Для этого нужно выбрать в меню Tools команду Preferences. В качестве примера рассмотрим настройки параметров Database: NLS (рисунок 1.21).
Здесь указываются значения для параметров поддержки глобализации, такие как язык, территория, предпочтения сортировки и формат даты. Эти значения параметров используются для операций сеанса SQL Developer. Указанные на этой панели настройки не влияют на настройки СУБД. Чтобы изменить настройки СУБД, необходимо изменить соответствующие параметры, используя специальные команды, и перезапустить базу данных.

Рисунок 1.21. Настройка параметров Database: NLS
Создание пользователей и предоставление привилегий
Все действия с базой данных, включая создание ее объектов, осуществляются пользователями, поэтому на первом этапе необходимо создать пользователя и предоставить ему необходимые права (привилегии) для работы с базой данных.
Эту операцию должен выполнить администратор базы данных. По умолчанию администратором базы данных является пользователь SYSTEM.
Для создания нового пользователя используется команда CREATE USER. Упрощенный синтаксис этой команды имеет следующий вид:
CREATE USER {имя пользователя} IDENTIFIED BY {пароль}
DEFAULT TABLESPACE tablespace_name
QUOTA size (K | M | G) UNLIMITED ON tablespace_name;
где:
– tablespace_name – имя области данных, в которой будут создаваться объекты пользователя. Если имя области данных не указано, то объекты пользователя по умолчанию создаются в области данных SYSTEM;
– tablespace_tmp – имя области данных для временных объектов пользователя. Если имя области данных не указано, то временные объекты создаются в области данных SYSTEM;
– size – размер используемого пространства для области данных TABLESPACE в килобайтах (К), мегабайтах (М) и гигабайтах (G). Ключевое слово UNLIMITED используется для предоставления пространства неограниченного размера.
Пример:
CREATE USER C##HR_POC IDENTIFIED BY PASS123
DEFAULT TABLESPACE USERS
QUOTA 500M ON USERS;
Изменение пароля осуществляется командой:
ALTER USER {имя пользователя} IDENTIFIED BY {пароль};
Например:
ALTER USER C##HR_POC IDENTIFIED BY PASS456;
Для просмотра данных об объектах пользователя можно использовать следующий запрос:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED,
STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ {имя пользователя} ′;
Например:
SELECT OWNER, OBJECT_NAME, OBJECT_TYPE, CREATED, STATUS
FROM SYS. DBA_OBJECTS
WHERE OWNER = ′ C##HR_POC ′;
Для того чтобы получить имена пользователей, зарегистрированных на сервере, следует выполнить следующий запрос:
SELECT USERNAME FROM DBA_USERS ORDER BY 1;
Для удаления пользователя и принадлежащей ему схемы служит команда:
DROP USER {имя пользователя} CASCADE;
После создания пользователя ему необходимо предоставить привилегии (права), которые определяют, какие действия может выполнять пользователь. Привилегии, предоставленные пользователю, могут меняться с течением времени: можно отменить (отозвать) имеющиеся привилегии или добавить новые.
Привилегии делятся на системные и объектные. В таблице 1.1 приведены основные системные привилегии, которые администратор может предоставить пользователю, а таблица 1.2 содержит основные объектные привилегии.
Таблица 1.1. Основные системные привилегии

Таблица 1.2. Основные объектные привилегии

Для предоставления пользователю системных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ON {имя пользователя};
Пример предоставления системных привилегий пользователю:
GRANT CREATE SESSION, CREATE TABLE ON C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ON {имя пользователя};
Пример отзыва системной привилегии у пользователя:
REVOKE CREATE TABLE ON C##HR_POC;
Для предоставления пользователю объектных привилегий используется команда GRANT, которая имеет следующий синтаксис:
GRANT {имя привилегии} ({список столбцов}) ON {имя таблицы}
TO {имя пользователя};
где: ( {список столбцов}) – список столбцов, для которых предоставляется привилегия. Если column_list отсутствует, то привилегия предоставляется для всех столбцов.
Пример предоставления объектной привилегии:
GRANT UPDATE (RATING_E, SALARY) ON EMPLOYEES TO C##HR_POC;
Для отзыва привилегии используется команда:
REVOKE {имя привилегии} ({список столбцов})
ON {имя таблицы} TO {имя пользователя};
Пример отзыва объектной привилегии:
REVOKE UPDATE (SALARY) ON EMPLOYEES TO C##HR_POC;
Для того чтобы увидеть какие системные привилегии предоставлены пользователю, следует выполнить запрос
SELECT *
FROM USER_SYS_PRIVS;
Для просмотра объектных привилегий служит запрос
SELECT *
FROM USER_TAB_PRIVS_MADE
Привилегии могут быть сгруппированы в роли. Роль определяет список привилегий, предоставляемых пользователю. Существуют предопределенные роли, которые администратор может назначить пользователю. Таблица 1.3 содержит список наиболее часто используемых предопределенных ролей.
Читать дальшеИнтервал:
Закладка: