oracle ORA-12805: 并行查询服务器意外死亡
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/12274596/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
ORA-12805:parallel query server died unexpectedly
提问by Vivek
I have a PL/SQL script like this...
我有一个像这样的 PL/SQL 脚本...
DECLARE
CURSOR curs_delete
IS
SELECT cus_num
FROM dob.cust_table GROUP BY cust_num HAVING COUNT(*)>1;
TYPE row_cust_num IS TABLE OF dob.cust_table.cust_num%TYPE;
col_cust_num row_cust_num;
BEGIN
OPEN curs_delete;
LOOP
FETCH curs_delete
BULK COLLECT INTO col_cust_num LIMIT 10000;
EXIT WHEN col_cust_num.EXISTS (1) = FALSE;
FORALL i IN 1 .. col_cust_num.LAST
DELETE FROM cust_table
WHERE cust_num = col_cust_num (i);
COMMIT;
END LOOP;
CLOSE curs_delete;
END;
This query returns ORA-12805:parallel query server died unexpectedlyerror. I'm not sure why it is happening. The select query in cursor returned around 415 records when i got this error.
此查询返回ORA-12805:parallel query server died unexpectedly错误。我不确定为什么会这样。当我收到此错误时,游标中的选择查询返回了大约 415 条记录。
Anyone understand why this error comes up?
任何人都明白为什么会出现这个错误?
回答by APC
This is a problem for your DBA to resolve, as there are a large number of possible causes. Somebody needs to look in the Alert Log and check for trace files in the bdumpdirectory for diagnostic info.
这是您的 DBA 需要解决的问题,因为有很多可能的原因。有人需要查看警报日志并检查目录中的跟踪文件以bdump获取诊断信息。
In the meantime, if you have only 415 records to delete you should just use straight SQL:
同时,如果您只有 415 条记录要删除,您应该直接使用 SQL:
DELETE FROM cust_table
WHERE cust_num in (SELECT cus_num
FROM dob.cust_table
GROUP BY cust_num HAVING COUNT(*)>1);

