[20220105]再论ORA-29275与toad 12.txt --//以前的链接 [20131030]ORA-29275与toad 12.txt => http://blog.itpub.net/267265/viewspace-775364/ --//别人问当时出现版本是10g,为什么现在11g还是存在这个问题.实际上问题在于执行DBMS_APPLICATION_INFO.set_action截取了32各字 --//符.如果截取出现半个汉字,问题再现,我个人感觉目前toad 12版本无法解决这个问题,除非你修改一些视图定义,这样存在一些不必要 --//的风险. 1.环境: SCOTT@book> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production 2.测试: SCOTT@book> @ desc_proc sys DBMS_APPLICATION_INFO set_action INPUT OWNER PACKAGE_NAME OBJECT_NAME sample : @desc_proc sys dbms_stats gather_%_stats OWNER PACKAGE_NAME OBJECT_NAME SEQUENCE ARGUMENT_NAME DATA_TYPE IN_OUT DEFAULTED ---------- --------------------- ------------------------------ ---------- ------------------------------ ------------------------------ --------- ---------- SYS DBMS_APPLICATION_INFO SET_ACTION 1 ACTION_NAME VARCHAR2 IN N SCOTT@book> exec DBMS_APPLICATION_INFO.set_action('1234567890123456789012345678901234567890123456789012345678901文化'); PL/SQL procedure successfully completed. SCOTT@book> select module,action,length(action) from v$session where substr(action,1,2)='12'; MODULE ACTION LENGTH(ACTION) ------------ ---------------------------------------------------------------- -------------- SQL*Plus 12345678901234567890123456789012 32 --//实际上在11g下执行exec DBMS_APPLICATION_INFO.set_action时,仅仅截取32长度. --//如果执行如下,这样"文"的字符一半被截取, --//文 编码 cec4. SCOTT@book> exec DBMS_APPLICATION_INFO.set_action('1234567890123456789012345678901文化'); PL/SQL procedure successfully completed. SCOTT@book> select module,action,length(action) from v$session where substr(action,1,2)='12'; MODULE ACTION LENGTH(ACTION) ------------ ---------------------------------------------------------------- -------------- SP2-0784: Invalid or incomplete character beginning 0xCE returned --//0xCE的编码就是文的前半部分。 3.toad受影响的范围: --//实际上不仅仅影响session browser,也应该sga trace模块一样受影响。实际上主要原因是许多视图定义支持varchar2(64),而 --//DBMS_APPLICATION_INFO.set_action没有更正过来。我个人也不知道什么好方法解决这个问题. 4.测试19c下情况: SYS@127.0.0.1:17101/dyhis> @pr ============================== 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.9.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. SYS@127.0.0.1:17101/dyhis> exec DBMS_APPLICATION_INFO.set_action('1234567890123456789012345678901234567890123456789012345678901文化'); PL/SQL procedure successfully completed. SYS@127.0.0.1:17101/dyhis> select module,action,length(action) from v$session where substr(action,1,2)='12'; MODULE ACTION LENGTH(ACTION) ------------ ---------------------------------------------------------------- -------------- SQL*Plus 1234567890123456789012345678901234567890123456789012345678901文 63 --//可以看出19c已经修复了这个问题,不会出现半个汉字的情况,后面的LENGTH(ACTION)=63. SYS@127.0.0.1:17101/dyhis> select length(substrb('1234567890123456789012345678901234567890123456789012345678901文化',1,64)) N10 from dual; N10 --------------------- 63 --//而11g下就存在问题。 SCOTT@book> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production SCOTT@book> select length(substrb('1234567890123456789012345678901文化',1,32)) N10 from dual; N10 --------------------- 32
[20220105]再论ORA-29275与toad 12.txt
来源:这里教程网
时间:2026-03-03 17:21:36
作者:
编辑推荐:
- [20220105]再论ORA-29275与toad 12.txt03-03
- [20220105]sqlplus &1替换最大支持239个字符.txt03-03
- [重庆思庄每日技术分享]-ORACLE12.2以上版本 对象名长度限制超过30个字符03-03
- 十个关于互联网圈的冷知识03-03
- oracle ocp 19c考题9,科目082考试题-关于SAVEPOINT03-03
- oracle ocp 19c考题10,科目082考试题 - shared server dispatchers03-03
- Oracle:SCN03-03
- [重庆思庄每日技术分享]-重建LOB字段上的Index03-03
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 十个关于互联网圈的冷知识
十个关于互联网圈的冷知识
26-03-03 - Oracle:SCN
Oracle:SCN
26-03-03 - 内存卡视频删除后怎么恢复?三个步骤一看就会
内存卡视频删除后怎么恢复?三个步骤一看就会
26-03-03 - 批量锁(适用各种关系型数据库)
批量锁(适用各种关系型数据库)
26-03-03 - DATAGUARD配置参数详细解释
DATAGUARD配置参数详细解释
26-03-03 - 数据迁移
数据迁移
26-03-03 - 临时表空间ORA-1652问题解决
临时表空间ORA-1652问题解决
26-03-03 - 【CORE】在UNIX环境下从核心文件获取堆栈信息
【CORE】在UNIX环境下从核心文件获取堆栈信息
26-03-03 - 「Oracle」客户端 PL/SQL DEVELOPER 安装使用
「Oracle」客户端 PL/SQL DEVELOPER 安装使用
26-03-03 - Oracle的过载保护-数据库资源限制
Oracle的过载保护-数据库资源限制
26-03-03
