有没有视图记录最近一段时间登陆过的客户端IP和账号,类似MySQL的performance_schema.accounts
文档找了一圈没看到……
有没有视图记录最近一段时间登陆过的客户端IP和账号,类似MySQL的performance_schema.accounts
文档找了一圈没看到……
根据文档库中的信息,OceanBase 社区版目前没有直接等同于 MySQL performance_schema.accounts
的视图,用于记录最近一段时间登录过的客户端 IP 和账号。以下是对相关视图和功能的分析:
动态性能视图
OceanBase 提供了动态性能视图(如 GV$OB_SESSIONS
和 V$OB_SESSIONS
),可以用来查看当前会话的信息。这些视图可以显示当前连接到数据库的客户端信息,包括用户名称和客户端 IP 地址。例如:
SELECT USER_NAME, CLIENT_IP FROM GV$OB_SESSIONS;
GV$OB_SESSIONS
:显示整个集群中所有节点的当前会话信息。V$OB_SESSIONS
:仅显示当前连接节点的会话信息。注意:这些视图仅记录当前活动的会话,无法追溯历史登录信息。
审计日志
如果需要记录历史登录信息,可以启用 OceanBase 的审计功能。审计日志可以记录用户的登录、登出以及执行的操作等信息。通过查询审计日志表(如 __all_virtual_audit_record_history
),可以获取历史登录的客户端 IP 和账号信息。例如:
SELECT user_name, client_ip, action, return_code, sql_text
FROM oceanbase.__all_virtual_audit_record_history
WHERE action = 'LOGON' AND return_code = 0;
user_name
:登录的用户名。client_ip
:客户端 IP 地址。action
:操作类型,LOGON
表示登录。return_code
:返回码,0
表示成功。说明:审计功能需要提前开启,并配置相应的审计规则。具体配置方法可以参考官方文档。
全局状态信息
视图 information_schema.GLOBAL_STATUS
记录了 OceanBase 数据库的全局状态信息,但并不包含具体的客户端登录记录或账号信息。
GV$OB_SESSIONS
或 V$OB_SESSIONS
。如果上述方法仍无法满足需求,建议联系 OceanBase 的技术支持团队以获取进一步的帮助。
详情请参考: