【发布时间】:2013-09-09 14:56:54
【问题描述】:
当并行查询服务器返回错误时,我很难弄清楚如何在 PL/SQL 中处理异常。
考虑以下几点:
BEGIN
EXECUTE IMMEDIATE('ALTER <SOME_INDEX> REBUILD PARALLEL(4) );
EXCEPTION
WHEN OTHERS THEN
IF SQLCODE = -01652 THEN
DBMS_OUTPUT.PUT_LINE('Not enought space');
ELSE
DBMS_OUTPUT.PUT_LINE('[SQLCODE] -> '||SQLERRM);
NULL;
END IF;
END;
我正在尝试处理 ORA-01652 以通知表空间已满。
这里的问题是我没有抓住:
ORA-01652 unable to extend temp segment by 128 in tablespace <TBS>
而是:
ORA-12801: error signaled in parallel query server P001
所以 ORA-01652 没有存储在 SQLCODE 中。我该如何处理这里真正的异常?
非常感谢。
【问题讨论】:
标签: exception plsql parallel-processing oracle11g