官方文档对于 DBA_USERS 的描述是:DBA_USERS describes all users of the database。翻译过来是,DBA_USERS 描述了数据库的所有用户。

使用 DBA_USERS,查询用户的名称、状态、默认表空间。从查询结果可以看到,用户baoyw是open状态,默认表空间是default_tbs。

sys@b19c01>select username,account_status,default_tablespace from dba_users where account_status = 'OPEN';

USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACE
-------------------- -------------------------------- ------------------------------
SYS OPEN SYSTEM
SYSTEM OPEN SYSTEM
BAOYW OPEN DEFAULT_TBS
PDB1 OPEN SYSTEM

DBA_USERS 的视图结构

sys@b19c01>desc dba_users
Name Null? Type
----------------------------------------- -------- ----------------------------
USERNAME NOT NULL VARCHAR2(128)
USER_ID NOT NULL NUMBER
PASSWORD VARCHAR2(4000)
ACCOUNT_STATUS NOT NULL VARCHAR2(32)
LOCK_DATE DATE
EXPIRY_DATE DATE
DEFAULT_TABLESPACE NOT NULL VARCHAR2(30)
TEMPORARY_TABLESPACE NOT NULL VARCHAR2(30)
LOCAL_TEMP_TABLESPACE VARCHAR2(30)
CREATED NOT NULL DATE
PROFILE NOT NULL VARCHAR2(128)
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(128)
EXTERNAL_NAME VARCHAR2(4000)
PASSWORD_VERSIONS VARCHAR2(17)
EDITIONS_ENABLED VARCHAR2(1)
AUTHENTICATION_TYPE VARCHAR2(8)
PROXY_ONLY_CONNECT VARCHAR2(1)
COMMON VARCHAR2(3)
LAST_LOGIN TIMESTAMP(9) WITH TIME ZONE
ORACLE_MAINTAINED VARCHAR2(1)
INHERITED VARCHAR2(3)
DEFAULT_COLLATION VARCHAR2(100)
IMPLICIT VARCHAR2(3)
ALL_SHARD VARCHAR2(3)
PASSWORD_CHANGE_DATE DATE

DBA_USERS 的中文描述如下。官方文档参考地址:​​DBA_USERS (oracle.com)​

Column

Datatype

NULL

Description

​USERNAME​

​VARCHAR2(128)​

​NOT NULL​

用户的名称

​USER_ID​

​NUMBER​

​NOT NULL​

用户的 ID 号

​PASSWORD​

​VARCHAR2(4000)​


此列已弃用,取而代之的是该列​​AUTHENTICATION_TYPE​

​ACCOUNT_STATUS​

​VARCHAR2(32)​

​NOT NULL​

帐户状态:

  • ​OPEN​​帐户已打开。
  • ​EXPIRED​​​帐户的密码已过期,因为已达到限制或因为密码已过期... 命令。用户可以使用过期的密码登录,然后更改密码。​​PASSWORD_LIFE_TIME​​​​ALTER​​​​USER​​​​PASSWORD​​​​EXPIRE​
  • ​EXPIRED(GRACE)​​​帐户的密码已过期,因为已达到限制,但密码更改宽限期 () 尚未过去。用户可以使用过期的密码登录,但会收到一条警告,提醒您必须尽快更改密码。如果已过,用户可以使用过期的密码登录,然后更改密码。​​PASSWORD_LIFE_TIME​​​​PASSWORD_GRACE_TIME​​​​ORA-28002​​​​PASSWORD_GRACE_TIME​
  • ​LOCKED​​​该帐户被锁定,要么被... 命令,或者因为连续失败的登录尝试次数超出了限制,并且的值为 。该帐户可以通过以下方式解锁... 命令。​​ALTER​​​​USER​​​​ACCOUNT​​​​LOCK​​​​FAILED_LOGIN_ATTEMPTS​​​​PASSWORD_LOCK_TIME​​​​UNLIMITED​​​​ALTER​​​​USER​​​​ACCOUNT​​​​UNLOCK​
  • ​LOCKED(TIMED)​​​帐户被锁定,因为连续失败的登录尝试次数超过了限制,并且尚未经过。该帐户可以通过以下任一方式解锁... 命令或通过等待,直到 已过。​​FAILED_LOGIN_ATTEMPTS​​​​PASSWORD_LOCK_TIME​​​​ALTER​​​​USER​​​​ACCOUNT​​​​UNLOCK​​​​PASSWORD_LOCK_TIME​
  • ​EXPIRED & LOCKED​​​帐户的密码已过期(如帐户状态所述),并且帐户已锁定,如帐户状态所述。可以先按照帐户状态的说明解锁帐户,然后可以按照帐户状态的说明更改密码。​​EXPIRED​​​​LOCKED​​​​LOCKED​​​​EXPIRED​
  • ​EXPIRED(GRACE) & LOCKED​​​帐户的密码已过期(如帐户状态所述),并且帐户已锁定,如帐户状态所述。可以先按照帐户状态的说明解锁帐户,然后可以按照帐户状态的说明更改密码。​​EXPIRED(GRACE)​​​​LOCKED​​​​LOCKED​​​​EXPIRED(GRACE)​
  • ​EXPIRED & LOCKED(TIMED)​​​帐户的密码已过期(如帐户状态所述),并且帐户已锁定,如帐户状态所述。可以先按照帐户状态的说明解锁帐户,然后可以按照帐户状态的说明更改密码。​​EXPIRED​​​​LOCKED(TIMED)​​​​LOCKED(TIMED)​​​​EXPIRED​
  • ​EXPIRED(GRACE) & LOCKED(TIMED)​​​帐户的密码已过期(如帐户状态所述),并且帐户已锁定,如帐户状态所述。可以先按照帐户状态的说明解锁帐户,然后可以按照帐户状态的说明更改密码。​​EXPIRED(GRACE)​​​​LOCKED(TIMED)​​​​LOCKED(TIMED)​​​​EXPIRED(GRACE)​

​LOCK_DATE​

​DATE​


如果帐户状态为​​LOCKED​

​EXPIRY_DATE​

​DATE​


帐户到期日期

​DEFAULT_TABLESPACE​

​VARCHAR2(30)​

​NOT NULL​

数据的缺省表空间

​TEMPORARY_TABLESPACE​

​VARCHAR2(30)​

​NOT NULL​

临时表的默认表空间的名称或表空间组的名称

​LOCAL_TEMP_TABLESPACE​

​VARCHAR2(30)​


用户的默认本地临时表空间

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​CREATED​

​DATE​

​NOT NULL​

用户创建日期

​PROFILE​

​VARCHAR2(128)​

​NOT NULL​

用户资源配置文件名称

​INITIAL_RSRC_CONSUMER_GROUP​

​VARCHAR2(128)​


用户的初始资源使用者组

​EXTERNAL_NAME​

​VARCHAR2(4000)​


用户外部名称

​PASSWORD_VERSIONS​

​VARCHAR2(12)​


显示帐户现有的密码哈希版本(也称为“验证程序”)的列表。

此列的值可以包括:

  • ​10G​​:如果存在旧的不区分大小写的 ORCL 哈希
  • ​11G​​:如果存在 SHA-1 哈希
  • ​12C​​:如果存在基于 PBKDF2 的已取消优化的哈希
  • ​HTTP​​:如果存在 MD5 哈希(用于 HTTP 摘要式身份验证)

有关 12C 验证程序的详细信息,请参阅 ​​Oracle 数据库概念​​。

请注意,对于任何给定帐户,这些验证程序的任意组合都可以存在。

​EDITIONS_ENABLED​

​VARCHAR2(1)​


指示是否已为相应用户 () 启用版本 (​​Y​​​​N​​)

​AUTHENTICATION_TYPE​

​VARCHAR2(8)​


指示用户的身份验证机制:

  • ​EXTERNAL​​​ - ​​CREATE USER ​​​user1​​​ IDENTIFIED EXTERNALLY;​
  • ​GLOBAL​​​ - ​​CREATE USER ​​​user2​​​ IDENTIFIED GLOBALLY;​
  • ​PASSWORD​​​ - ​​CREATE USER ​​​用户 3​​用户 3​​​ IDENTIFIED BY ​​​​;​

​PROXY_ONLY_CONNECT​

​VARCHAR2(1)​


指示用户是否可以直接连接 ()或帐户是否只能由对此帐户具有代理特权的用户(即,已被授予此帐户的“连接方式”特权的用户)代理 ()。​​N​​​​Y​

有关创建代理用户帐户并授权用户通过代理用户帐户进行连接的详细信息,请参阅 ​​Oracle 数据库安全指南​​。

​COMMON​

​VARCHAR2(3)​


指示给定用户是否常见。可能的值

  • ​YES​​如果用户是常用用户
  • ​NO​​如果用户是本地用户(不常见)

​LAST_LOGIN​

​TIMESTAMP(9) WITH TIME ZONE​


上次用户登录的时间

当用户使用管理特权(即 )连接到数据库时,不会填充此列。​​AS​​​​{​​​​SYSASM​​​​|​​​​SYSBACKUP​​​​|​​​​SYSDBA​​​​|​​​​SYSDG​​​​|​​​​SYSOPER​​​​|​​​​SYSRAC​​​​|​​​​SYSKM​​​​}​

​ORACLE_MAINTAINED​

​VARCHAR2(1)​


表示用户是否由 Oracle 提供的脚本(如 catalog.sql 或 catproc.sql)创建和维护。除非运行 Oracle 提供的脚本,否则不得以任何方式更改此列具有该值的用户。​​Y​

​INHERITED​

​VARCHAR2(3)​


指示用户定义是否从另一个容器 () 继承(​​YES​​​​NO​​)

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​DEFAULT_COLLATION​

​VARCHAR2(100)​


用户架构的默认排序规则

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​IMPLICIT​

​VARCHAR2(3)​


指示此用户是否为由隐式应用程序 () 创建的普通用户 (​​YES​​​​NO​​)

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

​ALL_SHARD​

​VARCHAR2(3)​


在分片数据库中,此列中的值指示用户是否是在启用分片 DDL 的情况下创建的。可能的值包括:

  • ​YES​​:用户是在启用分片 DDL 的情况下创建的。用户存在于所有分片和分片目录上。
  • ​NO​​:用户是在未启用分片 DDL 的情况下创建的。用户仅存在于创建用户的数据库中。

在非分片数据库中,此列中的值始终为 。​​NO​

此列从 Oracle Database 12c Release 2 (12.2.0.1) 开始提供。

>>>如果文章对你有所帮助,欢迎关注点赞收藏评论,谢谢!<<<