为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: 8.1.4.6
【操作系统】:麒麟V10
【CPU】:intel x86_64
【问题描述】*:对用户T2执行“alter user t2 PASSWORD EXPIRE;”,后那个视图可以查看到密码已过期。
尝试过查过SYSUSERS,dba_user均无字段来描述“密码已过期”。
测试脚本
grant dba to t2;
ALTER USER "T2" PASSWORD_POLICY 31 limit CONNECT_IDLE_TIME 10, FAILED_LOGIN_ATTEMPS 5, PASSWORD_GRACE_TIME 10, PASSWORD_LIFE_TIME 90, PASSWORD_LOCK_TIME 30;
alter user t2 PASSWORD EXPIRE;
SELECT A.NAME AS "用户名",B.LIFE_TIME AS "密码有效期-天数" FROM SYS.SYSOBJECTS A, SYSUSERS B
WHERE A.ID=B.ID AND A.SUBTYPE$='USER' AND A.NAME='T2';
行号 用户名 密码有效期-天数
---------- --------- ----------------------
1 T2 90
已用时间: 0.601(毫秒). 执行号:5701.
SQL>
SQL>
SELECT A.USERNAME,
CASE B.RN_FLAG
WHEN '0'
THEN '否'
WHEN '1'
THEN '是'
END AS READ_ONLY,
CASE A.ACCOUNT_STATUS
WHEN 'LOCKED'
THEN '锁定'
WHEN 'OPEN'
THEN '正常'
END AS "状态",
TO_CHAR(A.LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS "锁定起始时间",
TO_CHAR(A.EXPIRY_DATE, 'YYYY-MM-DD HH24:MI:SS') AS "密码截止使用时间",
TO_CHAR(round(datediff(DAY, TO_CHAR(sysdate, 'YYYY-MM-DD HH24:MI:SS'), TO_CHAR(A.EXPIRY_DATE, 'YYYY-MM-DD HH24:MI:SS')), 2)) AS EXPIRY_DATE_DAY,
TO_CHAR(round(datediff(DAY, TO_CHAR(sysdate, 'YYYY-MM-DD HH24:MI:SS'), TO_CHAR(A.LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS')), 2)) AS LOCK_DATE_DAY,
A.DEFAULT_TABLESPACE,
A.PROFILE,
TO_CHAR(A.CREATED, 'YYYY-MM-DD HH24:MI:SS') AS CREATE_TIME
FROM DBA_USERS A,
SYSUSERS B
WHERE A.USER_ID = B.ID and username='T2';
行号 USERNAME READ_ONLY 状态 锁定起始时间 密码截止使用时间 EXPIRY_DATE_DAY LOCK_DATE_DAY DEFAULT_TABLESPACE PROFILE
---------- -------- --------- ------ ------------------ ------------------------ --------------- ------------- ------------------ -------
CREATE_TIME
-------------------
1 T2 否 正常 NULL 2026-02-15 18:43:15 90 NULL MAIN NULL
2025-11-17 18:43:15
已用时间: 1.239(毫秒). 执行号:5702.
SQL>

dba_users.ACCOUNT_STATUS可以查看用户状态,密码过期是EXPIRED,OPEN、EXPIRED、LOCKED等都是有的,Oracle有15种,DM没测试过
SQL> @us panda SQL> set echo off; Show database usernames from dba_users matching %panda% 行号 USERNAME ACCOUNT_STATUS DEFAULT_TABLESPACE TEMPORARY_TABLESPACE USER_ID CREATED PROFILE ---------- -------- -------------- ------------------ -------------------- ----------- -------------------------- ------- 1 PANDA EXPIRED MAIN TEMP 50331749 2025-11-14 20:20:44.462518 NULL 已用时间: 53.449(毫秒). 执行号:7601. SQL> SQL> select distinct ACCOUNT_STATUS from dba_users; 行号 ACCOUNT_STATUS ---------- -------------- 1 OPEN 2 EXPIRED 已用时间: 18.650(毫秒). 执行号:7602.