java用户和角色的区别_Oracle 用户、角色与权限管理

一、权限

权限分为系统权限和实体权限。

1.系统权限常用如下:

CREATE SESSION

连接到数据库 CREATE PROCEDURE 建立存储过程

CREATE TABLE

建表 CREATE TRIGGER 建立触发器

CREATE VIEW

建立视图 CREATE CLUSTER 建立簇

CREATE TYPE

建立对象类型 CREATE PUBLIC SYNONYM 建立同义词

CREATE SEQUENCE

建立序列 CREATE DATABASE LINK 建立数据库链

--如果加上any ,例如 CREATE ANY TABLE

即为可以创建修改其他所有用户的表。

授予用户系统权限

GRANT CREATE VIEW TABLE TO liut_data;

--授予用户liut_data创建视图的系统权限

GRANT CREATE SESSION,CREATE TABLE TO liut_data WITH ADMIN

OPTION;

--WITH ADMIN

OPTION的作用使授予给liut_data的这些权限可以授予其他角色或用户,且当liut_data的权限被回收时,不会影响他授予其他用户和角色的权限(权限的传递性)。

2.对象权限通常包括:

SELECT UPDATE ALTER DELETE INDEX INSERT REFERENCES

授予用户对象权限(假设以 liu 的用户登录,授予 liut_data 权限)

GRANT UPDATE ON liu.emp TO liut_data;

--授予用户liut_data可以更新用户liu下emp表的权限;

GRANT SELECT ON liu.emp TO liut_data WITH GRANT

OPTION;

--WITH GRANT OPTION的作用使授予给liut的这些权限可以授予其他用户,但当liut_data的SELECT

ON liu.emp权限被回收时,liut_data所授予其他用户的SELECT ON liu.emp权限也会被回收。

3.WITH ADMIN OPTION 和 WITH GRANT OPTION 的区别

WITH ADMIN OPTION 只能用于系统权限授予,授予范围为角色和用户,且不会被波及。

WITH GRANT OPTION 只能用于对象权限授予,授予范围只为用户,且会被波及,权限一并回收。

二、角色

角色是权限的集合,多个权限的打包。

1.常用的角色有 CONNECT,RESOURCE,DBA

(均是建立数据库时,Oracle执行脚本SQL.BSQ自动建立的角色)

CONNECT 角色包含的权限有:

CREATE PROCEDURE 建立存储过程 ALTER SESSION 修改会话参数配置

CREATE

TABLE建表 CREATE TRIGGER 建立触发器

CREATE

VIEW建立视图 CREATE CLUSTER 建立簇

CREATE SEQUENCE

建立序列 CREATE DATABASE LINK建立数据库链

CREATE PUBLIC SYNONYM 建立同义词

RESOURCE 角色包含以下权限:

CREATE TYPE

建立类型 CREATE PROCEDURE 建立存储过程

CREATE TABLE

建表 CREATE TRIGGER 建立触发器

CREATE CLUSTER

建立簇 CREATE

INDEX TYPE 建立索引类型

CREATE SEQUENCE 建立序列

DBA 角色

该角色具有所有系统权限和WITH ADMIN OPTION选项。

2.自定义角色

CREATE ROLE myrole;

GRANT CREATE SESSION,CREATE TABLE TO myrole; --给角色授权

DROP ROLE myrole;

3.授权用户某种角色

和授权权限一样

GRANT CONNECT,RESOURCE,DBA TO liut; --授予用户liut三种角色

三、Oracle 用户

1.创建用户

CREATE USER liut IDENTIFIED BY liut --用户名liut密码liut

DEFAULT TABLESPACE mytablespace --指定用户表空间

TEMPORARY TABLESPACE mytemporary; --指定临时表空间

2.授予权限/角色

GRANT CREATE SESSION TO liut_data WITH ADMIN OPTION;

GRANT CREATE TABLE TO liut_data;

GRANT CONNECT,RESOURCE,DBA TO liut;

3.删除用户

drop user liut cascade; --加上cascade级联删除liut所创建的所有对象

4.权限回收

revoke connect,resource from liut;

SELECT * FROM

dba_role_privs;

SELECT * FROM

dba_sys_privs;

SELECT * FROM

role_sys_privs;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值