Oracle用户、权限管理
熟练掌握数据库用户以及权限的设置很重要。
一、用户
1.创建用户
1 --创建用户 2 create user monkey identified by monkey 3 default tablespace fruit;
上面创建了一个用户名为"monkey",密码为"monkey"的用户,默认表空间为fruit。
使用以下的语句可以查看此数据库中的所有用户:
1 select * from all_users;
2.修改用户信息
1 --修改用户信息 2 alter user monkey identified by monkey 3 default tablespace SYSTEM;
上面的语句将monkey用户的默认表空间修改为SYSTEM。
使用以下语句可以查看数据库中所有用户更加详细的信息(用户密码、默认表空间等):
select * from dba_users;
3.删除用户
1 --删除用户 2 drop user monkey cascade;
cascade表示删除用户的同时也把用户的数据也删除掉。
二、权限
1.授予/收回 系统权限
1 -- 赋予用户登录数据库的系统权限 2 GRANT create session to monkey 3 WITH ADMIN OPTION; 4 -- 收回用户登录数据库的系统权限 5 REVOKE create session from monkey;
2.授予/收回 对象权限
1 -- 赋予用户操作表的对象权限 2 GRANT select any table to monkey; 3 GRANT select on banana to monkey; 4 -- 收回用户操作表的对象权限 5 REVOKE select any table from monkey;
通过权限授予之后,可以通过以下语句查看对象的权限:
1 --查看特定用户拥有的系统权限 2 select * from dba_sys_privs 3 where grantee = 'MONKEY'; 4 --查看特定用户拥有的对象权限 5 select * from dba_tab_privs 6 where grantee = 'MONKEY';
三、角色
1.创建角色并授予角色权限
1 --创建角色并授予权限 2 CREATE ROLE herorole 3 NOT IDENTIFIED; 4 --授予角色登录的权限 5 GRANT CREATE SESSION TO herorole;
2.设置角色失效(MARK 待写)
3.授予用户角色
1 --授予用户角色 2 GRANT herorole TO monkey;
4.修改角色极其权限
1 --修改角色 2 alter role herorole 3 not identified; 4 --修改角色权限 5 grant create table to herorole; 6 revoke create table to herorole; 7 grant create sesion to herorole; 8 revoke create sesion to herorole;
5.删除角色
1 --删除角色 2 drop role herorole;
此外,你可以查看用户拥有的角色:
1 --查看用户拥有的角色 2 select * from dba_role_privs 3 where grantee = 'MONKEY' ;
查看某个角色拥有的权限的方法与查询用户的权限一样。
请补充更多的SQL例子。(MARK)
![扫描关注微信公众号](https://images.cnblogs.com/cnblogs_com/chanshuyi/1943043/o_220725133529_%E5%BE%AE%E4%BF%A1%E6%90%9C%E4%B8%80%E6%90%9C-%E6%A0%91%E5%93%A5%E8%81%8A%E7%BC%96%E7%A8%8B.png)