[20250320]DBMS_OUTPUT.PUT_LINE输出限制.txt --//去年遇到的问题,一直没时间看。生产系统遇到的问题。 1.环境: SYS@127.0.0.1:9105/xtdb/xtdb1> @ver2 ============================== PORT_STRING : x86_64/Linux 2.4.xx VERSION : 19.0.0.0.0 BANNER : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production BANNER_FULL : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.14.0.0.0 BANNER_LEGACY : Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production CON_ID : 0 PL/SQL procedure successfully completed. 2.问题提出: SYS@127.0.0.1:9105/xtdb/xtdb1> @ ashtop sql_id 1=1 &day Total Distinct Distinct Distinct Seconds AAS %This SQL_ID FIRST_SEEN LAST_SEEN Execs Seen Tstamps Execs Seen1 --------- ------- ------- ------------- ------------------- ------------------- ---------- -------- ----------- 56967 .7 61% | 2024-12-25 08:45:13 2024-12-26 08:45:08 2 48165 48165 2014 .0 2% | 6wcywxctbbvs8 2024-12-25 08:50:53 2024-12-26 08:41:17 283 2014 283 697 .0 1% | 0za9fv0j1vgkk 2024-12-25 08:45:25 2024-12-26 08:43:02 682 696 684 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 613 .0 1% | 41a4d5z9cswza 2024-12-25 08:51:02 2024-12-26 08:41:19 280 603 280 584 .0 1% | 0315jsvndf9s1 2024-12-25 08:45:47 2024-12-26 03:06:18 582 584 584 526 .0 1% | d7sa2ga44303r 2024-12-25 08:51:13 2024-12-26 08:41:24 278 526 278 521 .0 1% | fnxvn2huxfy5y 2024-12-25 08:51:11 2024-12-26 08:41:23 276 521 276 ... SYS@127.0.0.1:9105/xtdb/xtdb1> @ sql_id 0za9fv0j1vgkk -- SQL_ID = 0za9fv0j1vgkk come from shared pool DECLARE * ERROR at line 1: ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 11 --//直接使用我写的sql_id获取sql语句报错.执行查看这条语句来自MMON_SLAVE模块,超级长,而且似乎没有换行. --//仔细检查才发现是DBMS_OUTPUT.PUT_LINE输出限制导致的问题。 3.简单验证: $ uniq -c a.txt 1 select /*+ 327 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 1 00000000000000000000000000000000000 1 */ sysdate from dual; $ ls -l a.txt -rw-r--r--. 1 oracle oinstall 32769 2025-03-20 16:44:31 a.txt --//如果不包括最后分号以及回车,大小32767. SCOTT@book01p> @ a.txt SYSDATE ------------------- 2025-03-20 16:45:54 SCOTT@book01p> @ hashz HASH_VALUE SQL_ID CHILD_NUMBER KGL_BUCKET HASH_HEX SQL_EXEC_START SQL_EXEC_ID ---------- ------------- ------------ ---------- ---------- ------------------- ----------- 456068362 buzxt98dky38a 0 68874 1b2f0d0a 2025-03-20 16:45:53 16777216 SCOTT@book01p> @ sql_id buzxt98dky38a -- SQL_ID = buzxt98dky38a come from shared pool DECLARE * ERROR at line 1: ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 11 --//报错。如果删除a.txt 1个字符,执行后使用写的sql_id.sql脚本查询就不会报错。 $ wc a.txt 330 334 32768 a.txt --//执行就不会报错,测试略。 --//另外一个简单验证。 SCOTT@book01p> variable v clob; SCOTT@book01p> exec :v := lpad('x',32767,'x')||'y'; PL/SQL procedure successfully completed. SCOTT@book01p> exec DBMS_OUTPUT.PUT_LINE(:v); BEGIN DBMS_OUTPUT.PUT_LINE(:v); END; * ERROR at line 1: ORA-06502: PL/SQL: numeric or value error ORA-06512: at line 1 --//实际上DBMS_OUTPUT.PUT_LINE的参数是VARCHAR2,不是clob类型。 SCOTT@book01p> @ desc_proc sys DBMS_OUTPUT PUT_LINE SCOTT@book01p> @pr ============================== OWNER : SYS PACKAGE_NAME : DBMS_OUTPUT OBJECT_NAME : PUT_LINE SEQUENCE : 1 ARGUMENT_NAME : A DATA_TYPE : VARCHAR2 IN_OUT : IN DEFAULTED : N PL/SQL procedure successfully completed. --//一般sql语句很少超过32K,放弃修改。
[20250320]DBMS_OUTPUT.PUT_LINE输出限制.txt
来源:这里教程网
时间:2026-03-03 21:44:20
作者:
编辑推荐:
- [20250320]DBMS_OUTPUT.PUT_LINE输出限制.txt03-03
- 使用LOGMNR工具挖掘日志地简要过程03-03
- 几个常规的清理SYSAUX表空间动作03-03
- Oracle死事务处理的几个方法03-03
- 死事务判断smon回滚速度03-03
- 触发器查找密码错误用户03-03
- 一次数据文件误删除故障案例分享03-03
- 第34期 CURSOR_SHARING和FORCE_MATCHING_SIGNATURE对SQL计划稳定性的局限性03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 第34期 CURSOR_SHARING和FORCE_MATCHING_SIGNATURE对SQL计划稳定性的局限性
- windows下oracle打完补丁不能正常启动服务
windows下oracle打完补丁不能正常启动服务
26-03-03 - 一次数据库访问异常分析
一次数据库访问异常分析
26-03-03 - 一次Undo表空间耗尽问题
一次Undo表空间耗尽问题
26-03-03 - 19C统计信息引发的数据库慢问题
19C统计信息引发的数据库慢问题
26-03-03 - SQL优化之数据倾斜解决方案
SQL优化之数据倾斜解决方案
26-03-03 - 一次报表查询优化
一次报表查询优化
26-03-03 - 一次数据库CPU使用100%异常处理及分析报告
一次数据库CPU使用100%异常处理及分析报告
26-03-03 - 一次expdp备份hang住问题分析
一次expdp备份hang住问题分析
26-03-03 - 利用Deepseek 割韭菜的套路有哪些?
利用Deepseek 割韭菜的套路有哪些?
26-03-03
