E19001-E19999
📄字数 17.5K
👁️阅读量 加载中...
当前页面错误码为编码、系统相关错误码。
注意
%s,%d是C语言中的格式化输出符,会根据输入的值自动填充
E19001:当前事务被管理员中止
错误原因:
- 管理员调用 DBMS_DBA.KILL_TRANS 主动 KILL 主事务。
分析与建议:
- 无。
E19002:系统存取保护事故
错误原因:
- 任务线程内部发生了非法内存访问,由操作系统内核向目标进程发送 SIGSEGV 信号。
分析与建议:
- 大多数情况下,该异常会在进程的工作目录下生成线程堆栈跟踪日志 exception_stack.trc,可联系内核研发人员定位。
E19003:非法指令
错误原因:
- 任务线程内部执行了非法指令,由操作系统内核向目标进程发送 SIGILL 信号。
分析与建议:
- 大多数情况下,该异常会在进程的工作目录下生成线程堆栈跟踪日志 exception_stack.trc,可联系内核研发人员定位。
E19004:浮点数错误
错误原因:
- 系统进行浮点数运算时异常,可能由数据异常导致该问题。
分析与建议:
- 确认运算数据是否正常。
E19005:除数为0
错误原因:
分析与建议:
- 可修改系统参数 error_for_division_zero = false 将异常降级为警告。
E19006:运行栈溢出
错误原因:
- PL/SQL 计算栈上用于存放参数、变量、常数的空间被耗尽。
分析与建议:
- 从过程和函数设计上精简参数、变量、常数个数。
- 增配系统参数 function_stack_size 后重启数据库服务。
E19007:框架栈溢出
错误原因:
- 过程、函数和包的嵌套调用或递归调用层次超过数据库设计最大值 128。
分析与建议:
- 减少嵌套调用和递归调用层级,不可超过 128 层。
E19009:查询无结果
错误原因:
- 执行 PL/SQL 时,查询语句无结果集返回,不满足场景需求。
分析与建议:
- 编写 PL/SQL 时,对该异常进行捕获处理。
E19010:查询结果太多
错误原因:
- 执行 PL/SQL 时,查询语句返回的结果集行数大于场景需求。
分析与建议:
- 编写 PL/SQL 时,对该异常进行捕获处理。
E19012:游标未打开
错误原因:
- 执行 PL/SQL 时,涉及使用游标读取数据或获取游标属性的场景下,检测到游标未打开。
分析与建议:
- 使用游标前,确保进行了 OPEN CURSOR 操作。
E19013:锁升级冲突或超时
错误原因:
- 系统内部资源锁在加锁过程中出现锁升级冲突或加锁超时。
- 事务内尝试对共享资源加锁时,发现本事务内对该资源已经持有等级更低的锁,则尝试升级该资源上已经被持有的锁资源等级,但升级后的锁与预申请的锁不兼容,出现加锁超时。
- S 锁(1) X 锁(2) IS锁(3) IX锁(4) SIX锁(5) S 锁(1) 兼容 不兼容 兼容 不兼容 不兼容 X 锁(2) 不兼容 不兼容 不兼容 不兼容 不兼容 IS锁(3) 兼容 不兼容 兼容 兼容 兼容 IX锁(4) 不兼容 不兼容 兼容 兼容 不兼容 SIX锁(5) 不兼容 不兼容 兼容 不兼容 不兼容 分析与建议:
- 无。
E19014:Pctfree 值必须介于0与90之间
错误原因:
- 创建表对象时指定 PCTFREE 属性,且 PCTFREE 属性的取值不在合理范围内。
分析与建议:
- 创建表对象时指定的 PCTFREE 属性取值应在合理范围内。
E19015:Pctused 值必须介于10与100之间
错误原因:
- 创建表对象时指定 PCTUSED 属性,且 PCTUSED 属性的取值不在合理范围内。
分析与建议:
- 创建表对象时指定的 PCTUSED 属性取值应在合理范围内。
E19016:内存分配失败
错误原因:
- 系统申请排序内存时,排序内存不足。
- 系统级调用 malloc 申请内存失败。
分析与建议:
- 合理配置 system_sga_mem,保证系统内部的数据排序计算内存充足;条件允许的情况下,可开启 ena_share_sga。
- 部署数据库服务时,合理配置进程所需内存开销,不能过度配置进程内存。
E19017:内存释放时出错
错误原因:
- 数据库系统的内存管理模块进行内存释放处理时,检测到被释放的内存单元异常。
分析与建议:
- 联系内核研发人员定位处理。
E19018:操纵符(%s %s %s)不存在
错误原因:
- SQL 中的表达式涉及不支持的数据类型运算。
分析与建议:
- 按提示对原表达式做出调整。
E19019:FLOAT类型精度不能小于1
错误原因:
- 创建表对象时,指定的 FLOAT 字段类型精度异常(小于 1)。
- 创建存储过程/函数/包时,参数中 FLOAT 字段类型精度异常(小于 1)。
- 编译 PL/SQL 语句时,声明 FLOAT 类型的局部变量精度异常(小于 1)。
分析与建议:
- FLOAT 数据类型的精度不能小于 1。
E19020:FLOAT类型精度不能大于16
错误原因:
- 创建表对象时,指定的 FLOAT 字段类型精度异常。
- 创建存储过程/函数/包时,参数中 FLOAT 字段类型精度异常。
- 编译 PL/SQL 语句时,声明 FLOAT 类型的局部变量精度异常。
分析与建议:
- 合理设置 FLOAT 数据类型的精度。
E19021:NUMERIC类型精度%d不在1与%d之间
错误原因:
- 创建表对象时,指定的 NUMERIC 字段类型精度异常。
- 创建存储过程/函数/包时,参数中 NUMERIC 字段类型精度异常。
- 编译 PL/SQL 语句时,声明 NUMERIC 类型的局部变量精度异常。
分析与建议:
- 使用 NUMERIC 数据类型时,其中 NUMERIC(preci, scale) 的 preci 表示精度,scale 表示标度,精度的取值范围应为 1 ≤ preci ≤ 38,标度的取值范围应为 0 ≤ scale ≤ preci。
E19022:NUMERIC类型标度%d不在0与%d之间
错误原因:
- 创建表对象时,指定的 NUMERIC 字段类型标度异常。
- 创建存储过程/函数/包时,参数中 NUMERIC 字段类型标度异常。
- 编译 PL/SQL 语句时,声明 NUMERIC 类型的局部变量标度异常。
分析与建议:
- 使用 NUMERIC 数据类型时,其中 NUMERIC(preci, scale) 的 preci 表示精度,scale 表示标度,精度的取值范围应为 1 ≤ preci ≤ 38,标度的取值范围应为 0 ≤ scale ≤ preci。
E19023:DECIMAL类型精度%d不在1与%d之间
错误原因:
- 创建表对象时,指定的 DECIMAL 字段类型精度异常。
- 创建存储过程/函数/包时,参数中 DECIMAL 字段类型精度异常。
- 编译 PL/SQL 语句时,声明 DECIMAL 类型的局部变量精度异常。
分析与建议:
- 使用 DECIMAL 数据类型时,其中 DECIMAL(preci, scale) 的 preci 表示精度,scale 表示标度,精度的取值范围应为 1 ≤ preci ≤ 38,标度的取值范围应为 0 ≤ scale ≤ preci。
E19024:DECIMAL类型标度%d不在0与%d之间
错误原因:
- 创建表对象时,指定的 DECIMAL 字段类型标度异常。
- 创建存储过程/函数/包时,参数中 DECIMAL 字段类型标度异常。
- 编译 PL/SQL 语句时,声明 DECIMAL 类型的局部变量标度异常。
分析与建议:
- 使用 DECIMAL 数据类型时,其中 DECIMAL(preci, scale) 的 preci 表示精度,scale 表示标度,精度的取值范围应为 1 ≤ preci ≤ 38,标度的取值范围应为 0 ≤ scale ≤ preci。
E19028:%s(出现在靠近%s的地方)
错误原因:
- 查询语句中使用 LIMIT 时,其后得表达式计算结果不是数值数据类型。
- 分页查询语句中,其 LIMIT 或 OFFSET 后的表达式计算结果为负数。
分析与建议:
- 规范使用分页查询功能,LIMIT 或 OFFSET 后的表达式计算结果必须是正数值。
E19030:16进制字串中含非法字符
错误原因:
- SQL 语句中原本表示十六进制的字符串中含有非法字符。
- 调用系统函数 HEXTORAW 时,输入的字符串参数中含有非法字符。
分析与建议:
- 表示十六进制的字符串字符只能由 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f(英文字母忽略大小写)组成。
E19032:不正确的16进制数('%s')
错误原因:
- 调用系统函数 HEX_DECODE 或 DECODE_PG 时,输入的字符串参数中含有非法字符。
分析与建议:
- 表示十六进制的字符串字符只能由 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f(英文字母忽略大小写)组成。
E19037:子查询只能形如select
错误原因:-
- 尝试使用非 SELECT 类型的子查询作为查询语句中被访问的关系节点。
分析与建议:
- 不支持的操作。
E19038:From子句中表名%s出现重复
错误原因:
- 查询语句中被访问的关系节点内部出现重复的表名。
分析与建议:
- 查询语句中被访问的关系节点内部不能出现重复的表名。
E19039:在有分组统计的语句中,输出表达式含有非分组统计项
错误原因:
- 当系统参数 def_group_by_mode = 0 时,在有分组统计(GROUP BY)的语句中,输出表达式含有既不是分组项,也不是统计项的输出项。
分析与建议:
- 输出表达式必须含有既不是分组项,也不是统计项的输出项时,需要设置 def_group_by_mode = 1。
- 输出表达式非必须含有既不是分组项,也不是统计项的输出项时,可删除其既不是分组项,也不是统计项的输出项。
E19041:INTO子句只能出现在UNION/INTERSECT/EXCEPT的第一个SELECT语句中
错误原因:
- 集合查询中 INTO 子句使用不规范。
分析与建议:
- 不支持的操作。
E19043:统计项不能作为分组键
错误原因:
- 分组查询的 GROUP BY 子句中,使用了统计项作为分组项。
分析与建议:
- 分组项中不能包含统计项。
E19044:分组项重复
错误原因:
- 分组查询的 GROUP BY 子句中,使用了重复的的分组项。
分析与建议:
- 分组项中不能包含重复的分组项。
E19045:排序项%s无法映射到分组
错误原因:
- 当系统参数 def_group_by_mode = 0 时,分组统计语句中指定的排序项未出现在分组项中。
分析与建议:
- 修改系统参数 def_group_by_mode = 1,可支持分组统计语句中指定的排序项不在分组项中。
E19046:排序项%s出现重复
错误原因:
- 查询语句的 ORDER BY 子句中出现重复的排序项。
分析与建议:
- ORDER BY 子句中不能出现重复的排序项。
E19048:不允许多重order by
错误原因:
- 单命令 SQL 中含有重复的 ORDER BY 子句。
分析与建议:
- ORDER BY 为最终数据排序,不允许单命令中重复进行 ORDER BY。
E19049:不允许多重For update子句
错误原因:
- 单命令 SQL 中含有多个 FOR UPDATE 子句。
分析与建议:
- 不允许单命令 SQL 中出现多个 FOR UPDATE 子句。
E19050:不允许多重Offset子句
错误原因:
- 分页查询中含有多个 OFFSET 子句。
分析与建议:
- 不允许单命令的分页查询中出现多个 OFFSET 子句。
E19051:不允许多重Limit子句
错误原因:
- 分页查询中含有多个 LIMIT 子句。
分析与建议:
- 不允许单命令的分页查询中出现多个 LIMIT 子句。
E19054:DEFERRABLE子句位置错误
错误原因:
- 表字段上为不支持延迟检查的约束指定了 DEFERRABLE 子句。
分析与建议:
- 不支持的操作。
E19055:Multiple DEFERRABLE/NOT DEFERRABLE重复出现
错误原因:
- 表字段上为支持延迟检查的约束重复指定了 DEFERRABLE/NOT DEFERRABLE。
分析与建议:
- 不支持的操作。
E19056:INITIALLY DEFERRED子句位置错误
错误原因:
- 表字段上为不支持延迟检查的约束设置 INITIALLY DEFERRED。
分析与建议:
- 不支持的操作。
E19057:INITIALLY IMMEDIATE/DEFERRED重复出现
错误原因:
- 表字段上为支持延迟检查的约束重复指定了 INITIALLY IMMEDIATE/DEFERRED。
分析与建议:
- 不支持的操作。
E19058:NOT DEFERRABLE子句位置错误
错误原因:
- 表字段上为不支持延迟检查的约束指定了 NOT DEFERRABLE。
分析与建议:
- 不支持的操作。
E19059:系统不支持字符集%s
错误原因:
- 为会话变量 CHAR_SET 设置系统不支持的字符集。
- 调用系统包方法 UTL_RAW.CONVERT 对 RAW 数据进行字符集转换时,参数指定了系统不支持的字符集。
- 调用系统函数 PINYIN 或 PINYIN1 时,输入的数据内容错误。
分析与建议:
- 建议使用系统已支持的字符集。
E19060:不正确的时间设置%s
错误原因:
- 为会话变量 TIME_ZONE 设置系统时区时,时区格式不正确。
分析与建议:
- 时区格式必须以 'GMT' 前缀开始。
E19061:不能删除DBO%s
错误原因:
- 尝试删除 SYSDBA 用户。
分析与建议:
- 不支持的操作。
E19065:游标%s未定义
错误原因:
- 尝试使用未定义的游标取数据。
- 尝试使用未定义的游标进行 DELETE/UPDATE 数据。
- PL/SQL 中的循环语句中使用了未定义的游标。
分析与建议:
- 确认游标名称是否拼写错误。
- 确认游标是否已经定义。
E19066:游标%s已存在
错误原因:
- 重复定义游标。
分析与建议:
- 确认游标名称是否拼写错误。
- 确认游标是否已经定义。
E19067:系统不支持的操作
错误原因:
- 尝试为触发器创建同义词。
- 尝试修改用户库/表对象不支持修改的属性。
- 尝试删除表对象的哈希分区。
- 尝试为系统表创建索引。
- 尝试为用户库创建触发器。
- 尝试通过命令删除数据库系统目录。
- 尝试删除数据库不支持删除的对象。
- 尝试使用非B树索引为分区重建索引。
- 尝试为含有子分区的分区重建索引。
- 尝试为重建索引。
- 尝试使用游标进行批量删除/插入/更新。
- 关闭流式导入功能 enable_stream_import = false 的前提下,使用流式导入。
- 尝试对除堆表以外的表对象使用流式导入。
- 尝试对自动扩展分区表使用流式导入。
- 针对 DBMS_METADATA.GET_DDL 的错误用法。
分析与建议:
- 根据提示进行调整。
E19068:不能对不可更改的游标%s作删除
错误原因:
- 尝试使用游标对不可删除的基表进行数据删除。
分析与建议:
- 不支持的操作。
E19070:行表达式中不允许使用操作符%s
错误原因:
- 关系表达式使用了除 '=','<>','<','<=','>','>=' 以外的操作符。
分析与建议:
- 确认表达式是否书写错误。
E19076:常数不正确
错误原因:
- PL/SQL 中,尝试使用除 'TRUE', 'T', 'FALSE', 'F', 'UNKNOW', 'U' 以外的字符串赋值给布尔类型的变量。
- PL/SQL 中,尝试使用除 1 和 0 以外的数字赋值给布尔类型的变量。
- PL/SQL 中,尝试使用除布尔类型值、整型值、字符串值以外的常量值赋值给布尔类型的变量。
- PL/SQL 中,尝试使用除整数值、字符串值以外的常量值赋值给 TINYINT、SMALLINT、INTEGER 类型的变量。
- PL/SQL 中,尝试使用除整数值、浮点数值、字符串值以外的常量值赋值给 BITINT 类型、 NUMERIC 类型、CLOB 类型或 CHAR 类型的变量。
- PL/SQL 中,尝试使用除整数值、浮点数值以外的常量值赋值给 FLOAT 类型或 DOUBLE 类型的变量。
- PL/SQL 中,尝试使用除二进制值以外的常量值赋值给 BLOB 类型的变量。
- PL/SQL 中,尝试使用除字符串值以外的常量值赋值给 JSON 类型、GUID 类型或 XML 类型的变量。
- PL/SQL 中,使用了错误的日期时间常数值赋值给日期时间类型的变量。
分析与建议:
- 结合场景做出调整。
E19077:名字超长(超过%d字节)
错误原因:
- 修改当前连接的用户身份,指定的用户名超长。
- 创建/修改/删除对象时,指定的对象名超长。
- 调用系统包方法 DBMS_METADATA.GET_DDL 时,参数指定的对象名超长。
- 调用系统包方法 DBMS_UTILITY.OPEN_TABLE 时,参数指定的对象名超长。
- 调用系统包方法 DBMS_REPLICATION.CREATE_MODIFY_SOURCE 时,参数指定的模式名或表名超长。
- 调用系统包方法 DBMS_REPLICATION.DROP_MODIFY_SOURCE 时,参数指定的模式名或表名超长。
分析与建议:
- 确认实参或对象名是否拼写错误。
E19078:数据版本数必须是1~3
错误原因:
- 创建表对象时,显示指定了存储副本数量,且满足 COPY_NUM < 1 或 COPY_NUM > 3。
分析与建议:
- 表对象的存储副本数量必须满足: 1 ≤ COPY_NUM ≤ 3。
E19082:找不到超类%s
错误原因:
- 创建用户自定义数据类型时,指定的超类型不存在。
分析与建议:
- 确认超类型名是否拼写错误。
E19091:错误的格式字符串%s
错误原因:
分析与建议:
- 参考相关章节的文档。
E19096:找不到预定义语句%s
错误原因:
- 使用预处理语句标签创建游标时,预定义语句不是查询。
分析与建议:
- 使用预处理语句标签创建游标时,标签下的预定义语句必须是查询。
E19098:rowid不正确导致定位失败
错误原因:
- 系统内部进行数据更新和数据删除时,取得的 ROWID 错误。
分析与建议:
- 存储可能异常,需联系研发人员处理。
E19099:游标%s不存在
错误原因:
- 打开游标时,无法根据给定的游标名称找到对应的游标信息,游标不存在。
- 使用预处理标签执行预处理语句时,无法根据给定的游标名称找到对应的游标信息,游标不存在。
分析与建议:
- 确认游标名称是否拼写错误。
E19101:Bookmark值无效
错误原因:
- 系统执行延迟检查约束时,检测到 ROWID 无效。
- 通过游标读取表字段数据时,检测到 ROWID 无效。
分析与建议:
- 存储可能异常,需联系研发人员处理。
E19102:游标%s未打开
错误原因:
- 尝试使用未打开的游标获取结果集。
分析与建议:
- 使用游标之前,需要先打开游标。
E19104:存在同名的预编译语句%s
错误原因:
- 尝试定义标签名重复的预处理语句。
分析与建议:
- 预处理语句的标签不可以重复。
E19105:预定义变量%s不存在
错误原因:
- 尝试使用 DEALLOCATE 取消不存在的预处理语句标签。
分析与建议:
- 确认预处理语句标签是否拼写错误。
E19106:语句%s未预定义
错误原因:
- 尝试使用未定义的预处理语句标签。
分析与建议:
- 不支持的操作。
E19111:变量无效
错误原因:
- 设置会话变量 OPTIMIZER_MODE 时,尝试指定除 "FIRST_ROWS" 和 "ALL_ROWS" 以外的值。
分析与建议:
- 会话变量 OPTIMIZER_MODE 的取值只能是 "FIRST_ROWS" 或 "ALL_ROWS"。
E19112:获取服务器信息失败
错误原因:
- 通过系统变量 SERVER_INFO 获取本机的服务器信息失败。
分析与建议:
- 检查执行程序的用户身份是否具备最高管理员权限。
E19116:单次内存分配申请超过最大限额(%dM)
错误原因:
- 单次申请内存大小超过系统参数 max_malloc_once 的配置。
分析与建议:
- 可能存在数值越界。
E19119:字符不完整
错误原因:
- 输入的命令中存在不符合当前词法设计的子句。
分析与建议:
- 按提示进行排查纠正。
E19120:注释未结束
错误原因:
- 输入的命令中存在注释信息,但注释信息不是以 "*/" 收尾。
分析与建议:
- 按提示进行排查纠正。
E19121:标识符长度超过最大长度%d
错误原因:
- 创建用户时,指定的用户名称或口令长度超过阈值。
- 标识符或字符串常量长度超过阈值。
- 调用系统包方法 DBMS_SCHEDULER.CREATE_JOB 时,传入的定时作业名称参数长度超过阈值。
分析与建议:
- 按提示做出调整。
E19123:标识符长度不能为0
错误原因:
- 输入的 SQL 命令中包含空串,且尝试使用空串作为对象名称的标识符。
分析与建议:
- 不支持的操作。
E19126:双引号不配对
错误原因:
- 输入的 SQL 命令中包含不成对的双引号,不符合词法解析规则设计。
分析与建议:
- 按提示做出调整。
E19127:单引号不配对
错误原因:
- 输入的 SQL 命令中包含不成对的单引号,不符合词法解析规则设计。
分析与建议:
- 按提示做出调整。
E19128:将空字符串用作标识符
错误原因:
- 输入的 SQL 命令中包含空串,且尝试使用空串作为对象名称的标识符。
分析与建议:
- 不支持的操作。
E19130:不能识别的词法
错误原因:
- 输入的 SQL 命令中包含不能识别的词组。
分析与建议:
- 按提示做出调整。
E19132:语法错误
错误原因:
- 期待符号: %s;遇到不可识别的符号,导致分析过程无法继续。
- 意外符号: '%s';操作SQL语法不正确,关键字不正确或不满足SQL标准。
分析与建议:
- 按提示做出调整。
E19137:数字字串位数太多
错误原因:
- 字符串向时间日期类型进行转换时,输入的字符串长度超长。
- 调用系统函数 TO_XDATE 时,输入的表示被转换的字符串实参长度超长。
- 调用系统函数 DATE_PART 时, 输入的表示提取部分的字符串实参长度超长。
- 调用系统函数 TO_DATE 时,输入的表示被转换的字符串实参长度超长。
- 调用系统函数 DATE_TRUNC 时,输入的表示截断部分的字符串实参长度超长。
- 调用系统函数 TO_TIMESTAMPZ 时,输入的表示被转换的字符串实参长度超长。
- 调用系统函数 MAKE_TIMESTAMPZ 时,输入的表示时区的字符串实参长度超长。
分析与建议:
- 按提示做出调整。
E19138:时间值常数错误('%s')
错误原因:
- 字符串向时间日期类型转换的场景下,输入的字符串无法转换为时间值。
- 调用系统函数 TO_XDATE,TO_DATE,TO_TIMESTAMP,TO_TIMESTAMPZ 时,待转换的字符串实参无法转换为时间值。
分析与建议:
- 按提示做出调整。
E19139:Interval值常数错误
错误原因:
- 字符串向时间日期类型转换的场景下,输入的字符串无法转换为时间值。
分析与建议:
- 按提示做出调整。
E19140:参变量%s错误
错误原因:
- 参数变量使用不当。
分析与建议:
- 按提示做出调整。
E19141:子查询分析失败
错误原因:
- 编译 PL/SQL 中的条件表达式失败。
- 编译 NVL 表达式失败。
分析与建议:
- 对 SQL 中的可疑表达式做出调整。
E19142:子查询只能返回一个值
错误原因:
- 查询语句中 SUBLINK 子查询返回了多个结果列。
分析与建议:
- 不支持的操作。
E19148:游标%s是只读游标
错误原因:
- 尝试使用只读游标进行数据更新。
分析与建议:
- 不支持的操作。
E19151:字段%s不可更改
错误原因:
- 尝试对无法进行修改的属性进行修改。
分析与建议:
- 不支持的操作。
E19153:异常%s是系统预定义异常
错误原因:
- 在 PL/SQL 语句中的异常处理模块中使用了系统内部已定义的异常名。
分析与建议:
- 访问 SYS_ERR_DEFS 系统表查看系统内部已定义的异常,并在 PL/SQL 中进行规避。
E19154:异常%s已定义
错误原因:
- 在 PL/SQL 语句中的异常处理模块中定义了重复的异常名。
分析与建议:
- 将重复定义的异常名重命名。
E19155:异常编号%d已被使用
错误原因:
- 在 PL/SQL 语句中的异常处理模块中定义了重复的异常号。
分析与建议:-
- 将重复定义的异常号重新编号。
E19156:变量%s未定义
错误原因:
- PL/SQL 中使用了未定义的变量。
分析与建议:
- 确认变量名是否拼写错误。
- 按提示做出调整。
E19159:不能为Cursor%s指定SQL语句
错误原因:
- 在 PL/SQL 中尝试为已定义的游标再次指定 SQL 语句。
分析与建议:
- 不支持的操作。
E19162:%s
错误原因:
- 编译 PL/SQL 中的游标、sublink、表达式、INSERT/UPDATE/DELETE/SELECT 语句失败。
分析与建议:
- 按提示做出调整。
E19163:不支持(%s>%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19164:不支持(%s>=%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19165:不支持(%s<%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19166:不支持(%s<=%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19167:不支持(%s<>%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19168:不支持(%s = %s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:-
- 尝试进行强制数据类型转换。
E19169:不支持(%s%s%s)运算
错误原因:
- 表达式的左右操作数类型不兼容,无法进行比较运算。
分析与建议:
- 尝试进行强制数据类型转换。
E19170:游标%s不含属性%s
错误原因:
- 在 PL/SQL 中尝试获取游标不支持的属性。
分析与建议:
- 不支持的操作。
E19171:SQL不含属性%s
错误原因:-
- 在 PL/SQL 中尝试获取 SQL 不支持的属性。
分析与建议:
- 不支持的操作。
E19173:同名变量%s已定义
错误原因:
- 在 PL/SQL 中尝试重复定义已存在的变量。
分析与建议:
- 不支持的操作。
E19174:变量%s不可赋值
错误原因:
- 在 PL/SQL 中尝试对常量或常量表达式进行赋值。
分析与建议:
- 不支持的操作。
E19175:试图将非数组变量%s当作数组进行赋值
错误原因:
- 试图将非数组变量当作数组进行赋值。
分析与建议:
- 不支持的操作。
E19176:统计变量%s未定义
错误原因:
- 在 PL/SQL 中尝试对 FORALL 语句使用未定义的集合变量(INDICES OF)。
分析与建议:
- 不支持的操作。
E19177:统计变量标识符%s错误
错误原因:
- 在 PL/SQL 中对 FORALL 语句使用了错误的集合变量(INDICES OF)。
分析与建议:
- 不支持的操作。
E19178:For语句中变量%s不是游标
错误原因:
- 在 PL/SQL 的循环语句中使用游标方式遍历一个非游标变量。
分析与建议:
- 不支持的操作。
E19179:标号为%s的语句不是循环语句
错误原因:
- 在 PL/SQL 中使用 CONTINUE 时,指定的标签不是循环语句。
分析与建议:
- 不支持的操作。
E19181:变量个数与值个数不相同
错误原因:
- VIN 子句中变量的个数与值个数不对等。
- UNPIVOT 子句中列的个数与值个数不对等。
- SELECT .. INTO .. 子句中字段个数与变量个数不对等。
分析与建议:
- 按提示做出调整。
E19182:编译SQL失败%s
错误原因:
- 编译 PL/SQL 中的 DML 语句失败。
分析与建议:
- 按提示做出调整。
E19183:未定义异常%s
错误原因:
- 在 PL/SQL 中进行异常处理时,使用了未定义的异常名。
分析与建议:
- 不支持的操作。
E19193:数组扩展失败(超过数组最大容量)
错误原因:
- 在 PL/SQL 中对数组类型的变量使用 EXTEND 进行扩展时,扩展失败。
分析与建议:
- 使用合理的尺度进行数组容量扩展。
E19196:命令长度超过最大允许长度%d
错误原因:
- 用户向数据库服务端发起字符串长度大于阈值的 SQL 请求。
分析与建议:
- 控制 SQL 请求的字符串长度。
E19198:数据存贮体正在进行切换操作
错误原因:
- enable_read_copy2 = false,数据存储的主版本无效。
- enable_read_copy2 = true,数据存储的所有版本均无效。
分析与建议:
- 重启服务或等候存储修复。
E19199:update操作不能正确定位行
错误原因:
- 执行 UPDATE 语句过程中,ROWID无效导致定位失败。
分析与建议:
- 显示指定的 ROWID 定位表达式异常。
E19200:只读隔离级别不能启动非只读命令
错误原因:
- 在只读级别的会话上尝试执行非只读事务。
分析与建议:
- 通过修改会话参数 TRANS_READONLY = false 关闭当前会话上只能执行只读事务。
- 通过修改会话参数 ISO_LEVEL(SESSION_ISO_LEVEL)修改事务隔离级别。
E19201:无法转化为SQL语句
错误原因:
- 在语法节点向 SQL 命令串转换的过程中遇到个别不支持转换的常量表达式。
分析与建议:
- 绕开或规避不支持转换的常量表达式。
E19206:delete操作不能正确定位行
错误原因:
- 执行 DELETE 语句过程中,ROWID无效导致定位失败。
分析与建议:
- 显示指定的 ROWID 定位表达式异常。
E19207:精度或标度下标值太大
错误原因:
- 定义 TIMESTAMP、TIME、DATETIME 等时间类型时,显示指定的精度大于 10。
- 定义 INTERVAL SECOND 时间类型时,显示指定的精度大于 12。
分析与建议:
- 按提示做出精度调整。
E19208:ESCAPE 表达式错误
错误原因:
- 模糊匹配的 LIKE、NOTLIKE 子句中,ESCAPE 指定了空串或多个字符作为转义字符。
分析与建议:
- 模糊匹配中使用 ESCAPE 只能指定一个转义字符。
E19209:LIKE表达式ESCAPE序列错误
错误原因:
- 模糊匹配的 LIKE、NOTLIKE 子句中,模糊匹配表达式中非正确方式使用 ESCAPE 指定的转义字符。
分析与建议:
- 模糊表达式中的转义字符后只能跟 '%'、'_' 和转义字符自身。
E19210:TRIM字符数不是1
E19212:代码编译错误
错误原因:
- 编译 JOB、包、存储过程/函数、触发器、用户自定义类型时不通过。
分析与建议:
- 按提示做出调整。
E19213:分配系统全局区内存失败
错误原因:
- 当前节点的系统全局区内存耗尽。
- 当前节点已使用的系统全局区内存总量达到阈值(max_hash_mem)。
分析与建议:
- 查询优化。
- 增配系统全局区内存(system_sga_mem)。
E19215:排序项%s未出现在distinct列中
错误原因:
- 去重查询的输出字段中不包含排序字段。
分析与建议:
- 不支持的操作。
E19216:正则表达式错误(%d:%s)
错误原因:
- 调用系统函数 REGEXP_LIKE 进行正则匹配时,参数输入的正则表达式异常。
- 调用系统函数 REGEXP_INSTR 进行正则匹配时,参数输入的正则表达式异常。
- 调用系统函数 REGEXP_SUBSTR 进行正则匹配时,参数输入的正则表达式异常。
- 调用系统函数 REGEXP_REPLACE 进行正则匹配时,参数输入的正则表达式异常。
- 调用系统函数 REGEXP_COUNT 进行正则匹配时,参数输入的正则表达式异常。
分析与建议:
- 调整正则表达式。
E19217:不支持对复合合类型成员进行更改
错误原因:
- 尝试对复合数据类型的成员进行 UPDATE 操作。
分析与建议:
- 不支持的操作。
E19218:PreparedStatement个数超过限制%d
错误原因:
- 单个会话连接上创建的预处理语句数超过 max_prepare_num 配置的阈值。
分析与建议:
- 控制连接会话上创建的预处理语句数量。
- 扩大 max_prepare_num 配置。
E19219:隔离级取值错误(应界于0~3)
错误原因:
- 修改会话变量 ISO_LEVEL 或 SESSION_ISO_LEVEL 时,给定的参数值 < 0 或 参数值 > 3。
分析与建议:
- 会话变量 ISO_LEVEL 和 SESSION_ISO_LEVEL 的取值范围应在 0 到 3 之间。
E19223:包ID已达到最大分配额度1M
错误原因:
- 当前用户库下新建的用户自定义包数量已达上限。
分析与建议:
- 当前用户库已无法再新建包。
E19224:Connect by 表达式错误
错误原因:
- 层次查询中的 CONNECT BY 表达式使用了常量表达式或聚合函数。
分析与建议:
- 不支持的操作。
E19225:Start with 表达式错误
错误原因:
- 层次查询中的 START WITH 表达式使用了伪字段或聚合函数·。
分析与建议:
- 不支持的操作。
E19226:非法的PRIOR表达式
错误原因:
- 层次查询中非法使用 PRIOR 表达式。
分析与建议:
- 不支持的操作。
E19227:非法的层次树伪字段表达式
错误原因:
- 层次查询中非法使用伪字段表达式。
分析与建议:
- 不支持的操作。
E19228:层次树出现循环
错误原因:
- 数据模型中的父子关系形成闭环,导致查询无法正常终止。
分析与建议:
- 调整层次查询语句。
E19229:层次树深度不能超过1024
错误原因:
- 层次树数据模型的深度超过 1024。
分析与建议:
- 调整层次查询语句。
E19230:字段(col_no:%d,col_name:%s)值错误(%s)
错误原因:
- 针对 DML 语句中表达式的在计算阶段执行失败。
分析与建议:
- 按提示做出调整。
E19231:SQL处理过程(%s)中递归栈超过%d
错误原因:
- 常见于与或表达式节点数量连续且超过阈值。
分析与建议:
- 优化 SQL 中的表达式结构(表达式的解析采用递归方式进行,此限制为防止递归深度过深导致线程栈内存被耗尽)。
E19232:SQL集合运算超过%d
错误原因:
- 集合查询连续嵌套,层次过深。
分析与建议:
- 优化查询(集合查询的解析采用递归方式进行,此限制为防止递归深度过深导致线程栈内存被耗尽)。
E19233:SQL路径层次超过%d
错误原因:
- SQL 连续嵌套,层次过深。
分析与建议:
- SQL 优化(此限制为防止递归深度过深导致线程栈内存被耗尽)。
E19234:指定的时间限制无效,有效范围[0,10s]
错误原因:
- 调用系统函数 SLEEP 时,指定的参数值 > 10000 且参数值 < 0。
分析与建议:
- 调整实参值至合理范围内。
E19235:无效的 USERENV 参数
错误原因:
- 调用系统函数 USERENV 时,给定的实参无效或不支持。
分析与建议:
- USERENV 的实参可以是 SESSIONID、SESSION_USER、SESSION_USERID、SID、CURRENT_USER、CURRENT_USERID、IP_ADDRESS、ISDBA、LANG、LANGUAGE 和 PID。
E19236:PRAGMA EXCEPTION_INIT中有未定义的异常错误%s
错误原因:
- PL/SQL 中使用 EXCEPTION_INIT 绑定的异常还未定义。
分析与建议:
- PL/SQL 中使用 EXCEPTION_INIT 绑定异常时,被绑定的异常变量必须是提前定义。
E19238:表达式不支持WITH语句
错误原因:
- DELETE 语句中使用了 WITH 子句。
- MERGE INTO 语句中使用了 WITH 子句。
- UPDATE 语句中使用了 WITH 子句。
分析与建议:
- 不支持的操作。
E19239:不允许使用本地临时表%s
错误原因:
- 视图定义中使用了本地临时表。
- 存储过程或函数中使用了本地临时表。
分析与建议:
- 不支持的操作。
E19240:任务工作内存超过最大值(%dM)
错误原因:
- 层次树业务场景下任务线程内存超过系统参数 max_task_mem 设定的阈值。
分析与建议:
- 优化查询,避开层次过深的层次树查询。
E19241:连接表或子查询个数超过%d,请用join关键字重写
错误原因:
- 单个查询语句中访问涉及到的表数量超过系统参数 select_table_num 配置的阈值。
分析与建议:
- 优化查询,减少访问表的数量。
E19242:此处不允许使用统计函数
错误原因:
- 聚合函数在除排序分组场景以外的禁用场景下使用。
分析与建议:
- 不支持的操作。
E19243:Cursor个数超过系统最大限制数%d
错误原因:
- 单个连接上创建的游标数量超过系统参数 max_cursor_num 配置的阈值。
分析与建议:
- 严控连接上的游标数量,合理利用资源。
E19245:不允许使用子查询
错误原因:
- 默认值表达式中使用了子查询。
- 值检查约束表达式中使用了子查询。
- 用户自定义变量使用了子查询。
分析与建议:
- 不支持的操作。
E19246:IN表达式参数超过%d个
错误原因:
- 单个 IN 子句中出现的参数个数超过阈值。
分析与建议:
- 控制 IN 子句中出现的参数数量。
E19250:编码方式不能为空
错误原因:
分析与建议:
E19251:BASE64解码错误:%s
错误原因:
- 调用系统函数 BASE64_DECODE 时,解码序列中出现无效字符、意外字符或无效的结束序列。
- 调用系统函数 DECODE_PG 使用 BASE64 解码算法进行解码时,解码序列中出现无效字符、意外字符或无效的结束序列。
分析与建议:
- 参与解码的内容可能与解码算法不匹配。
E19252:无效的16进制数据:奇数位数
错误原因:
- 调用系统函数 DECODE_PG 使用 HEX 解码算法进行解码时,输入的字符串中的字符数为奇数。
- 调用系统函数 HEX_DECODE 对十六进制字符串进行解码时,输入的字符串中的字符数为奇数。
分析与建议:
- 参与解码的字符串中的字符数必须是偶数。
E19253:无效的%s类型输入语法
错误原因:
- 调用系统函数 DECODE_PG 使用 ESCAPE 解码算法进行解码时,参加解码的数据含有无效的输入。
分析与建议:
- 按提示做出调整。
E19254:尝试更新同一行
错误原因:
- 尝试对同一行数据重复更新。
分析与建议:
- 不支持的操作。
E19255:SPLIT_PART函数子串位置参数不能为零
错误原因:
- 调用系统函数 SPLIT_PART 时,位置参数指定为 0。
分析与建议:
- 不支持的操作。
E19256:位串中含非法字符
错误原因:
- 使用表示二进制的字符串向二进制数据转换时,字符串内包含非法字符(非 '0' 和 '1' 的字符)。
分析与建议:
- 涉及位字符串向二进制数据转换的场景下,确保输入的位串格式正确。
E19257:类型精度不能小于1
错误原因:
- 定义带精度的 BIT、BIT VARING 和 VARBIT 数据类型时,给定的精度小于 1。
分析与建议:
- 不支持的用法。
E19258:类型精度不能大于%d
错误原因:
- 定义带精度的 BIT、BIT VARING 和 VARBIT 数据类型时,给定的精度大于行记录的最大长度。
分析与建议:
- 不支持的用法。
E19260:期待符号: %s
错误原因:
- SQL 命令不符合现有语法设计,实际与期望不符。
分析与建议:
- 按提示做出调整。
E19261:缺少符号: %s
错误原因:
- SQL 命令不符合现有语法设计,可能存在内容缺失。
分析与建议:
- 按提示做出调整。
E19262:意外符号: '%s'
错误原因:-
- SQL 命令不符合现有语法设计,可能存在冗余内容。
分析与建议:
- 按提示做出调整。
E19263:标识符不能使用回车换行符
错误原因:
- SQL 命令中的标识符含有 '\r' 或 '\n' 字符。
分析与建议:
- 不支持的用法。
E19264:此函数或运算符不支持类型 %s
错误原因:
- 对不支持排序(数据类型无比较函数)的数据尝试进行数据去重。
分析与建议:
- 不支持的操作。
E19265:字符串长度不允许小于等于零
E19266:不是单组分组函数
错误原因:
- def_group_by_mode = 0 时,查询语句中不存在 GROUP BY 子句,且窗口函数与聚合函数同时存在。
分析与建议:
- 在原 SQL 基础之上添加 GROUP BY 子句。
E19267:与 GROUP BY 表达式不匹配
错误原因:
- def_group_by_mode = 0 时,窗口函数与聚合函数同时存在,查询语句的排序项不是输出项。
分析与建议:
- 在原 SQL 基础之上,修改 GROUP BY 子句中的排序项为输出项目。
E19268:密码算法计算错误
错误原因:
- pass_mode = 4 时,系统初始化生成系统用户密码错误。
- 调用系统包方法 DBMS_CRYPTO.RANDOMNUMBER 时,随机数生成算法计算错误。
- 调用系统包方法 DBMS_CRYPTO.RANDOMINTEGER 时,随机数生成算法计算错误。
- 调用系统包方法 DBMS_CRYPTO.RANDOMBYTES 时,随机数生成算法计算错误。
- 系统内部的 OPENSSL 各类加密算法上下文初始化失败。
分析与建议:
- 核实操作系统上的 OPENSSL 版本,联系内核研发人员进行协助。
E19269:PIVOT子句中存在非聚合表达式
错误原因:
- 行列转换 PIVOT 子句中缺失聚合项。
- 行列转换 PIVOT 子句中使用了多参数版本的 GROUP_CONCAT 聚合项。
- 行列转换 PIVOT 子句中聚合项的实参部分使用了参数表达式。
分析与建议:
- 不支持的操作。
E19270:PIVOT子句中禁用WINDOW函数
错误原因:
- 行列转换 PIVOT 子句中含有开窗函数。
分析与建议:
- 不支持的操作。
E19275:OpenSSL内部错误:%s
错误原因:
- 进行加密算法 SHA1、SHA224、SHA256、SHA384、SHA512、MD4、MD5 计算失败。
分析与建议:
- 核实操作系统上的 OPENSSL 版本,联系内核研发人员进行协助。
