我有一个plsql过程,它使用DBMS_PARALLEL_EXECUTE创建一个新任务,通过row_id创建块,然后执行任务。
procedure test as
begin
DBMS_PARALLEL_EXECUTE.create_task('newtask');
DBMS_PARALLEL_EXECUTE.create_chunks_by_rowid('newtask','PEEUSH','NEWTABLE',TRUE,1000);
DBMS_PARALLEL_EXECUTE.run_task(task_name => 'newtask',
sql_stmt => 'begin PEEUSH.test2(:start_id,:end_id); end;',
language_flag => DBMS_SQL.NATIVE,
parallel_level => 4);
end;现在我想从PLSQL developer调试它,但是一旦执行到达run_task。它就出来了。在PLSQL developer中有没有什么方法可以进入test2过程。
发布于 2016-07-14 00:52:40
我认为您将需要远程调试器DBMS_DEBUG_JDWP。不幸的是,PL/SQL Developer目前还不支持这个功能,您需要安装另一个支持这个功能的工具,比如SQL Developer。
发布于 2016-10-22 23:37:34
我真的不确定在通过DBMS_PARALLEL_EXECUTE在4个并行线程上运行的pl-sql过程中进行这样的调试是否真的明智(或可能)。
我会在一小部分数据上单独运行和调试begin PEEUSH.test2(:start_id,:end_id); end;,以检查任何运行时异常。
但是,可能需要查看任务是否成功运行。
-- To monitor task
select * from USER_PARALLEL_EXECUTE_TASKS;
-- To monitor chunks
select * from USER_PARALLEL_EXECUTE_CHUNKS;https://stackoverflow.com/questions/37762638
复制相似问题