|
|
本帖最后由 Inkcup 于 2025-9-3 11:58 编辑
1.查询用户信息
select * from dba_users; 数据库里面所有用户,前提是你是有dba权限的帐号
select * from all_users; 查看你能管理的所有用户;
select * from user_users; 查看当前用户信息 。
select username,account_status from dba_users; 查看数据库用户的状态
ALTER USER 用户名 ACCOUNT UNLOCK; 用户解锁
SELECT profile, resource_name, limit FROM dba_profiles WHERE profile = 'DEFAULT‘; 查看默认的PROFILE设置
2.查看用户权限
如果想查看某一特定用户的权限信息,可以运行以下SQL语句:
select privilege from dba_sys_privs where grantee='username ';
如果想查看用户当前会话的权限,可以运行以下SQL语句:
SQL> select * from session privs;
3.查看当前用户所有表的表名:
SQL> select table_name from user_tables;
4.数据库用户的所有状态:
select * from user_astatus_map;
九种状态可分为两类:1.基本状态;2.组合状态。
前五种是基本状态:
OPEN
EXPIRED
EXPIRED(GRACE)
LOCKED(TIMED)
LOCKED
后四种是组合状态:
EXPIRED & LOCKED(TIMED)
EXPIRED(GRACE) & LOCKED(TIMED)
EXPIRED & LOCKED
EXPIRED(GRACE) & LOCKED
后四种的组合状态可通过状态号STATUS#获得其状态的两个组合。掌握前五种即可。
-----------------------------------------------------------------------------
五种基本状态可分为三类:
1.正常状态;2.锁定状态;3.密码过期状态。
1、OPEN状态表示用户处于正常状态。
2、LOCKED和LOCKED(TIMED)表示用户被锁定状态。
用户被锁定有两种:
一种是DBA显式的通过SQL语句对用户进行锁定;
另一种是被动的锁定,默认情况下如果密码输入错误超过10次。
该限制由PROFILE中的FAILED_LOGIN_ATTEMPTS控制,可查看视图DBA_PROFILES。
1)显式锁定用户LOCKED:alter user [username] account lock;
2)输入10次错误密码后被动锁定LOCKED(TIMED)
3、EXPIRED和EXPIRED(GRACE)表示用户密码过期状态。
修改PROFILE中的PASSWORD_LIFE_TIME实现密码是否过期:alter profile default limit password_life_time unlimited;
密码过期后也可修改PROFILE中的PASSWORD_GRACE_TIME控制使用的天数:alter profile default limit password_grece_time 180;
对于密码过期的用户OPEN:alter user <username> [ identified by password] account unlock;
-----------------------------------------------------------------------------
|
|