插件窝 干货文章 查看oracle数据库有哪些可登录用户

查看oracle数据库有哪些可登录用户

方法 USERS 用户 SELECT 618    来源:    2025-03-28

Oracle数据库用户查询方法

要查看Oracle数据库中可登录的用户,您可以使用以下几种方法:

方法1:查询DBA_USERS视图

SELECT username, account_status, created, expiry_date 
FROM dba_users 
WHERE account_status = 'OPEN' 
ORDER BY username;

方法2:查询ALL_USERS视图(不需要DBA权限)

SELECT * FROM all_users;

方法3:查询USER_USERS视图(当前用户信息)

SELECT * FROM user_users;

方法4:查看具有CREATE SESSION权限的用户

SELECT grantee FROM dba_sys_privs 
WHERE privilege = 'CREATE SESSION' AND grantee IN 
(SELECT username FROM dba_users WHERE account_status = 'OPEN');

方法5:查看V$SESSION获取当前已登录用户

SELECT username, program, machine, logon_time 
FROM v$session 
WHERE type = 'USER' AND username IS NOT NULL;

注意事项

  1. 使用dba_users视图需要DBA权限
  2. account_status列显示用户状态:

    • OPEN:账户可用
    • LOCKED:账户被锁定
    • EXPIRED:密码已过期
    • EXPIRED(GRACE):在宽限期内
    • LOCKED(TIMED):因失败登录被锁定
  3. 要查看更详细的用户信息,可以扩展查询:

SELECT username, account_status, default_tablespace, temporary_tablespace, 
       profile, authentication_type, last_login
FROM dba_users
WHERE account_status = 'OPEN';

您需要根据您的权限级别选择合适的查询方法。