如何在 Oracle 中列出连接会话的时区
How to list the timezone of connected sessions in Oracle
我需要找出不属于我自己的会话的会话时区。
我可以在v$session中找到会话,但我不知道如何找出每个会话记录的关联时区。
例如相当于连接为那个会话和 运行 select sessiontimezone from dual;
V$SES_OPTIMIZER_ENV
的部分参数有a possibility。
但似乎没有官方方法可以使用此 time_zone
参数的动态视图来执行此操作。而且没有触发器 do something when session is modified...
不过看起来可以 do so with oradebug
。看来您必须以 sysdba
身份连接:
3 级的 Errorstack 转储给定会话的修改参数和事件,例如 ospid 9768
。
connect /as sysdba
oradebug setospid 8787
oradebug dump errorstack 3
跟踪文件将包含以下部分的会话修改结果:DYNAMICALLY MODIFIED PARAMETERS:...
我只是复制它,因为我没有可以测试它的数据库。但是如果 post 从网站上消失,我们在 SO 中有它 :)
我需要找出不属于我自己的会话的会话时区。
我可以在v$session中找到会话,但我不知道如何找出每个会话记录的关联时区。
例如相当于连接为那个会话和 运行 select sessiontimezone from dual;
V$SES_OPTIMIZER_ENV
的部分参数有a possibility。
但似乎没有官方方法可以使用此 time_zone
参数的动态视图来执行此操作。而且没有触发器 do something when session is modified...
不过看起来可以 do so with oradebug
。看来您必须以 sysdba
身份连接:
3 级的 Errorstack 转储给定会话的修改参数和事件,例如 ospid 9768
。
connect /as sysdba
oradebug setospid 8787
oradebug dump errorstack 3
跟踪文件将包含以下部分的会话修改结果:DYNAMICALLY MODIFIED PARAMETERS:...
我只是复制它,因为我没有可以测试它的数据库。但是如果 post 从网站上消失,我们在 SO 中有它 :)