DB2 备份常见错误代码及含义
DB2错误码解析

DB2错误码解析SQLSTATE 消息本节列⽰ SQLSTATE 及其含义。
SQLSTATE 是按类代码进⾏分组的;对于⼦代码,请参阅相应的表。
表 2. SQLSTATE 类代码类代码含义要获得⼦代码,参阅...00 完全成功完成表 301 警告表 402 ⽆数据表 507 动态 SQL 错误表 608 连接异常表 709 触发操作异常表 80A 功能部件不受⽀持表 90D ⽬标类型规范⽆效表 100F ⽆效标记表 110K RESIGNAL 语句⽆效表 120N SQL/XML 映射错误表 1320 找不到 CASE 语句的条件表 1521 基数违例表 1622 数据异常表 1723 约束违例表 1824 ⽆效的游标状态表 1925 ⽆效的事务状态表 2026 ⽆效 SQL 语句标识表 2128 ⽆效权限规范表 232D ⽆效事务终⽌表 242E ⽆效连接名称表 2534 ⽆效的游标名称表 2636 游标灵敏度异常表 2738 外部函数异常表 2839 外部函数调⽤异常表 293B SAVEPOINT ⽆效表 3040 事务回滚表 3142 语法错误或访问规则违例表 3244 WITH CHECK OPTION 违例表 3346 Java DDL 表 3451 ⽆效应⽤程序状态表 3553 ⽆效操作数或不⼀致的规范表 3654 超出 SQL 限制,或超出产品限制表 3755 对象不处于先决条件状态表 3856 其他 SQL 或产品错误表 3957 资源不可⽤或操作员⼲预表 4058 系统错误表 415U 实⽤程序表 42类代码 00 完全成功完成表 3. 类代码 00:完全成功完成 SQLSTATE 值含义00000 操作执⾏成功,并且未产⽣任何类型的警告或异常情况。
类代码 01 警告表 4. 类代码 01:警告 SQLSTATE 值含义01002 发⽣ DISCONNECT 错误。
01003 从列函数的参数消去 NULL 值。
db2异常状态码整理

-108 42601 RENAME语句中指定的名字有错误,不能使用限定词
-109 42601 指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句
-110 42606 遇到了无效的十六进制的文字
-111 42901 指定的列函数没有给出列名
-150 42807 触发活动的INSERT,UPDATE或DELETE语句中指定了无效的视图更新或一个无效的转换表
-151 42808 试图更新一个不可更新的视图的列、一个DB2 CATALOG表的列或者一个ROWID列
-152 42809 DROP CHECK试图删除一个参照约束,或者DROP FOREIGN试图删除一个检查约束
+238 01005 至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间
+239 01005 至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间
+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内
+331 01520 不能被翻译的字符串,因此被设置为NULL
+117 01525 要插入的值的个数不等于被插入表的列数
+162 01514 指定的表空间被置为检查挂起状态
+203 01552 使用非唯一的名字来解决命名的限定列
+204 01532 命名的对象未在DB2中定义
+206 01533 命名的列不在SQL语句中指定的任何表中存在
+218 01537 因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN
DB2代码错误信息描述

DB2代码错误信息描述sqlcode sqlstate 说明00000000SQL语句成功完成01xxx SQL语句成功完成,但是有警告+01201545未限定的列名被解释为一个有相互关系的引用+09801568动态SQL语句用分号结束+10002000没有找到满足SQL语句的行+11001561用DATA CAPTURE定义的表的更新操作不能发送到原来的子系统+11101590为2型索引设置了SUBPAGES语句+11701525要插入的值的个数不等于被插入表的列数+16201514指定的表空间被置为检查挂起状态+20301552使用非唯一的名字来解决命名的限定列+20401532命名的对象未在DB2中定义+20601533命名的列不在SQL语句中指定的任何表中存在+21801537因为SQL语句引用一个远程对象,不能为该SQL语句执行EXPLAIN +21901532命名的PLAN TABLE不存在+22001546不正确定义PLAN TABLE,检查命名列的定义+23601005SQLDA中的SQLN的值至少应于所描述的列的个数一样大+23701594至少有一个被描述的列应该是单值类型,因此扩展的SQLVAR条目需要另外的空间+23801005至少应有一个被描述的列是一个LOB,因此扩展的SQLVAR条目需要另外的空间+23901005至少应有一个被描述的列应是单值类型,因此扩展的SQLVAR条目需要另外的空间+30401515该值不能被分配给宿主变量,因为该值不再数据类型的范围之内+33101520不能被翻译的字符串,因此被设置为NULL+33901569由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题+39401629使用优化提示来选择访问路径+39501628设置了无效的优化提示,原因代码指定了为什么,忽略优化提示+40201521未知的位置+40301522本地不存在CREAT ALIAS对象+43401608在DB2未来发布的版本中将不支持指定的特性,IBM建议你停止使用这些特性+44501004值被CAST函数截取+46201Hxx由用户定义的函数或存储过程发出的警告+46401609命名的存储过程超出了它可能返回的查询结果集的个数限制+46601610指定由命名的存储过程返回的查询结果集的个数。
数据库db2错误代码大全

数据库db2错误代码⼤全sqlcode sqlstate 说明000 00000 SQL语句成功完成01xxx SQL语句成功完成,但是有警告+012 01545 未限定的列名被解释为⼀个有相互关系的引⽤+098 01568 动态SQL语句⽤分号结束+100 02000 没有找到满⾜SQL语句的⾏+110 01561 ⽤DATA CAPTURE定义的表的更新操作不能发送到原来的⼦系统+111 01590 为2型索引设置了SUBPAGES语句+117 01525 要插⼊的值的个数不等于被插⼊表的列数+162 01514 指定的表空间被置为检查挂起状态+203 01552 使⽤⾮唯⼀的名字来解决命名的限定列+204 01532 命名的对象未在DB2中定义+206 01533 命名的列不在SQL语句中指定的任何表中存在+218 01537 因为SQL语句引⽤⼀个远程对象,不能为该SQL语句执⾏EXPLAIN+219 01532 命名的PLAN TABLE不存在+220 01546 不正确定义PLAN TABLE,检查命名列的定义+236 01005 SQLDA中的SQLN的值⾄少应于所描述的列的个数⼀样⼤+237 01594 ⾄少有⼀个被描述的列应该是单值类型,因此扩展的SQLVAR条⽬需要另外的空间+238 01005 ⾄少应有⼀个被描述的列是⼀个LOB,因此扩展的SQLVAR条⽬需要另外的空间+239 01005 ⾄少应有⼀个被描述的列应是单值类型,因此扩展的SQLVAR条⽬需要另外的空间+304 01515 该值不能被分配给宿主变量,因为该值不再数据类型的范围之内+331 01520 不能被翻译的字符串,因此被设置为NULL+339 01569 由于与DB2 2.2版本的⼦系统连接,所以可能存在字符转换问题+394 01629 使⽤优化提⽰来选择访问路径+395 01628 设置了⽆效的优化提⽰,原因代码指定了为什么,忽略优化提⽰+402 01521 未知的位置+403 01522 本地不存在CREAT ALIAS对象+434 01608 在DB2未来发布的版本中将不⽀持指定的特性,IBM建议你停⽌使⽤这些特性+445 01004 值被CAST函数截取+462 01Hxx 由⽤户定义的函数或存储过程发出的警告+464 01609 命名的存储过程超出了它可能返回的查询结果集的个数限制+466 01610 指定由命名的存储过程返回的查询结果集的个数。
DB2错误码

+331 01520 不能被翻译的字符串,因此被设置为NULL
+339 01569 由于与DB2 2.2版本的子系统连接,所以可能存在字符转换问题
+394 01629 使用优化提示来选择访问路径
+395 01628 设置了无效的优化提示,原因代码指定了为什么,忽略优化提示
-107 42622 对象名太长
-108 42601 RENAME语句中指定的名字有错误,不能使用限定词
-109 42601 指定了无效语句;例如CREATE VIEW不能包含ORDER BY 语句
-110 42606 遇到了无效的十六进制的文字
-111 42901 指定的列函数没有给出列名
-136 54005 排序关键字的长度大于4000字节
-137 54006 被连接的字符串太大;字符的最大值为32767;图形的最大值为16382
-138 22011 SUBSTR列函数的第二个或第三个操作符无效
-142 42612 不支持的SQL语句。该语句可能在另外的RDBMS上有效,也有可能在其他的上下文中有效(例如,VALUES只能在触发器中出现)
+610 01566 由于建立了一个指定为DEFER YES的索引,指定的对象处于PENDING状态,或者因为使用了
ALTER INDEX改变关键值的范围,所以指定的对象处于PENDING状态
+625 01518 因为删除了主健索引,所以表定义被标注为不完整
+626 01529 删除了加强UNIQUE约束的索引,唯一性不在被加强
DB2错误码及信息

DB2错误码及信息•0This is a successful run.•-60The length or scale is not valid.•-84The SQL statement cannot be executed.•-102The literal string is too long. The maximum allowable size is size. The string begins with string.•-104token is an incorrect token.•-107The name, name is too long. The maximum allowable size is size.•-109clause clause is not permitted.•-112The operand of a column function is another column function.•-113There is an incorrect character in: string, reason code nnn.The number of insert columns must match the number of insert values.•-119A column that was identified in a HAVING clause must beincluded in the GROUP BY clause.•-120A WHERE clause or SET clause includes an aggregate columnfunction.•-121An INSERT or UPDATE statement references a column for update multiple times.•-122The SELECT statement with a no GROUP BY clause contains a column name and a column function in the SELECT clause, ora column name is contained in the select clause, but not inthe GROUP BY clause.•-125An integer in the ORDER BY clause must identify a column of the result.The SELECT statement contains both an ORDER BY clause and an UPDATE clause.•-127The DISTINCT qualifier is specified more than once in a subselect.•-129There are too many tables referenced in a single query.•-134There is an improper use of the LONG STRING COLUMN or a host variable of a MAXIMUM LENGTH greater than 254. •-138The SUBSTRING argument is not valid.•-150An INSERT, UPDATE, or DELETE statement was issued on a view.•-151An UPDATE was issued on a non-updateable column.•-153A CREATE VIEW statement must have a column-name list. •-156The target of a MAP INDEX statement must be a table.The column list for view is not valid.•-170The number of arguments is not valid.•-171The function argument is not valid.•-181The string representation of a DATETIME value is not valid.•-182An arithmetic expression with a DATETIME value is not valid.•-183An arithmetic operation on a DATE or TIMESTAMP value produced a value that is out of the range of the valid dates.•-185The LOCAL date and time format is not supported.•-199The keyword, keyword is not valid.•-203A reference to a column name is ambiguous.•-204The name is an undefined name.The column, column-name is not a column in the table, table-name.•-206The column-name must be a column in an inserted table, updated table, or any table that is identified in a FROM clause.•-208A column that is not valid is included in the ORDER BYclause.•-300The host variable is not null terminated.•-301The input-host variable type is not valid.•-302The host variable is not valid or too large for the target column.•-303The output-host variable type is not valid.•-304Conversion of SQL data type would result in truncated value.An output-indicator variable was not given.•-312CREATE VIEW statement contains parameter markers or host variables.•-313The number of host variables is incorrect.•-338The ON clause for a table join is not valid.•-401The operands of an arithmetic or comparison operation are not comparable.•-402An expression in a select list contains operands that are not compatible.•-405The numeric literal is out of range.•-407An UPDATE or INSERT value is NULL, and the target column is defined as NOT NULL.An UPDATE or INSERT value is not compatible with the data type of the target column.•-412The SELECT CLAUSE of a subquery specifies multiple columns.•-415The corresponding columns in each table of a UNION do not have the compatible data types.•-416There is an operand of a UNION that contains a long SQL column.•-419The decimal-divide operation is not valid.•-420There is an incorrect decimal string.•-421The operands of a UNION do not have the same number of result columns.•-444The stored procedure failed to load.The stored procedure definition includes one or more OUTPUT parameters for which no host variable was passed. •-501The cursor that is identified in a FETCH or CLOSE statement is not open.•-502The cursor that is identified in an OPEN statement is already open.•-504The cursor name is not defined.•-514The cursor is not in a prepared state.•-516The DESCRIBE statement does not identify a PREPARED statement.•-517The statement that is named in the declaration for the cursor must be a SELECT statement.•-518The statement is not prepared.The PREPARE statement identifies the SELECT statement of the opened cursor.•-530The foreign key was incorrect. The insert positioning failed on a multi-record mapped table.•-537The primary key clause identifies the column, column-name more than once.•-542The column-name cannot be a column of a primary key because it can contain null values.•-551Privileges are necessary to run the SQL statement.•-601The name of the object to be created cannot be identical to the existing name.•-602The CREATE INDEX statement specifies too many columns (number is the maximum).A data type definition specifies an incorrect length, precision,or scale attribute for column-name.•-607An INSERT, UPDATE, or DELETE statement was issued on a non-updateable table.•-612A duplicate column name is specified.•-637Duplicate keyword. keyword.•-638The table, table, cannot be created because a column definition is missing.•-644An incorrect value, value, is specified for the keyword or clause, keyword-or-clause in the statement, stmt-type.•-681An error occurred while a column in a field procedure was being encoded or decoded.•-682The program cannot load the field procedure.The SQL statement caused a data exception error.•-803Duplicate keys were detected on table table-name.•-804The input SQLDA is incorrect.•-811The results of a subselect produced more than one row. •-817An update is prohibited. A two-phase-commit situation or a catalog update statement (DDL) was issued while another connector transaction was incomplete.•-870The number of host variables is incorrect.•-904An unavailable resource prevented the SQL statement from running.•-922Authorization for the connection failed.•-4901The cursor limit was exceeded.The memory limit was exceeded.•-4903The SQL statement is unsupported.•-4904The SQL function or expression is not supported.•-4905An internal processing error occurred.•-4906The conversion is not valid.•-4907An internal catalog error occurred while reading or updating the system catalog.•-4908The mapped data is not valid.•-4909A DDLEX mapping error occurred.•-4910An error occurred during a connector update that required a backout of the current transaction.•-4911The statement processing was cancelled.。
DB2 错误代码大全——SQLSTATE 消息

____上一篇下一篇DB2查看( 7832 ) / 评论( 12 ) / 评分( 55 / 0 )DB2 SQLSTATE消息异常一2008-03-31 13:17SQLSTATE消息本节列示SQLSTATE及其含义。
SQLSTATE是按类代码进行分组的;对于子代码,请参阅相应的表。
表2. SQLSTATE类代码类代码含义要获得子代码,参阅...00完全成功完成表301警告表402无数据表507动态SQL错误表608连接异常表709触发操作异常表80A功能部件不受支持表90D目标类型规范无效表100F无效标记表110K RESIGNAL语句无效表120N SQL/XML映射错误表1320找不到CASE语句的条件表1521基数违例表1622数据异常表1723约束违例表1824无效的游标状态表1925无效的事务状态表2026无效SQL语句标识表2128无效权限规范表232D无效事务终止表242E无效连接名称表2534无效的游标名称表2636游标灵敏度异常表2738外部函数异常表2839外部函数调用异常表293B SAVEPOINT无效表3040事务回滚表3142语法错误或访问规则违例表3244 WITH CHECK OPTION违例表3346 Java DDL表3451无效应用程序状态表3553无效操作数或不一致的规范表3654超出SQL限制,或超出产品限制表3755对象不处于先决条件状态表3856其他SQL或产品错误表3957资源不可用或操作员干预表4058系统错误表415U实用程序表42类代码00完全成功完成表3.类代码00:完全成功完成SQLSTATE值含义00000操作执行成功,并且未产生任何类型的警告或异常情况。
类代码01警告表4.类代码01:警告SQLSTATE值含义01002发生DISCONNECT错误。
01003从列函数的参数消去NULL值。
01004字符串值在指定给具有较短长度的另一字符串数据类型时被截断。
db2常见错误

DB2 SQLSTATE 消息异常二2008年04月25日星期五 14:51类代码 40 事务回滚表 31. 类代码 40:事务回滚 SQLSTATE 值含义40001 发生了伴随自动回滚的超时或死锁。
40003 语句完整性未知。
40504 由于系统错误导致工作单元被回滚。
40506 由于 SQL 错误,当前事务已回滚。
40507 由于创建索引时发生故障,因此当前事务已回滚。
类代码 42 语法错误或访问规则违例表 32. 类代码 42:语法错误或访问规则违例 SQLSTATE 值含义42501 授权标识不具有对标识对象执行指定操作的特权。
42502 授权标识不具有执行指定操作的特权。
42504 无法从指定的权限名撤销指定的特权、安全标号或免除凭证。
42506 发生所有者授权失败。
42508 不能将指定的数据库特权授予 PUBLIC。
42509 因为 STATICRULES 选项而未授权 SQL 语句。
42511 未能检索 DATALINK 值。
42512 授权标识对受保护列没有访问权。
42514 授权标识不具有对象的所有权需要的特权。
42516 用户映射存储库中的认证失败。
42519 不允许此授权标识对受保护表执行操作。
42520 由于此授权标识没有安全标号,所以无法执行内置函数。
42521 无法将权限或特权授予指定的授权标识。
42522 此授权标识没有凭证,因此无法保护列或者对该列除去保护。
42601 字符、标记或子句无效或丢失。
42602 检测到名称中有无效字符。
42603 检测到未终止的字符串常量。
42604 检测到无效数字或字符串常量。
42605 为标量函数指定的参数的数目无效。
42606 检测到无效十六进制常数。
42607 列函数的操作数无效。
42608 在 VALUES 中使用 NULL 或 DEFAULT 是无效的。
42609 运算符或谓词的所有操作数都是参数标记。
42610 不允许参数标记。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DB2 常见错误代码
DB2 的错误信息分为4类:
1: DB2错误信息: --> SQL<XXXX>N
例如: SQL2062N
该类错误信息可以通过DB2 命令查看详细描述:
$db2 ? <SQLXXXXN>
2: Error Code: →-XXX
可以参考附件DB2_Code.PDF 查找.
3: SQL STATE Code: →SQLSTATE: XXXXX
该类错误信息一般会和Error Code 一同出现. 可在附件DB2_Code.PDF 查找错误描述. 4: Reason Code. →Reason code: "xxxx".
出现该类通常是第三方API 或操作系统返回的错误信息. 可从系统层面查找原因.
例如:在AIX 可以在如下文件找到该错误的描述:
/usr/include/sys/ errno.h
例如常见Reason Code
#endif /* _ALL_SOURCE */
#define EPERM 1 /* Operation not permitted */
#define ENOENT 2 /* No such file or directory */
#define ESRCH 3 /* No such process */
#define EINTR 4 /* interrupted system call */
#define EIO 5 /* I/O error */
#define ENXIO 6 /* No such device or address */
#define E2BIG 7 /* Arg list too long */
#define ENOEXEC 8 /* Exec format error */
#define EBADF 9 /* Bad file descriptor */
#define ECHILD 10 /* No child processes */
#define EAGAIN 11 /* Resource temporarily unavailable */
#define ENOMEM 12 /* Not enough space */
#define EACCES 13 /* Permission denied */
#define EFAULT 14 /* Bad address */
#define ENOTBLK 15 /* Block device required */
#define EBUSY 16 /* Resource busy */
#define EEXIST 17 /* File exists */
#define EXDEV 18 /* Improper link */
#define ENODEV 19 /* No such device */
#define ENOTDIR 20 /* Not a directory */
******************************************************************************* CV备份中常见的一些错误信息:
1:
SQL2426N The database has not been configured to allow the incremental backup operation. Reason code = "1".
Reason Code= “1”
从/usr/include/sys/ errno.h 查找Reason Code=”1” 的描述
#define EPERM 1 /* Operation not permitted (操作不被允许)
原因分析:
此时1 代表某些操作不被允许., 配合SQL2426N 可以知道是因为没有更新TRACKMOD 参数为ON. 所以增量备份不备允许.
2:
SQL2062N An error occurred while accessing media
"/opt/simpana/Base64/libDb2Sbt.so". Reason code: "11".
Reason Code= "11"
从/usr/include/sys/ errno.h 查找Reason Code=”11” 的描述
#define EAGAIN 11 /* Resource temporarily unavailable (无法分配资源)
原因分析:
1: CommCell里面的DB2 子客户端没有关联相应的存储策略。
2: MA 加载介质异常(MA服务不正常, 带库状态异常)
3: 带库介质资源不足, 或磁库空间不足.
3:
SQL2062N An error occurred while accessing media "VENDOR". Reason code: "18".
Rea son Code= “18”
从/usr/include/sys/ errno.h 查找Reason Code=”18” 的描述
#define EXDEV 18 /* Improper link (可能错误的参数或出口指向)
原因分析:
I guess this db did not update the db configuration which cv request. Should be done:
#db2 update db cfg for <DBNAME> using LOGARCHOPT1 "'
CvClientName=<ClientName>,CvInstanceName=Instance001'"
#db2 update db cfg for <DBNAME> using VENDOROPT "'
CvClientName=<Client_Name>,CvInstanceName=Instance001'"
#db2 update db cfg for <DBNAME> using LOGARCHMETH1
VENDOR:/opt/simpana/Base64/libDb2Sbt.so
SQL2071N An error occurred while accessing the shared library
"/opt/simpana/Base64/libDb2Sbt.so". Reason code: "2".
BI-M01-01-MARKDB: db2 backup db DMKDB ... completed rc=4。