[20260130]验证ORACLE执行递归最大次数.txt --//验证ORACLE执行递归最大次数。 $ oerrz ORA-21780 21780, 00000, "Maximum number of object durations exceeded." // *Cause: This typically happens if there is infinite recursion in the PL/SQL // function that is being executed. // *Action: User should alter the recursion condition in order to prevent // infinite recursion. 1.环境: SCOTT@book01p> @ ver2 ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 21.0.0.0.0 BANNER : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production BANNER_FULL : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 BANNER_LEGACY : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.测试建立: create table t ( x int primary key, y varchar2(4000)); insert into t (x,y) select rownum, rpad('*',2,'*') from dual connect by level <= 1e5; commit ; --//拿以前出现ITL不足的例子修改做测试。 create or replace procedure do_update2( p_n in number ) as pragma autonomous_transaction; l_rec t%rowtype; ora_21780 exception; pragma exception_init( ora_21780, -21780 ); begin select * into l_rec from t where x = p_n ; do_update2( p_n+1 ); commit; exception when ora_21780 then dbms_output.put_line( 'we finished ' || p_n ); commit; when no_data_found then dbms_output.put_line( 'we finished - no problems' ); commit; end; / 3.测试: --//session 1: SCOTT@book01p> @ spid ============================== SID : 271 SERIAL# : 50680 PROCESS : 4052 SERVER : DEDICATED SPID : 4054 PID : 62 P_SERIAL# : 9 KILL_COMMAND : alter system kill session '271,50680' immediate; PL/SQL procedure successfully completed. --//session 2: SYS@book> @ sesz 271 uga|pga SID NAME VALUE ---- ---------------------- ------------ 271 session uga memory 895096 271 session uga memory max 3199224 271 session pga memory 3196496 271 session pga memory max 5114104 --//session 1: SCOTT@book01p> set serveroutput on SCOTT@book01p> exec do_update2(1) we finished 65447 PL/SQL procedure successfully completed. --//oracle最大递归测试65447。 --//session 2: SYS@book> @ sesz 271 uga|pga SID NAME VALUE ---------- ---------------------------------------- ------------ 271 session uga memory 31096096 271 session uga memory max 31096096 271 session pga memory 467387984 271 session pga memory max 467387984 --//执行过程中uga,pga不断增加。 SYS@book> @ sesz 271 uga|pga SID NAME VALUE ---------- ---------------------------------------- ------------ 271 session uga memory 55735168 271 session uga memory max 55735168 271 session pga memory 844351056 271 session pga memory max 844351056 --//增加到这里不再改变,不知道为什么?我估计到达该数量,要一段时间才报错。 --//session 2: --//完成后再次查询: SYS@book> @ sesz 271 uga|pga SID NAME VALUE ---------- ---------------------------------------- ------------ 271 session uga memory 55735168 271 session uga memory max 55735168 271 session pga memory 844351056 271 session pga memory max 844351056 --//844351056/1024/1024 = 805.23M.
[20260130]验证ORACLE执行递归最大次数.txt
来源:这里教程网
时间:2026-03-03 23:16:11
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 2026最新!日语学习平台权威榜推荐:早道日语稳居行业第一!
2026最新!日语学习平台权威榜推荐:早道日语稳居行业第一!
26-03-03 - 2026最新!日语学习平台靠谱TOP5揭晓:谁是效率与口碑双冠王?
2026最新!日语学习平台靠谱TOP5揭晓:谁是效率与口碑双冠王?
26-03-03 - 【MATLAB源码】5G:PTRS上行链路综合仿真平台
【MATLAB源码】5G:PTRS上行链路综合仿真平台
26-03-03 - 【Python源码】6G波形:AFDM 高移动性通感一体化仿真平台
【Python源码】6G波形:AFDM 高移动性通感一体化仿真平台
26-03-03 - Oracle一体机性能卡顿优化
Oracle一体机性能卡顿优化
26-03-03 - Oracle 直连 TiDB 可行吗?
Oracle 直连 TiDB 可行吗?
26-03-03 - oracle19c pdb导入导出迁移数据
oracle19c pdb导入导出迁移数据
26-03-03 - 【MATLAB源码】5G-A:PRS 链路级定位仿真平台
【MATLAB源码】5G-A:PRS 链路级定位仿真平台
26-03-03 - 19c 单库19.3升级到19.18
19c 单库19.3升级到19.18
26-03-03 - 【MATLAB源码】6G:感知辅助毫米波 MIMO 信道估计仿真平台
【MATLAB源码】6G:感知辅助毫米波 MIMO 信道估计仿真平台
26-03-03
