用户和角色管理

113 阅读3分钟

[TOC]

用户和角色用户管理

sys:系统内置的超级管理员 用于分配管理数据库账户、表空间,等其他对象。

scott:系统内置的普通管理员,示例账户。

1、创建用户

# 创建用户
create user 用户名 identified by 密码
[default tablespace tablespace_default]	# 表示该用户在创建数据对象时使用的默认空间表 

2、修改密码

超级管理员可以修改任何普通用户的密码,而不需要知道用户的旧密码。

# 修改密码
alter user 用户名 identified by 密码 

3、删除用户

# 删除的用户中没有任何对象
drop user 用户名

# 删除的用户中有对象时
drop user 用户名 cascade 

4、查看数据库中的所有用户

# 查看所有的用户
select * from dba_users;

# 查看所有用户名
# dba_开头的是查全库所有的,all_开头的是查当前用户可以看到的,user_开头的是查当前用户的
select username from user_users;

select username from dba_users; 

上课时创建了一个 test 用户

5、赋予用户权限

用户被创建后,没有任何权限,包括登录。用户如果想登录至少有“create session”的权限。

# 须超级管理员给用户授权 #
grant 权限1,权限2 to 用户名;

# 建立连接的权限
grant create session to 用户名

# 创建表的权限
grant create table to 用户名;

# 赋予用户查询、插入某张表的权限(需要在表所在用户下使用以下语句赋予权限)
grant select on 表名 to 用户名;
grant insert on 表名 to 用户名;

grant read,write on directory dpdata1 to scott;

# 给用户无限表空间权限
grant unlinmited tablespace to 用户名; 

6、回收权限

revoke 权限1,权限2 from 用户名; 

7、用户状态

用户状态解释
OPEN正常状态,为用户帐号初始创建后状态
EXPIRED密码过期状态,用户下次登录的时候需要修改密码
LOCKED锁定状态,不能执行任何Oracle相关操作

角色的管理

1、创建角色

如果系统预定义的权限不符合用户的需要,那么数据库管理员可以创建更多的角色。

create role 角色名 

2、为角色授权

# 为角色授权
grant 权限列表 to 角色列表 

3、通过角色为用户授权

# 通过角色为用户授权
crant 角色列表 to 用户列表 

4、回收权限

# 通过角色从用户回收权限
revoke 角色 from 用户;

# 从角色回收权限
revoke 权限 from 角色; 

5、删除角色

drop role 角色; 

6、预定义角色

Oracle数据库预先定义好的角色,通常包括:

角色概述
dba该角色中的权限通常赋给数据库管理员
connect是授予最终用户的典型权利,最基本的权利,能够连接到ORACLE数据库中,并在对其他用户的表有访问权限时,做SELECT、UPDATE、INSERTT等操作。
resource是授予开发人员的,能在自己的方案中创建表、序列、视图等。

7、查看角色所包含的权限

# 查看当前用户下角色中包含的系统权限
select * from role_sys_privs where role='角色名';

# 查看数据库下角色中包含的系统权限
select * from dba_sys_privs where grantee='角色名' 

对用户和角色理解

狼人杀

你自己 = 用户

身份牌 = 角色