熟练掌握数据库用户以及权限的设置很重要。
一、用户
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)