Dbms_Parallel_Execute.Run_Task gets stuck [message #619016] |
Thu, 17 July 2014 06:07 |
|
Thilinaa
Messages: 1 Registered: July 2014
|
Junior Member |
|
|
declare
task_ VARCHAR(20) := Dbms_Parallel_Execute.Generate_Task_Name;
status_ VARCHAR(100);
begin
Dbms_Parallel_Execute.Create_Task(task_name => task_);
Dbms_Parallel_Execute.Create_Chunks_By_Rowid(task_name => task_,
table_owner => Fnd_Session_API.Get_App_Owner,
table_name => 'ABC_TAB',
by_row => TRUE,
chunk_size => 1000);
Dbms_Parallel_Execute.Run_Task(task_name => task_,
sql_stmt => 'UPDATE /*+ ROWID (dda) */ ABC_TAB SET rowkey = sys_guid() WHERE rowkey IS NULL and rowid BETWEEN :start_id AND :end_id',
language_flag => Dbms_Sql.NATIVE,
parallel_level => 10);
status_ := Dbms_Parallel_Execute.Task_Status(task_);
end;
When executing the above procedure, it gets stuck at Dbms_Parallel_Execute.Run_Task.
After investigating further, found that the START_ROWID in USER_PARALLEL_EXECUTE_CHUNKS view which corresponds to the created task does not exists among the rowids in ABC_TAB. Its a completely different rowid in the START_ROWID column.
But the object_id that returns from dbms_rowid.rowid_object is there in dba_objects with object_name 'ABC_TAB'.
Can anyone explain this behavior and why it get stuck at Dbms_Parallel_Execute.Run_Task
Thanks.
|
|
|