Atilla Ozgur Asked: 2014-03-19 02:03:27 +0800 CST2014-03-19 02:03:27 +0800 CST 2014-03-19 02:03:27 +0800 CST Oracle如何找到调试编译的存储过程/函数 772 如何获取为调试而编译的存储过程/函数列表? 我在下表中没有看到相关列。 DBA_PROCEDURES DBA_OBJECTS oracle stored-procedures 5 个回答 Voted Raj 2014-03-19T04:32:28+08:002014-03-19T04:32:28+08:00 我认为 DBA_PLSQL_OBJECT_SETTINGS 提供了更合适的信息。 Balazs Papp 2014-03-19T04:34:05+08:002014-03-19T04:34:05+08:00 这是记录在案的方式: ALL_PLSQL_OBJECT_SETTINGS 视图,PLSQL_DEBUG 列 http://docs.oracle.com/cd/E16655_01/server.121/e17615/refrn20385.htm#REFRN20385 Philᵀᴹ 2014-03-19T02:19:00+08:002014-03-19T02:19:00+08:00 进去看看SYS.ALL_PROBE_OBJECTS。该DEBUGINFO列包含一个T(true) 或F(false) 指示它是否在调试模式下编译。 Best Answer Atilla Ozgur 2014-03-19T04:31:35+08:002014-03-19T04:31:35+08:00 感谢菲尔的回答,下面的查询做我需要的,编译所有调试编译的对象。 SELECT 'ALTER ' || object_type || ' ' || owner || '.' || object_name || ' compile;' FROM SYS.ALL_PROBE_OBJECTS WHERE DEBUGINFO = 'T' ORDER BY owner, object_type, object_name; Jason Smartree 2018-01-19T00:25:04+08:002018-01-19T00:25:04+08:00 仅用于将来的补充信息 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;
我认为 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) 指示它是否在调试模式下编译。感谢菲尔的回答,下面的查询做我需要的,编译所有调试编译的对象。
仅用于将来的补充信息