oracoracle账号le_控制用户权限
①权 限
数据库安全性:
系统安全性
数据安全性
系统权限: 对于数据库的权限
对象权限: 操作数据库对象的权限
1.系统权限
超过一百多种有效的权限
数据库管理员具有高级权限以完成管理任务,例如:
创建新用户
删除用户
删除表
备份表
②创建用户
DBA 使用 CREATE USER 语句创建用户
CREATE USER user
IDENTIFIED BY password;
1.用户的系统权限
用户创建之后, DBA 会赋予用户一些系统权限
GRANT privilege [, privilege…]
TO user [, user| role, PUBLIC…];
以应用程序开发者为例, 一般具有下列系统权限:
CREATE SESSION(创建会话)
CREATE TABLE(创建表)
CREATE SEQUENCE(创建序列)
CREATE VIEW(创建视图)
CREATE PROCEDURE(创建过程)
③创建用户表空间
用户拥有create table权限之外,还需要分配相应的表空间才可开辟存储空间用于创建的表
ALTER USER atguigu01(用户) QUOTA UNLIMITED (无限制)
ON users(表空间)
④创建角色并赋予权限
1.创建角色
CREATE ROLE manager;
2.为角色赋予权限
GRANT create table, create view
TO manager;
3.将角色赋予用户
GRANT manager TO DEHAAN, KOCHHAR;
⑤修改密码
DBA 可以创建用户和修改密码
用户本人可以使用 ALTER USER 语句修改密码
ALTER USER scott
IDENTIFIED BY lion;
⑥对象权限
不同的对象具有不同的对象权限
对象的拥有者拥有所有权限
对象的拥有者可以向外分配权限
GRANT object_priv [(columns)]
ON object
TO {user|role|PUBLIC}
[WITH GRANT OPTION];
WITH GRANT OPTION和PUBLIC关键字
WITH GRANT OPTION 使用户同样具有分配权限的权利
向数据库中所有用户分配权限
⑦查询权限分配情况
数据字典视图 描述
ROLE_SYS_PRIVS 角色拥有的系统权限
ROLE_TAB_PRIVS 角色拥有的对象权限
USER_ROLE_PRIVS 用户拥有的角色
USER_TAB_PRIVS_MADE 用户分配的关于表对象权限
USER_TAB_PRIVS_RECD 用户拥有的关于表对象权限
USER_COL_PRIVS_MADE 用户分配的关于列的对象权限
USER_COL_PRIVS_RECD 用户拥有的关于列的对象权限
USER_SYS_PRIVS 用户拥有的系统权限
⑧收回对象权限
使用 REVOKE 语句收回权限
使用 WITH GRANT OPTION 子句所分配的权限同样被收回
REVOKE {privilege [, privilege…]|ALL}
ON object
FROM {user[, user…]|role|PUBLIC}
[CASCADE CONSTRAINTS];