Oracle命令:授权收回权限角色用户状态

 转载:http://greatwqs.iteye.com/blog/1061510 

授权语句

--select * from dba_users; 查询数据库中的所有用户


--alter user TEST_SELECT account lock; 锁住用户 
--alter user TEST_SELECT account unlock; 给用户解锁

 
--create user xujin identified by   xujin; 建立用户


--grant create tablespace to xujin; 授权 
--grant select on tabel1 to xujin; 授权查询 
--grant update on table1 to xujin; 
--grant execute on procedure1 to xujin 授权存储过程 
--grant update on table1 to xujin with grant option; 授权更新权限转移给xujin用户,许进用户可以继续授权;

 
--收回权限

--revoke select on table1 from xujin1; 收回查询select表的权限; 
--revoke all on table1 from xujin;


/*grant connect to xujin; 
revoke connect from xujin 
grant select on xezf.cfg_alarm to xujin; 
revoke select on xezf.cfg_alarm from xujin;*/ 
--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限 
--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限 
--select * from session_privs --当钱会话有效的系统权限

--角色


--create role xujin1;--建立xujin1角色 
--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息 
--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限 
--grant xujin1 to xujin ; 将角色的权限授权给xujin; 
-- create role xujin2; 
--grant xujin1 to xujin2; 将角色xujin1授权给xujin2; 
--alter user xujin default xujin1,xujin2; 修改用户默认角色 
-- DROP ROLE xujin1;删除角色1; 
--select * from role_sys_privs where role=xujin1; 
--查看许进1角色下有什么系统权限; 
--select granted_role,admin_option from role_role_privs where role='xujin2'; 
--查看xujin1角色下面有什么角色权限 
--select * from role_sys_privs where role='xujin2'; 
--select table_name,privilege from role_tab_privs where role='xujin1'; 
--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;

更新

oracle用户状态

oracle中查看用户权限
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
2.查看用户或角色系统权限:
select * from dba_sys_privs;
select * from user_sys_privs;
3.查看用户对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
4.查看所有角色:
select * from dba_roles;
5.查看用户或角色所拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;

-------------------------------------------------------------------------

基础状态:
OPEN
正常的打开状态


EXPIRED
管理员通过:

1.alter user XXX password expire;

2.用户超过了PASSWORD_LIFE_TIME设置的生存期,并且也超过了PASSWORD_GRACE_TIME设置的宽限期。

解决:当用户下次登录时会提示修改密码,修改后方可登录。或者管理员通过修改用户密码也可解除过期。


EXPIRED(GRACE)
用户超过了PASSWORD_LIFE_TIME设置的生存期,但并未超过了PASSWORD_GRACE_TIME设置的宽限期。如果PASSWORD_GRACE_TIME设置为UNLIMITED,那么下次登录时不会有任何提示(等同于OPEN),如果不是UNLIMITED,那么会出现用户好久过期,提示修改密码的消息出现。


LOCKED(TIMED)
用户超过了FAILED_LOGIN_ATTEMPTS连续登录失败的次数,账户出现的锁定状态,当锁定时间超过了PASSWORD_LOCK_TIME设置的时间后,用户会自动解锁(当然在没有进行登录时状态不会发生变化,只有试图登录时状态才会发生变化)。


LOCKED
这个是管理员通过alter user xxx account lock来锁定用户,PASSWORD_LOCK_TIME对此种情况无效,此种情况只有管理员通过alter user account unlock来解锁。

 

原文地址:https://www.cnblogs.com/sumsen/p/2525713.html