私は多くの研究、頭を叩いたり歯を食いしばったりした後、このパターンに出くわしました:
CREATE OR REPLACE PACKAGE BODY my_schema.package_name
IS
PROCEDURE foo
IS
BEGIN
-- Call stored procedures/functions that throw unhandled exceptions
EXCEPTION
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('ERROR! - '
|| DBMS_UTILITY.FORMAT_ERROR_STACK
|| DBMS_UTILITY.FORMAT_ERROR_BACKTRACE);
END foo;
END;
DBMS_UTILITY.FORMAT_ERROR_STACK
関数はエラーコードとメッセージ、およびDBMS_UTILITY.FORMAT_ERROR_BACKTRACE
を提供しているようです 少なくともOracle10gの行番号とストアドプロシージャ名を備えた、正直なスタックトレースを提供しているようです。
これらの関数がOracle9iで使用できるかどうかはわかりません。 Oracle 10gでもこの種の情報はあまり見つかりませんでした。9iはかなり古いので、少なくともこの回答を投稿すると思いました(つまり、10gです)。