我试图弄清楚如何在运行长查询之前在v $ session中设置模块名称,以便我可以跟踪其进度。这样的事情可能吗?这不太奏效。我将如何改变呢?
BEGIN
dbms_session.set_identifier(client_id=>'ABC');
dbms_application_info.set_client_info(client_info=>'ABC TEST');
--
dbms_application_info.set_module(module_name=>'SOME NAME', action_name=>'SOME ACTION');
--
SELECT * from tablename where .....
--
dbms_application_info.set_module(module_name=>'',action_name=>'');
END;
答案 0 :(得分:1)
必须是这样的:
BEGIN
DBMS_APPLICATION_INFO.SET_MODULE('My procedure', 'starting');
DBMS_APPLICATION_INFO.SET_ACTION('running');
SELECT * from tablename where .....
DBMS_APPLICATION_INFO.SET_MODULE(NULL, NULL);
END;
在执行查询时,您可以从v$session