`
dannyhz
  • 浏览: 398012 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

db2索引满的情况 使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=nul

    博客分类:
  • db2
 
阅读更多
引用


http://blog.csdn.net/mcpang/article/details/8241854



[jcc][t4][102][10040][3.57.82] 非原子批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。 ERRORCODE=-4228, SQLSTATE=null
查看db2diag.log日志:
2012-11-20-10.00.33.551000+480 E27658279F1143     LEVEL: Error
PID     : 2276                 TID  : 3796        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : NCTEST
APPHDL  : 0-49794              APPID: 20.10.80.247.48084.121120015251
AUTHID  : NCTEST 
EDUID   : 3796                 EDUNAME: db2agent (NCTEST) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbAllocateExtent, probe:840
MESSAGE : ADM6044E  The DMS table space "NNC_INDEX01" (ID "5") is full.  If
          this is an autoresize or automatic storage DMS tablespace, the
          maximum table space size may have been reached or the existing
          containers or storage paths cannot grow any more. Additional space
          can be added to the table space by either adding new containers or
          extending existing ones using the ALTER TABLESPACE SQL statement. If
          this is an autoresize or automatic storage DMS table space,
          additional space can be added by adding containers to an autoresize
          table space or by adding new storage paths to an automatic storage
          database.
2012-11-20-10.00.33.551000+480 I27659424F1147     LEVEL: Warning
PID     : 2276                 TID  : 3796        PROC : db2syscs.exe
INSTANCE: DB2                  NODE : 000         DB   : NCTEST
APPHDL  : 0-49794              APPID: 20.10.80.247.48084.121120015251
AUTHID  : NCTEST 
EDUID   : 3796                 EDUNAME: db2agent (NCTEST) 0
FUNCTION: DB2 UDB, buffer pool services, sqlbObtainDataExtent, probe:800
MESSAGE : ZRC=0x85020021=-2063466463=SQLB_END_OF_CONTAINER
          "DMS Container space full"
DATA #1 : Object descriptor, PD_TYPE_SQLB_OBJECT_DESC, 88 bytes
    Obj: {pool:5;obj:11020;type:1} Parent={4;1360}
  lifeLSN:       000000005AAC4D6E
  tid:           0 0  0
  extentAnchor:               78560
  initEmpPages:                   0
  poolPage0:                      0
  poolflags:                    102
  objectState:                   27
  lastSMP:                        0
  pageSize:                    4096
  extentSize:                    32
  bufferPoolID:                   2
  partialHash:            705429509
  bufferPool:    0x000000001a7837a0
  pdef:          0x000000001a804160
从上述错误来看,是表空间NNC_INDEX01表空间被占满了。
看下NNC_INDEX01表空间使用情况:
db2 => list tablespaces show detail
发现可用页数已经变成了0。
查看报错的地方,是一个绑定变量+Batch的操作。insert into IC_ATP_F,这个表有一个主键索引,而批量插入的时候肯定会用到索引表空间。
添加一个容器,alter tablespace nnc_index01 add (file '\db2\nnc_index01_2' 204800)
再次执行,问题解决。

转自:http://www.cnblogs.com/zhaoshuangshuang/archive/2012/11/20/2779797.html


分享到:
评论

相关推荐

    JDBC所有笔记(可下载)

    在JDBC操作中,需要捕获`SQLException`,并通过`getNextException()`检查是否有连锁异常。 11. **数据库元数据(DatabaseMetaData)** Connection对象的getMetaData()方法可以获取数据库的元数据,如表名、列名、...

    JAVA连接SQL SERVER

    具体来说,我们需要使用`java.sql.*`包中的类来进行数据库连接、执行查询和处理结果集。此外,还需要导入特定的JDBC驱动类,例如`com.microsoft.jdbc.sqlserver.SQLServerDriver`。 ```java import java.sql.*; ...

    JDBC问题解决的方法

    - **事务管理**:理解并正确使用`Connection.setAutoCommit(false)`来开启手动事务,避免数据不一致。 3. **结果集处理** - **游标管理**:记得关闭ResultSet,以释放资源,避免内存泄漏。 - **空值处理**:处理...

    jsp中的数据库编程

    - **DDL (Data Definition Language)**: 主要用于定义数据的逻辑结构,包括创建表、视图和索引等操作。 - **DML (Data Manipulation Language)**: 主要用于对数据库进行查询和更新操作,如插入、删除和修改数据。 ...

    sql+js学习

    - 直接使用特定数据库的JDBC驱动,例如MySQL。 - 示例代码: ```java Class.forName("org.gjt.mm.mysql.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/dbname", "root...

    JDBC探索之SQLException解析

    使用`getErrorCode()`获取,有助于进一步定位问题。 - 错误原因:异常的底层原因,通过`getCause()`方法可以获取异常链,追踪错误根源。 - 异常链:SQLException支持异常链机制,如果出现多个错误,可以通过`...

    JDBC笔记.zip

    它为各种数据库提供了一个统一的接口,使得Java程序员可以使用相同的API来访问不同厂商的数据库,实现了数据存取的跨平台性。 **JDBC基础** 1. **驱动注册**:在Java程序中,通过`Class.forName()`方法加载JDBC...

    Oracle addBatch()用法实例详解

    - 如果在批量处理中遇到错误,可以捕获`BatchUpdateException`,并调用`getNextException()`检查每个语句的异常情况。 - 考虑到性能,批量处理的大小应适中,过大可能导致内存问题,过小则无法充分利用批量处理的...

    sql jdbc 驱动

    6. **批处理**:对于大量数据操作,可以使用`PreparedStatement`的`addBatch()`和`executeBatch()`方法,提高性能。 7. **连接池**:在实际应用中,通常会使用连接池(如C3P0、HikariCP等)管理数据库连接,以提高...

    java实现如何访问access

    8. **异常处理**:使用 try-catch 结构处理可能抛出的异常。 9. **关闭资源**:确保关闭所有打开的数据库资源。 #### 常见问题及解决方法 - **无法加载 JDBC-ODBC 驱动**:确保 JDK 版本支持该驱动,并且驱动已正确...

Global site tag (gtag.js) - Google Analytics