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。