使用 SQL 而不是观点找出 teradata 中当前的 运行 查询
Find out the currently running queries in teradata using SQL instead of viewpoint
我想了解当前正在执行的特定于用户或组的查询是什么。我不想使用 view point 。我需要使用 SQL 来实现此功能。
试试这个
select * from dbc.SessionInfo;
你会得到一个请求列表,其中包含他们的用户和组
希望能帮到你
要在不使用 Viewpoint 的情况下为当前处于活动状态的 session 获取 SQL,您需要使用 PMPC APIs(我相信 Viewpoint 可能也在使用它) ) 从数据库中获取该信息。
步骤 1:从 MontiorSession()
获取 MonitorSQLText() 的输入值
SELECT HostID
, SessionNo
, RunVprocNo
FROM TABLE(MonitorSession({HostID}, {UserName}, {SessionNo})) AS T2;
HostID
of -1 将包括所有主机
UserName
of '*' 将包括所有用户
SessionNo
共 0 个包括所有 sessions
您应该至少提供其中一个值以缩小搜索范围。
第 2 步:获取SQL您感兴趣的Session文本
SELECT *
FROM TABLE (MonitorSQLText({HostID}, {SessionNo}, {RunVprocNo})) AS T2;
使用第一步中的HostID
、SessionNo
、RunVprocNo
。
我尝试将第 1 步中的值放入一个 Volatile Table 和一个 CTE 中以动态地提供第 2 步。当我这样做时,数据库响应错误表明 MonitorSQLText()
在变量模式下不能 运行。这与指示必须在 'constant mode'.
中特别使用此 API 的文档一致
这应该适用于 TD 14+ 并且可能适用于 TD 13.10。
Viewpoint 使用的 PMon-API 也可用作 SQL-functions,例如这将返回有关所有当前登录会话的信息:
SELECT * FROM TABLE (MonitorSession(-1,'*',0)) AS dt;
您可以检查 PEState 或 AMPState 列以查找活动查询。
我想了解当前正在执行的特定于用户或组的查询是什么。我不想使用 view point 。我需要使用 SQL 来实现此功能。
试试这个
select * from dbc.SessionInfo;
你会得到一个请求列表,其中包含他们的用户和组
希望能帮到你
要在不使用 Viewpoint 的情况下为当前处于活动状态的 session 获取 SQL,您需要使用 PMPC APIs(我相信 Viewpoint 可能也在使用它) ) 从数据库中获取该信息。
步骤 1:从 MontiorSession()
获取 MonitorSQLText() 的输入值SELECT HostID
, SessionNo
, RunVprocNo
FROM TABLE(MonitorSession({HostID}, {UserName}, {SessionNo})) AS T2;
HostID
of -1 将包括所有主机
UserName
of '*' 将包括所有用户
SessionNo
共 0 个包括所有 sessions
您应该至少提供其中一个值以缩小搜索范围。
第 2 步:获取SQL您感兴趣的Session文本
SELECT *
FROM TABLE (MonitorSQLText({HostID}, {SessionNo}, {RunVprocNo})) AS T2;
使用第一步中的HostID
、SessionNo
、RunVprocNo
。
我尝试将第 1 步中的值放入一个 Volatile Table 和一个 CTE 中以动态地提供第 2 步。当我这样做时,数据库响应错误表明 MonitorSQLText()
在变量模式下不能 运行。这与指示必须在 'constant mode'.
这应该适用于 TD 14+ 并且可能适用于 TD 13.10。
Viewpoint 使用的 PMon-API 也可用作 SQL-functions,例如这将返回有关所有当前登录会话的信息:
SELECT * FROM TABLE (MonitorSession(-1,'*',0)) AS dt;
您可以检查 PEState 或 AMPState 列以查找活动查询。