I have a series of scripts running parallel in AX server hosting Oracle 10G And it has to be executed concurrently updating all the scripts table. I am getting the error,
ORA-00060: Deadlock found while waiting for processing
As I googled for it, I found,
Although the scripts are being updated evenly in the same table, they are performing updates on various records of the table set by the WHERE
section, there is no overlap of records between them < / P>
So does this cause the error ?.
Whether the updates in this table are updated even though this may be an error.
Update me at a table all the time concurrently ..
I'm surprised that I do not Also found on the log, PL / SQL successfully completed
after the error quoted above.
P> Does this mean that Oracle has recovered from the deadlock and successfully completed the update or should I repeat these scripts in sequential order?
You can get deadlocks, just look at more than line locks, eg. The scripts can compete for other resources, such as index blocks.
I have achieved parallelism in this way by engineering in the past that various examples are working on the part of the work part, there is less chance of affecting the blocks which are close to each other; For example, instead of installing parallel slaves using something like MOD (n, 10)
, for updating a large table, I can see the TRUNC (n / 10) < / Code> which means that every slave has worked on a cached data set.
Of course, there are better ways of employing parallelism, e.g. .
Are you sure that "PL / SQL is successfully completed", perhaps your script is handling exceptions?
Comments
Post a Comment