用户(USER)、角色(ROLE)、给予(GRANT···TO···)/收回(REVOKE···FROM···)权限

蓝色底色的字为个人喜欢的名字,根据喜好进行修改

用户(USER)

在Oracle数据库中,用户的作用是实现数据库的安全性和权限管理。 每个用户都有自己的用户名和密码,通过用户名和密码验证后,用户可以访问和操作数据库中的对象,如表、视图、存储过程等。 不同用户之间的数据是相互隔离的,一个用户只能访问和操作自己拥有权限的对象。 其中,username是用户的名称,password是用户的密码。


创建用户 

创建用户 test_name 密码 123456

CREATE USER test_name IDENTIFIED BY 123456

创建用户 test_name 密码 123456 用户下的默认表空间为 def_tabspace 临时表空间为 temp_tabspace

CREATE USER test_name IDENTIFIED BY 123456 DEFAULT TABLESPACE def_tabspace TEMPORARY TABLESPACE temp_tabspace


给予权限

系统权限:CREATE SESSION(创建会话权限)、CREATE TABLE(创建表权限)、CREATE VIEW(创建视图权限)、CREATE USER(创建用户权限)、···

对象权限:SELECT(查询权限)、INSERT(插入权限)、UPDATE(更新权限)、DELETE(删除权限)、ALL(所有对象权限)、···

给予用户 test_username01 和用户 test_username02 创建表权限和创建视图权限(多个用户用逗号隔开,多个权限用逗号隔开)

GRANT CREATE TABLE,CREATE VIEW TO test_username01,test_username02

给予用户 test_username 创建表权限和创建视图权限,同时用户 test_username 能将自己的系统权限赋予他人(WITH ADMIN OPTION 有将自己的系统权限赋予给别人的权力)

GRANT CREATE TABLE,CREATE VIEW TO test_username WITH ADMIN OPTION

角色(ROLE)

角色可以包含多个系统权限和对象权限,将这些权限组合成一个集合,然后将该角色授予用户

创建角色 test_rolename,给予角色 test_rolename 创建表权限和创建视图权限,将角色 test_rolename 的身份赋予给用户 test_username

CREATE ROLE test_rolename;

GRANT CREATE TABLE,CREATE VIEW TO test_rolename;

GRANT test_rolename TO test_username;

给予用户 test_username 对表 test_tablename 的查找和插入权限

GRANT SELECT,INSERT ON test_tablename TO test_username

给予用户 test_username 对表 test_tablename 的查找和插入权限,同时用户 test_username 能将自己的对象权限赋予他人(WITH GRANT OPTION 有将自己的对象权限赋予给别人的权力)

GRANT SELECT,INSERT ON test_tablename TO test_username WITH GRANT OPTION


收回权限

收回用户 test_username 创建表权限和创建视图权限

REVOKE  CREATE TABLE,CREATE VIEW FROM test_username

收回用户 test_username 对表 test_tablename 的查找权限

REVOKE  SELECT ON test_tablename FROM test_username

 

posted @ 2025-06-18 17:51  wwwwxxxx  阅读(27)  评论(0)    收藏  举报