如何在PLSQL开发人员

时间:2016-06-11 10:27:44

标签: plsql oracle11g plsqldeveloper

我有一个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开发人员调试这个,但是一旦执行到达run_task。它出来了。有没有办法进入PLSQL开发人员的test2过程。

2 个答案:

答案 0 :(得分:0)

我认为您需要远程调试器DBMS_DEBUG_JDWP。不幸的是,PL / SQL Developer目前不支持此功能,您需要安装其他工具,例如SQL Developer

答案 1 :(得分:0)

我不确定在4个并行线程上通过DBMS_PARALLEL_EXECUTE运行的pl-sql过程中进行此类调试是否真的合理(或可能)。

我会在一小组数据上分别运行和调试begin PEEUSH.test2(:start_id,:end_id); end;以检查任何运行时异常。

然而,可能需要的是看看TASK是否成功运行。

-- To monitor task
select * from USER_PARALLEL_EXECUTE_TASKS;

-- To monitor chunks
select * from USER_PARALLEL_EXECUTE_CHUNKS;