Its common to have an instrumentation infrastructure where you might be calling DBMS_UTILITY.FORMAT_CALL_STACK to record where in the code path you may be..
But this can bite you in 11.2
A simple demo of how much slower it has become is shown below. Relevant parameters are below:
NAME VALUE
---------------------------------------- -------------
plsql_ccflags
plsql_code_type INTERPRETED
plsql_debug FALSE
plsql_optimize_level 2
plsql_v2_compatibility FALSE
plsql_warnings DISABLE:ALL
SQL> connect scott/tiger@db11107
Connected.
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL> set timing on
SQL> declare
2 x varchar2(1000);
3 begin
4 for i in 1 .. 10000 loop
5 x := dbms_utility.format_call_stack;
6 end loop;
7 end;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:00.06
SQL> connect scott/tiger@db11202
Connected.
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE 11.2.0.2.0 Production
TNS for IBM/AIX RISC System/6000: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
SQL> set timing on
SQL> declare
2 x varchar2(1000);
3 begin
4 for i in 1 .. 10000 loop
5 x := dbms_utility.format_call_stack;
6 end loop;
7 end;
8 /
PL/SQL procedure successfully completed.
Elapsed: 00:00:03.31




Got some thoughts? Leave a comment