📅  最后修改于: 2023-12-03 15:18:09.101000             🧑  作者: Mango
在 Oracle 数据库中,可以使用以下 SQL 语句来查询用户上次登录的时间和 IP 地址:
SELECT
USERNAME,
TO_CHAR(LAST_LOGIN_TIME, 'YYYY-MM-DD HH24:MI:SS') AS LAST_LOGIN_TIME,
IP_ADDRESS
FROM
DBA_USERS
WHERE
USERNAME = 'USERNAME';
其中,DBA_USERS
表中保存了所有用户的信息,包括上次登录时间和 IP 地址。
请注意替换 USERNAME
为您要查询的用户名。
返回结果示例:
| USERNAME | LAST_LOGIN_TIME | IP_ADDRESS | | -------- | -------------------| --------------| | SCOTT | 2021-09-01 10:23:17 | 192.168.0.100 | | HR | 2021-09-02 09:16:43 | 192.168.0.101 |
可以看到,返回的结果包括用户的用户名、上次登录时间和 IP 地址。
如果需要获取当前用户的上次登录时间和 IP 地址,可以使用以下 SQL 语句:
SELECT
USERNAME,
TO_CHAR(LAST_LOGIN_TIME, 'YYYY-MM-DD HH24:MI:SS') AS LAST_LOGIN_TIME,
IP_ADDRESS
FROM
DBA_USERS
WHERE
USERNAME = USER;
其中,USER
是系统变量,表示当前登录用户。
返回结果示例:
| USERNAME | LAST_LOGIN_TIME | IP_ADDRESS | | -------- | -------------------| --------------| | SCOTT | 2021-09-01 10:23:17 | 192.168.0.100 |
以上就是查询 Oracle 上次用户登录的 SQL 语句,在实际项目中,可以根据需要将其封装成存储过程或函数,方便重复使用。