db2 执行报错收集

1.对推行着之报错,可以当db2令行下运行命令 : db2=>? SQLxxx
查看相应之报错原因以及解决方法。

2.左SQL0206N SQLSTATE=42703  检测到一个无定义的排列、属性或参数称为。
  SQL0206N  “SQL_COU_ALL” is not valid in the context where it is
used.  SQLSTATE=42703
      db2 => ? “42703”    
      db2 => ? SQL0206N
   
3.谬误SQL0668N code “7” SQLSTATE=57016   表处于pending
state,需要组合该表。
  SQL0668N  Operation not allowed for reason code “7” on table
“xxx.Z_BP_TMPBATCH_TB_HIS”.  SQLSTATE=57016
     db2 => ? SQL0668N code 7  
     SQL0668N  Operation not allowed for reason code
“<reason-code>” on table “<table-name>”.
     Explanation:说明
       Access to table “<table-name>” is restricted. The cause is
based on the following reason codes “<reason-code>”:
       7   The table is in the reorg pending state. This can occur after
an ALTER TABLE statement containing a REORG-recommended operation.
     User response:用户应  
       7   Reorganize the table using the REORG TABLE command.
    For a table in the reorg pending state, note that the following
clauses are not allowed when reorganizing the table:
    *  The INPLACE REORG TABLE clause
    *  The ON DATA PARTITION clause for a partitioned table when table
has nonpartitioned indexes defined on the table

4.错误SQL20054N code=”23″ SQLSTATE=55019
对表的改动次数及3蹩脚,必须重组表
  ALTER TABLE xxx.FM_BORRO ALTER COLUMN DOCUMENT_TYPE_1 SET NOT
NULL
  报错:SQL20054N  The table “xxx.FM_BORROW” is in an invalid state for
the operation. Reason code=”23″.  SQLSTATE=55019
  db2 => ? SQL20054N
    SQL20054N  The table “<table-name>” is in an invalid state for
the operation. Reason code=”<reason-code>”.
  Explanation:
    The table is in a state that does not allow the operation. The
“<reason-code>” indicates the state of the table that prevents the
operation.
    23   The maximum number of REORG-recommended alters have been
         performed. Up to three REORG-recommended operations are
allowed
         on a table before a reorg must be performed, to update the
         tables rows to match the current schema.
  User response:
    23        Reorg the table using the reorg table command.
   
说明:当对表结构进行改动时,也或导致表状态很。比如,以下操作可能会见促成表处于reorg-pending状态。
 (1)        alter table <tablename> alter <colname> set data
type <new data type>
 (2)        alter table <tablename> alter <colname> set not
null
 (3)        alter table <tablename> drop column <colname>
 (4)        ……   
 出现reorg
pending的自是当表结构变化后影响了数行中的数格式,这时要对表做reorg。可能的一无是处号是:
 01.SQL0668N  Operation not allowed for reason code “7” on table
“SDD.ST_INCRE008”.  SQLSTATE=57016
 03.SQL20054N  The table “<table-name>” is in an invalid state for
the operation. Reason code=”7″.
 复制代码每一个表在非开展整合(Reorg)的前提下,只同意开展3不好组织及之改动。三不良变动后必对表进行组合。
 REORG TABLE “xx”.”FM_BORROW” ALLOW NO ACCESS KEEPDICTIONARY;

5.报错 SQL0670N  SQLSTATE=54010
该表所有字段长度的与超越当前数据库页大小(8K)
  ALTER TABLE xxx.FAQ ALTER COLUMN FAQ_UNIT_NAME SET DATA TYPE
VARCHAR(800)
  报错 SQL0670N  The row length of the table exceeded a limit of “8101”
bytes. (Table space “SHJD_DATA”.)  SQLSTATE=54010
  db2 => ? SQL0670N
    SQL0670N  The row length of the table exceeded a limit of
“<length>” bytes. (Table space “<tablespace-name>”.)
  Explanation:
    The row length of a table in the database manager cannot exceed:
 *  4005 bytes in a table space with a 4K page size
 *  8101 bytes in a table space with an 8K page size
 *  16293 bytes in a table space with an 16K page size
 *  32677 bytes in a table space with an 32K page size
    The length is calculated by adding the internal lengths of the
columns.Details of internal column lengths can be found under CREATE
TABLE in the SQL Reference.
  User response:
    指定页大小更甚之表空间;消除表中的同等列或多排

6.报错 SQL0190N  SQLSTATE=42837
不克改变该列,因为她的性与时的列属性不配合
  ALTER TABLE xxx.BP_TMPDATA_1_TB_1903 ALTER COLUMN RATE SET DATA
TYPE DECIMAL(6,4) 
  报错 SQL0190N  ALTER TABLE “BP_TMPDATA_1_TB_1903” specified
attributes for column “RATE” that are not compatible with the existing
column.  SQLSTATE=42837
  说明: BP_TMPDATA_1_TB_1903 现有数据的精度超过了 DECIMAL(6,4) 
,比如100.00

7.报错 SQL30081N SQLSTATE=08001   检测到通信错误 
无法与应用程序服务器或任何服务器建立连接
  SQL30081N  A communication error has been detected. 
    Communication protocol being used: “TCP/IP”. Communication API being
used: “SOCKETS”.  
    Location where the error was detected: “10.0.0.200”.  Communication
function detecting the error: “selectForConnectTimeout”.  
    Protocol specific error code(s): “0”, “*”, “*”.  SQLSTATE=08001
    检查服务器的布情况如下:
      验证留存的DB2数据库
 db2 list db directory
 db2 list db directory show detail
      验证实例使用的报道协议,查看DB2COMM变量
 db2set -all
      查看数据库管理器的配置,查看SVCENAME(特指tcpip协议)
 db2 get dbm cfg
      查看/etc/services中,有无与方对应SVCENAME的端口,例如:
 db2cDB2 50000/tcp
      验证远程服务器实例配置
        db2 list node directory
        db2 list node directory show detail
      ping hostname来说明通讯
      使用telnet hostname port来证实是否能连到实例
      用DB2提供的PCT工具来检测一下

相关文章