デバッグ用にコンパイルされたストアドプロシージャ/関数のリストを取得するにはどうすればよいですか?
次の表に関連する列がありません。
Philの回答に感謝します。次のクエリで必要なことを実行し、すべてのデバッグコンパイル済みオブジェクトをコンパイルします。
SELECT 'ALTER ' || object_type || ' ' || owner || '.' || object_name || ' compile;'
FROM SYS.ALL_PROBE_OBJECTS
WHERE DEBUGINFO = 'T'
ORDER BY owner, object_type, object_name;
DBA_PLSQL_OBJECT_SETTINGSがより適切な情報を提供すると思います。
文書化された方法は次のとおりです。
ALL_PLSQL_OBJECT_SETTINGSビュー、PLSQL_DEBUG列
http://docs.Oracle.com/cd/E16655_01/server.121/e17615/refrn20385.htm#REFRN20385
覗く SYS.ALL_PROBE_OBJECTS
。 DEBUGINFO
列には、デバッグモードでコンパイルされたかどうかを示すT
(true)またはF
(false)が含まれます。
将来の補足情報のためだけに
SELECT PO.OWNER,PO.OBJECT_NAME,PO.OBJECT_TYPE,PO.DEBUGINFO
,'ALTER ' || REPLACE(object_type,'PACKAGE BODY','PACKAGE') || ' ' || owner || '.' || object_name ||DECODE(object_type,'PACKAGE BODY',' COMPILE BODY;',' COMPILE;') COPILE_NO_DEBUG
,'ALTER ' || REPLACE(object_type,'PACKAGE BODY','PACKAGE') || ' ' || owner || '.' || object_name ||DECODE(object_type,'PACKAGE BODY',' COMPILE DEBUG BODY;',' COMPILE DEBUG;') COPILE_WITH_DEBUG
FROM SYS.ALL_PROBE_OBJECTS PO
--WHERE OBJECT_NAME='YOUR_DEFINITION_PKG' AND DEBUGINFO IN ('F','T')
ORDER BY owner, object_type, object_name;