Отправляет email-рассылки с помощью сервиса Sendsay

СУБД Oracle "с нуля"

  Все выпуски  

Выпуск 10


Информационный Канал Subscribe.Ru

Выпуск 10.

        Доброе время суток! Сегодня мы рассмотрим темы, которые интересуют
читателей больше всего (судя по письмам). Это основы администрирования
(привилегии, роли, пользователи, безопасность и т.д.), создание репозитария
и начало работы в Oracle Enterprise Manager.

        А для начала, давайте ответим на несколько вопросов по
предыдущему выпуску:

        1. Для чего необходим экземпляр инициализации Oracle?

        2. Какие инструменты необходимы для создания экземпляра
        инициализации Oracle?

        3. Какие преимущества (недостатки) использования утилиты
        Oracle SQL*Plus?

        4. Какие преимущества дает использование представлений (view)?

        5. Какой объект БД позволяет создать уникальную
        последовательность значений?

Основы администрирования by GrayRat

Автор собирается дать определение таким понятиям как:

        1) системные и объектные привилегии;
        2) роли и разрешения;
        3) система защиты Oracle.

Кроме того, автор надеется, что после прочтения данного выпуска читатель
будет способен:

        1) создать табличное пространство;
        2) создать пользователя;
        3) назначить пользователю права, соответственно его роли в
        конкретной базе данных.

Автор сразу же хотел бы отметить, что это краткое руководство при любых
обстоятельствах нельзя назвать исчерпывающим. Вопрос администрирования
пользовательских прав и назначения пользователям того объема прав и
привилегий, который бы максимально полно отвечал требованиям с точки зрения
выполняемых пользователем служебных обязанностей, но в то же время
ограничивал пользователя в рамках его служебных функций - не тот вопрос,
который можно рассмотреть в рамках одного выпуска рассылки.
        Как читатель заметил, для работы с Oracle в любом качестве, будь то
разработчик базы данных или администратор, требуется имя пользователя и
пароль. Задавая при входе данные аутентификации, мы определяем тот набор
прав и привилегий, который будет нам доступен в качестве пользователя базы
данных Oracle, и в дальнейшем работаем в рамках данных прав.
        Для того чтобы читателю было понятно, о чем будет идти речь дальше,
автор считает необходимым дать определение нескольким основным понятиям.
Во-первых, рассмотрим виды привилегий, имеющиеся в Oracle, их назначение,
а также функции.
        Первый вид таких привилегий - системные привилегии или привилегии
доступа. Данные привилегии регламентируют возможные действия пользователя на
уровне всей базы данных в целом. Можно выделить пять основных групп таких
привилегий:

        1) Пользовательские привилегии (CONNECT). Относятся к пользователям,
        которые обращаются к системе, но не создают в ней никаких объектов.
        Например: CREATE SESSION, ALTER SESSION.

        2) Привилегии разработчика (RESOURCE). Данный набор привилегий дает
        возможность создавать объекты базы данных. Например: CREATE TABLE,
        CREATE VIEW.

        3) Привилегии администратора (DBA). Это исключительно мощный набор
        привилегий. Обычно их следует предоставлять только DBA и
        ответственным разработчикам. Данные привилегии применяются не только
        к объектам самого владельца базы данных, но и к объектам, которыми
        владеют другие пользователи (включая системных). Например:
        CREATE TABLESPACE, ALTER DATABASE.

        4) Привилегии сопровождения базы данных. Касаются сопровождения и
        поддержки базы данных. Данные привилегии должны иметь лишь DBA и
        другой обслуживающий компьютерный персонал.

        5) Привилегии контроля. Касаются контроля над работой базы данных
        Oracle. Обычно назначаются DBA и некоторым системным
        администраторам [1].

        Другим видом являются привилегии на объекты базы данных. С каждым
объектом базы данных связан набор привилегий доступа на него. Владелец
объекта имеет полный набор привилегий, доступный для данного объекта при
создании. Существует некоторое пересечение между системными привилегиями и
привилегиями на объекты.
        Для того чтобы, что-то сделать в Oracle, соответствующее лицо должно
сначала предоставить вам привилегию на выполнение этого. В Oracle
администраторы базы данных обычно контролируют системные привилегии, а
владельцы объектов контролируют доступ к принадлежащим им объектам.
Конкретная привилегия может быть, как выдана конкретному пользователю, так и
в любой момент отозвана у него. Допускается предоставление привилегий с
административными возможностями предоставления этой привилегии другому
пользователю.
        Кроме привилегии, выделяют также понятие разрешения. Разрешение можно
определить как совокупность системных и объектных привилегий конкретного
пользователя базы данных.
        Также в базе данных Oracle используется понятие роли. Роль - группа
пользователей, разделяющих общий набор привилегий. Другими словами, роль -
некий абстрактный пользователь, права которого могут быть назначены другим
пользователям базы данных (в операционных системах роли соответствует понятие
группы пользователей с назначенными ей правами).
        У читателя, возможно, возникнет вопрос: зачем все это необходимо?
Если бы все делали только то, что им указано, никогда не допускали ошибок и
заслуживали абсолютного доверия, не было бы никакой необходимости применять
защиту в системах управления базами данных. Однако не у всех есть
достаточные знания и необходимость создавать и удалять такие объекты базы
данных как индексы и представления, кроме того, некоторые организации
ограничивают доступ к данным из соображений конфиденциальности. Для этого и
были созданы различные механизмы контроля, призванные разграничить доступ и
обеспечить защиту хранящейся информации. Конечно, автор не ждет, что Вы
начнете применять все возможные механизмы защиты, только прочитав данный
выпуск рассылки, однако необходимо иметь некоторое представление о
возможностях Oracle в данном плане.

ЗАМЕЧАНИЕ: Кроме защиты на уровне базы данных, на практике также широко
        применяется защита на уровне приложения. Она позволяет обеспечить
        более гибкую настройку пользовательских политик при обеспечении
        доступа и работе с конкретными данными. Однако такая защита может
        иметь один существенный недостаток: в случае если пользователю
        станет известен имя пользователя и пароль пользователя СУБД Oracle,
        он сможет подключиться к ней с использованием какого-либо
        инструментального средства (например, Access или SQL*Plus) и
        выполнить потенциально опасные действия. В случае разработки такой
        системы защиты, требуется тщательно продумать схемы пользовательских
        привилегий, как на уровне базы данных, так и на уровне клиентского
        приложения. Например, автору однажды пришлось создавать пользователя
        базы данных, единственным правом которого было выполнение процедуры
        аутентификации, а затем возврата реальных параметров соединения
        уровня базы данных клиентскому приложению.

        Рассмотрев теоретические вопросы администрирования, перейдем к
практическим.
        Первым нашим шагом будет запуск программы DBA Studio. Данная утилита
предоставляет простой интуитивно понятный интерфейс для выполнения основных
административных функций. Итак, после того как мы запустили DBA Studio, нас
спросят, хотим ли мы присоединится к базе данных как standalone или
используя Enterprise Manager. Выбираем standalone.

ЗАМЕЧАНИЕ: Хотя Enterprise Manager и предоставляет гораздо больше функций
        администрирования (например, с его помощью можно организовать что-то
        типа "командного центра", позволяющего централизованно
        администрировать несколько баз данных), однако, прежде чем Вы
        сможете его использовать, необходимо сконфигурировать для данной
        программы репозитарий  и запустить ее в качестве службы, что само по
        себе является достаточно нетривиальной задачей.

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

        1) Общие параметры - данная группа содержит общие сведения,
        касающиеся функционирования экземпляра базы данных, как то: текущее
        состояния сервера базы данных, параметры инициализации, режимы
        работы и т.д.

        2) Пользовательские схемы - данная группа содержит иерархический
        список объектов базы данных (таблицы, триггеры и т.д.)
        сгруппированный по признаку их владельцев.

        3) Параметры безопасности - данная группа содержит список
        пользователей базы данных с их системными и объектными привилегиями.

        4) Параметры хранения - данная группа содержит список логических и
        физических объектов элементов хранения объектов базы данных Oracle.

        Сегодня мы рассмотрим работу с объектами последних двух групп.
Первым таки вопросом может стать создание табличного пространства.
        Табличное пространство является структурой базы данных Oracle,
применяющейся для хранения других объектов базы данных. Стоит отметить, что
табличное пространство СУБД Oracle и файл данных операционной системы - ни
одно и то же. Табличное пространство по существу представляет собой связь с
миром физической памяти, и с ним могут быть связаны один или несколько
файлов данных.
        Для того чтобы создать табличное пространство перейдем в группу
STORAGE, и, кликнув правой кнопкой мыши, выберем из контекстного меню пункт
"Create tablespace". После этого в появившемся диалоговом окне на первой
вкладке необходимо задать имя табличного пространства, а также один или
несколько файлов данных создаваемого нами табличного пространства (один
файл данных всегда создается по умолчанию). После этого можно было бы
задать дополнительные параметры табличного пространства и его файлов данных
(как то: начальный и максимальный размер, процент приращения и т.д.) однако
нам это сейчас не нужно. Нажимаем на "Create" и табличное пространство
создано.

СОВЕТ: Очень важно отметить, что в DBA Studio в большинстве административных
        форм управления объектами базы данных есть кнопочка "Show SQL". При
        нажатии на нее в нижней части появляется окошко, в котором
        показывается та команда, которой соответствуют выполненные Вами
        манипуляции с визуальным интерфейсом администрирования. Очень
        рекомендую держать данное окошко всегда открытым и потихоньку учить,
        учить и учить эти команды (не всю же жизнь в песочке играться,
        когда-нибудь придется делать работу ручками).

        Итак, табличное пространство создано. Перейдем к
созданию пользователя.
        Переходим в группу SECURITY, кликаем правой кнопкой и выбираем
"Create user". После этого вводим имя пользователя и пароль (а также его
подтверждение). Что еще нам потребуется указать, так это табличное
пространство "по умолчанию" (если не указывать уточненное имя объектов в
форме табличное_пространство.имя_объекта, то при создании объектов базы
данных, они будут создаваться именно в табличном пространстве "по умолчанию").
Кроме того, необходимо указать табличное "временное" табличное пространство
(если не ошибаюсь, оно используется для объектов создаваемых с опцией
temporary, а также для выполнения слишком больших манипуляций с данными,
когда те уже не могут выполняться в памяти). Ну, вот вроде и все, нажимаем
"Create" и пользователь создан.
        В принципе, еще до создания пользователя можно было определить его
права, однако ничто не мешает нам это сделать сейчас. Два раза кликаем левой
кнопкой мыши по нашему пользователю. Открывается окно свойств. Переходим на
вторую вкладку.
        Здесь мы можем определить системные привилегии нашего пользователя.
Скорее всего, у Вас там будет длиннющий список различных привилегий. Но
остановимся подробнее на самых основных. Ниже автор приводит содержание роли
пользователя базы данных, а также привилегии, которые ему скорее всего
потребуются для выполнения этой роли:

        а) пользователь - CONNECT
        б) разработчик - CONNECT, RESOURCE, UNLIMITED TABLESPACE
        в) администратор - CONNECT, DBA, [RESOURCE, UNLIMITED TABLESPACE]

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

        Использованные источники:
        1) Грин Джо и др. Oracle 8/8i Server. Энциклопедия пользователя:
Пер. с англ./Джо Грин и др. - К.: Издательство "ДиаСофт", 2000. - 576с.
ISBN 966-7393-44-5

Создание репозитария by Lemon

В Oracle Enterprise Manager репозитарий (repository – хранилище, система
хранения) содержит информацию о состоянии управляемой среды и о
management-пакетах. Oracle Management Server (один или несколько) использует
репозитарий в качестве сервера хранения, который предоставляет возможность
распределенного управления между клиентами и управляемыми узлами.
        Для создания репозитария используется утилита Enterprise Manager
Configuration Assistant (в программной группе – просто Configuration
Assistant). В последних версиях этой утилиты (начиная с 2.1) в процессе
создания репозитария в него включаются компоненты для работы со всеми
продуктами Enterprise Manager (независимо от того, установили Вы их при
инсталляции или нет).
        Давайте по шагам рассмотрим процесс создания репозитария:

        1. Для запуска мастера надо в домашней программной группе Oracle
выбрать Enterprise Manager, а затем Configuration Assistant (для UNIX-систем
надо в командной строке набрать «emca», впрочем, и пользователи Windows могут
воспользоваться этой же командой). В появившемся окне нужно выбрать первый
пункт: Create a new repository, т.е. создать новый репозитарий. Жмем next.

        2. Следующий экран предлагает Вам выбрать БД для репозитария (для
успешного выполнения операции необходимо, чтобы БД была установлена и
запущена). Здесь надо ввести имя пользователя с DBA-привилегиями и его
пароль, а также имя сервиса. Можно вместо имени сервиса использовать
комбинацию <host>:<port>:<SID> (например, apple:1521:orcl). Next.

        3. Репозитарием Enterprise Manager должен владеть какой-либо
пользователь, поэтому следующий экран попросит его указать. Вы можете
указать уже существующего пользователя, но лучше создать нового. Можете
также поставить галочку автоматического заполнения полей имени и пароля при
запуске Enterprise Manager. Next.

        4. Если на предыдущем шаге был создан новый пользователь, то этот
экран предложит выбрать для него табличное пространство. По умолчанию Вам
предложат oem_repository. Если хотите использовать уже существующее
табличное пространство, то ни в коем случае не используйте SYSTEM, ROLLBACK
или TEMPORARY. Next.

        5. Этот экран покажет резюме выбранных параметров. Если все
устраивает, то жмем FINISH. Далее автоматически будет создан репозитарий.

Начало работы в Oracle Enterprise Manager

        Итак, мы создали репозитарий. Прежде чем бросаться запускать консоль
Enterprise Manager, надо выполнить еще пару операций. Во-первых, надо
запустить Management Server, который организует связь между репозитарием и
Oracle Enterprise Manager. Во вторых, надо запустить сервис Oracle
Intelligent Agents, который позволит выполнять задания (jobs) и отслеживать
события (events). Проверить статус этих сервисов можно в стандартной
оснастке Windows «службы».
        Теперь (наконец-то!!!) мы можем запустить Oracle Enterprise Manager.
Его можно найти в программной группе Enterprise Manager, и запускаем Console.
        Oracle Enterprise Manager сразу предложит заполнить пользовательскую
информацию для входа. В Management Server надо указать сетевое имя станции,
где запущена эта служба. Имя пользователя для первого входа – sysman, а
пароль – oem_temp. Сразу после регистрации Вам предложат изменить пароль
пользователя sysman. Что и следует выполнить.
        Следующий шаг – это поиск узлов. Для этого при первом запуске
автоматически появится окно Discover Nodes. Здесь следует указать сетевое
имя компьютера.
        Теперь можно работать с Oracle Enterprise Manager. Главное окно
делится на 4 основные рабочие области: Навигатор, Группы, Задания и События.
Работа с ними – это большая отдельная тема. Можете поэкспериментировать с
ними. В принципе, большинство операций интуитивно понятны.
        Кроме того, через системное меню можно запускать различные утилиты:
DBA Studio, SQL*Plus Worksheet, Net8 Assistant и др.
        Если хотите добавить пользователей, которые смогут запускать Oracle
Enterprise Manager, то зайдите в System->Manage Administrators… Здесь же
можно настроить и различные права для пользователей. Хочу отметить, что для
работы с Oracle Enterprise Manager используется отдельный набор
пользователей. И ни один из пользователей, созданных для работы с БД, не
сможет работать с программой. Поэтому запомните, что первоначально
существует стандартный пользователь sysman\oem_temp, а остальных нужно
создавать.

        Удачных Вам экспериментов!

        На этом GrayRat и Lemon прощаются с Вами.
        Пишите:
        grayrat@rseu.ru
        lemon@donmetal.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное