GBase 8s
运维管理
问答
syssqltrace表中sql_uid对应的用户应该如何查找?
GBase用户10523
发表于2023-10-08 17:01:34175次浏览4个评论
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【GBase版本】:GBase8s v8.8
【操作系统】:
【CPU】:
【问题描述】*: 业务有如下场景,通过syssqltrace表获取历史执行sql,并获取执行sql的会话信息和用户信息
syssqltrace表中存在sql_uid和sql_sid等信息,但sql_uid对应的用户名在syssessions中能查到在线的,离线的查不到
如sql的执行用户uid为1,但当该执行用户关闭会话后,无法通过syssessions查到记录,有其他视图能查到uid=1用户的username吗?
会话信息相同的问题,会话关闭后,没有历史视图能查到执行sql的会话信息
评论
登录后才可以发表评论

小鱼不吐泡泡发表于 2 年前
数据库用户和操作系统用户是对应的,库里记录的uid是操作系统用户uid
GBase用户10523发表于 2 年前
@小鱼不吐泡泡:我在数据库中通过 CREATE USER 创建用户A和用户B, grant connect, grant dba 赋权, 用户A和用户B都通过jdbc连数据库执行操作,看sql记录和session记录,uid都是2,针对操作系统用户是daemon。但实际业务需求是想获取用户A和用户B的真实username,如何解决?
历史session当前是没办法获取到吗?


历史session当前是没办法获取到吗?


GBase用户10523发表于 2 年前
@小鱼不吐泡泡:create user 建了2个用户,A和B,对应的UID都是2, 系统用户为daemon。 有什么办法能查到是A执行的还是B执行的?

小鱼不吐泡泡发表于 2 年前
@GBase用户10523:没办法获取,只能不适用mapping模式创建用户,通过操作系统用户直接搞


热门帖子
- 12023-05-09浏览数:16854
- 22019-04-26浏览数:10273
- 32020-05-11浏览数:10239
- 42023-09-25浏览数:9611
- 52023-07-04浏览数:9480