首页 > 数据库 > Oracle > oracle 用户管理
oracle 用户 权限 角色
[@more@]创建一个用户,用户名hr,密码hr,默认表空间hr。
create user hr identified by hr default tablespace hr account unlock;
删除用户hr
drop user hr cascade;
更改用户的口令
alter user 用户名 identified by 口令
alter user hr identified by hr123;
用户解锁
alter user hr account unlock;
创建一个用户后,默认没有任何权限
一些常用权利
create/drop user 创建和删除用户
create session 连接数据库
select any table 查询任何用户的表和视图的权利
create any table 在任何模式下创建表
drop any table 在任何模式下删除表
dba dba权利
查看权限列表
select * from session_privs;
select * from session_roles;
授权
grant create session to scott;
收回权利
revoke 权利 from 用户
例子:revoke create session from scott;
创建角色给角色添加权利
create role 角色名
grant 权利 to 角色名
grant 角色名 to 用户名
select * from role_sys_privs where role like '/ani%'
select * from dba_role_privs where granted_role like 'ani%'
注意connect 和 resource 角色的使用
with admin option VS with grant option
在赋予user 权限或者role 时,常常会用到with admin option 和with grant option,
而在使用中,可能会很容易出现混淆的情况,现把他们的相同点和不同点总结如下:
相同点:
- 两个都可以既可以赋予user 权限时使用,也可以在赋予role 时用
GRANT CREATE SESSION TO emi WITH ADMIN OPTION;
GRANT CREATE SESSION TO role WITH ADMIN OPTION;
GRANT role1 to role2 WITH ADMIN OPTION;
GRANT select ON customers1 TO bob WITH GRANT OPTION;
GRANT select ON customers1 TO hr_manager(role) WITH GRANT OPTION;
- 两个受赋予者,都可以把权限或者role 再赋予other users
- 两个option 都可以对DBA 和APP ADMIN 管理带来方便性,但同时,都带来不安全的因素
不同点:
- with admin option 只能在赋予 system privilege 的时使用
- with grant option 只能在赋予 object privilege 的时使用
- 撤消带有admin option 的system privileges 时,连带的权限将保留
例如:
1. DBA 给了CREATE TABLE 系统权限给JEFF WITH ADMIN OPTION
2. JEFF CREATES TABLE
3. JEFF grants the CREATE TABLE 系统权限给EMI
4. EMI CREATES A table
5. DBA 撤消CREATE TABLE 系统权限从JEFF
结果:
JEFF‘S TABLE 依然存在,但不能创建新的TABLE 了
EMI’S TABLE 依然存在,他还保留着CREATE TABLE 系统权限。
- 撤消带有grant option 的object privileges 时,连带的权限也将撤消
例如:
1. JEFF 给了SELECT object privileges 在EMP 上 WITH ADMIN OPTION
2. JEFF 给了SELECT 权限在EMP 上 TO EMI
3. 后来,撤消JEFF的SELECT 权限
结果:
EMI 的权限也被撤消了
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/309902/viewspace-1048528/ ,如需转载,请注明出处,否则将追究法律责任。