如何获取锁定帐户列表/检查帐户是否已锁定?

Mik*_*ail 19 oracle

我可以使用以下语句来解锁帐户:

ALTER USER username ACCOUNT UNLOCK
Run Code Online (Sandbox Code Playgroud)

但是我可以使用哪个语句来验证该帐户当前已被锁定?

小智 27

正如Dba 的回答已经显示的那样,可以通过dba_users视图访问帐户状态信息。与具有适当授权的用户连接,这也可用于识别“非活动用户”:

SELECT username, account_status, created, lock_date, expiry_date
  FROM dba_users
 WHERE account_status != 'OPEN';
Run Code Online (Sandbox Code Playgroud)

告诉您每个锁定/过期帐户的创建时间、它处于哪种状态(锁定、过期、过期和锁定、过期(宽限期))以及它被锁定或过期的时间。用于“清理”;但是您应该考虑到某些帐户可能只是出于安全原因从未连接过的“数据持有者”,但 Oracle 本身或您的应用程序需要这些帐户。一个很好的例子是系统帐户OUTLN。因此,请注意仅“清除”您知道未使用/不需要的帐户:)


小智 6

使用DBA_USERS视图。

SELECT username, account_status
FROM dba_users;
Run Code Online (Sandbox Code Playgroud)