1. Пользователь системы по умолчанию
Java-код
sys;//Системный администратор, имеет высшие полномочия
system;//Локальный администратор, второй по величине орган власти
scott;//Для обычных пользователей пароль по умолчанию — «тигр» и по умолчанию не разблокирован.
2. Войти
Java-код
sqlplus conn / as sysdba; // Войдите в учетную запись sys
sqlplus sys как sysdba; // То же, что и выше
sqlplus scott/tiger;//Войти под обычным пользователем scott
3. Управление пользователями
Java-код
создаем пользователя zhangsan;//Под учетной записью администратора создаем пользователя zhangsan
предупредить пользователя Скотта, идентифицированного тигром; // Изменить пароль
4. Предоставьте разрешения
1. Обычный пользователь Скотт по умолчанию не разблокирован и не может быть использован. Вновь созданный пользователь не имеет никаких разрешений, и ему необходимо предоставить разрешения.
Java-код
/*Авторизация администратора*/
предоставить пользователю zhangsan возможность создания сеанса; //Предоставить пользователю zhangsan разрешение на создание сеанса, то есть разрешение на вход в систему
предоставить неограниченный сеанс для zhangsan;//Предоставить пользователю zhangsan разрешение на использование табличного пространства
предоставить Чжансану разрешение на создание таблицы;//Предоставить разрешение на создание таблицы
предоставить разрешение на удаление таблицы Чжансану;//Предоставить разрешение на удаление таблицы
предоставить Чжансану вставку таблицы;//Разрешение на вставку таблицы
предоставить zhangsan таблицу обновления;//Разрешение на изменение таблицы
предоставить все общедоступным;//Это более важно, предоставить все разрешения (все) всем пользователям (публично)
2. В Oralce существует строгое управление разрешениями. Обычные пользователи по умолчанию не могут получить доступ друг к другу, и им необходимо авторизовать друг друга.
Java-код
/*oralce строго относится к управлению разрешениями, и обычные пользователи по умолчанию не могут получить доступ друг к другу*/
предоставить пользователю zhangsan выбор имени таблицы; //Предоставить пользователю zhangsan разрешение на просмотр указанной таблицы
предоставить разрешение на удаление имени таблицы Чжансану;//Предоставить разрешение на удаление таблицы
предоставить Чжансану вставку имени таблицы;//Предоставить разрешение на вставку
предоставить обновление имени таблицы Чжансану;//Предоставить разрешение на изменение таблицы
предоставить вставку (id) в имя таблицы Чжансану;
предоставить обновление (id) имени таблицы для zhangsan;//Предоставить разрешения на вставку и изменение определенных полей указанной таблицы. Обратите внимание, что можно только вставлять и обновлять.
предоставить оповещение всей таблицы для zhangsan;//Предоставить пользователю zhangsan разрешение на оповещение любой таблицы
5. Отзыв разрешений
Основной синтаксис кода Java такой же, как и при предоставлении, а ключевое слово — отзыв.
6. Просмотр разрешений
Java-код
select * from user_sys_privs;//Просмотр всех разрешений текущего пользователя
select * from user_tab_privs;//Просмотр разрешений пользователя на таблицу
7. Таблица пользователей, которые управляют таблицей
Java-код
/*Вам необходимо добавить имя пользователя перед именем таблицы, как показано ниже*/
выберите * из zhangsan.tablename
8. Передача разрешений означает, что пользователь A предоставляет разрешение B, а B может предоставить разрешение на операцию C. Команда выглядит следующим образом:
Java-код
предоставить таблицу предупреждений по имени таблицы для zhangsan с опцией администратора //Ключевое слово с опцией администратора;
предоставить таблицу оповещений по имени таблицы Чжансану с опцией предоставления;//Эффект ключевого слова с опцией предоставления аналогичен администратору
9. Роль Роль — это набор разрешений, которые могут предоставить пользователю роль.
Java-код
создать роль myrole;//Создать роль
предоставить разрешение на создание сеанса myrole;//Предоставить разрешение на создание сеанса myrole
предоставить роль myrole пользователю zhangsan;//Предоставить роль myrole пользователю zhangsan
удалить роль myrole удалить роль;
/*Но некоторые разрешения не могут быть предоставлены ролям, например неограниченное табличное пространство и любое ключевое слово*/
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/JustForFly/archive/2009/10/16/4681707.aspx.
Разрешения объекта:
1. Синтаксис предоставления разрешений объекта:
GRANT object_privilege ON object_name TO username [С GRANT OPTION];
Примечание. После использования оператора With GRANT OPTION пользователь может предоставить те же разрешения другим пользователям, что совпадает с системными разрешениями.
2. Синтаксис отзыва разрешений объекта:
ОТМЕНИТЬ привилегию объекта ON имя_объекта ОТ имени пользователя;
Примечание. Когда разрешения пользователя A будут удалены, разрешения, предоставленные B пользователю A, автоматически исчезнут, что противоположно системным разрешениям.
3. Просмотрите разрешения для конкретных объектов:
выберите * из dba_tab_privs, где грантополучатель = 'WANGXIAOQI';
выберите * fromTABLE_PRIVILEGESwhere GRANTEE='WANGXIAOQI';
Примечание 1. Оба могут просматривать права доступа к объектам, но формы отображения различны.
Примечание 2. Имя таблицы — TABLE_PRIV, но это не только таблица, но и вся информация об объекте, включая функцию, процедуру, пакет и т. д.
4. Типов объектных привилегий сравнительно немного, и они различаются в зависимости от типа объекта.
Вы можете использовать all для замены всех типов разрешений этого типа объекта при назначении значений, например:
предоставить выбор, обновление, удаление, вставку в имя_таблицы в имя_пользователя;
предоставить все в table_name пользователю user_name;
Примечание. Для ТАБЛИЦЫ все включает в себя: ИЗМЕНЕНИЕ, УДАЛЕНИЕ, ИНДЕКС, ВСТАВКА, ВЫБОР, ОБНОВЛЕНИЕ, ССЫЛКИ, ОБНОВЛЕНИЕ ПРИ СОЕДИНЕНИИ, ПЕРЕЗАПИСЬ ЗАПРОСА, ОТЛАДКА, FLASHBACK.
Управление ролями:
1. Упростить операцию авторизации через роли. Каждая роль содержит несколько системных разрешений. Роли включают в себя предопределенные и настраиваемые системой роли.
select * from dba_roles; --Запросить все текущие списки РОЛЕЙ, включая пользовательские
select * from dba_role_privs --Запросить разрешения ROLE пользователя;
select * from ROLE_SYS_PRIVS — Запросить ROLE текущего пользователя и содержащиеся в нем системные разрешения;
2. Предопределенные в системе роли:
СОЕДИНЯТЬ:
СОЗДАТЬ ПРОСМОТР
СОЗДАТЬ ТАБЛИЦУ
ИЗМЕНИТЬ СЕССИЯ
СОЗДАТЬ КЛАСТЕР
СОЗДАТЬ СЕАНС
СОЗДАТЬ СИНОНИМ
СОЗДАТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ
СОЗДАТЬ ССЫЛКУ НА БАЗУ ДАННЫХ
РЕСУРС:
СОЗДАТЬ ТИП
СОЗДАТЬ ТАБЛИЦУ
СОЗДАТЬ КЛАСТЕР
СОЗДАТЬ ТРИГГЕР
СОЗДАТЬ ОПЕРАТОРА
СОЗДАТЬ ПОСЛЕДОВАТЕЛЬНОСТЬ
СОЗДАТЬИНДЕКСТИП
СОЗДАТЬ ПРОЦЕДУРУ
Кроме того, он включает в себя более важные РОЛЬ, такие как: DBA, EXP_FULL_DATABASE, IMP_FULL_DATABASE и т. д.
3. Индивидуальные роли:
Создать РОЛЬ:
СОЗДАТЬ РОЛЬ имя_роли
[НЕ ИДЕНТИФИЦИРОВАН | ИДЕНТИФИЦИРОВАН ПО паролю]
Примечание: IDENTIFIED указывает, требуется ли пароль при изменении РОЛИ <изменение, исключая авторизацию и отмену разрешений>
После создания роли используйте предоставление и отзыв, чтобы вручную установить разрешения, соответствующие роли.
Затем используйте разрешение и отзыв, чтобы назначить роль пользователю.
Примечание: роль можно назначить роли
4. Включить и отключить РОЛЬ:
SET ROLE [роль [идентифицируется паролем] |,роль [идентифицируется паролем]...]
ВСЕ [КРОМЕ роли[,роль]...]
НЕТ ];
Примечание. ВСЕ означает включение всех ролей пользователя, НЕТ означает отключение всех ролей.
пример:
Отключить все роли: сетроленон;
Включите все роли: setroleall; --role не может иметь пароль.
Включите роль: setrole role_test, определенный тестом, --если есть пароль;
Отключите роль: setroleallException role_test;
Примечание. Команда setrole является перезаписывающей, то есть нельзя сначала включить одну, а потом включить другую. Все надо запускать одной командой;
5. Установите роли при изменении пользователей:
ИЗМЕНИТЬ имя пользователя ПОЛЬЗОВАТЕЛЯ
[роль по умолчанию [имя_роли[,имя_роли,...]]
все [кроме имя_роли[,имя_роли,...]]
нет ];
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/cosio/archive/2009/08/18/4459756.aspx.