ORACLE 11G权限管理

1、创建角色

我们以往为数据库用户赋予角色权限:connect resource dba
这样做是不安全的。毕竟我们为所有用户都赋予了dba权限,有可能由于误操作而产生无法弥补的损失。
通过对数据库权限的梳理,我们可以按照如下方式添加一个数据库角色:developer,该角色具有常用权限,且操作范围在用户自己对象内。

1.1、创建developer角色

执行以下SQL:

--创建角色 developer
create role developer;
--为角色developer赋予权限
--创建外部任务
grant CREATE EXTERNAL JOB to developer;
--创建任务
grant CREATE JOB to developer;
--连接数据库
grant CREATE SESSION to developer;
--创建视图
grant CREATE VIEW to developer;
--创建CLUSTER
grant CREATE CLUSTER to developer;
--创建INDEXTYPE
grant CREATE INDEXTYPE to developer;
--创建OPERATOR
grant CREATE OPERATOR to developer;
--创建存储过程
grant CREATE PROCEDURE to developer;
--创建序列
grant CREATE SEQUENCE to developer;
--创建TABLE
grant CREATE TABLE to developer;
--创建触发器
grant CREATE TRIGGER to developer;
--创建TYPE
grant CREATE TYPE to developer;

2、为用户授权

有了此角色,我们可以为用户授予此角色以完成授权。通过PLSQL DEVELOPER,授权时选择角色权限,填写developer即可(不再需要为其授予resources connect dba角色权限),为了方便,我们还应该向用户赋予系统权限unlimited tablespace。如果没有赋予unlimited tablespace系统权限,且未向用户赋予任何tablespace权限,会导致tablespace权限不足问题。

若使用SQL语句授权,则执行以下SQL:

grant developer to 用户名;
grant unlimited tablespace to 用户名;

猜你喜欢

转载自blog.csdn.net/xin_bao_long/article/details/82798514