DB2如何调整表空间大小

db2

DB2如何调整表空间大小

刚刚接到客户那边打的电话,程序一直报错,所有的业务都做不了,拷贝了一份应用服务器(weblogic)的日志,日志里显示:

WARN : 2009-06-18 16:24:32,421: JDBCExceptionReporter[line:77}: SQL Error: -99999, SQLState: null
ERROR: 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:78}: [ibm][db2][jcc][102][10040] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。
WARN : 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:77}: SQL Error: -289, SQLState: 57011
ERROR: 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:78}: Error for batch element #1: DB2 SQL error: SQLCODE: -289, SQLSTATE: 57011, SQLERRMC: SMK
WARN : 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:77}: SQL Error: -99999, SQLState: null
ERROR: 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:78}: Error for batch element #2: [ibm][db2][jcc][t4][1026][11339] 错误检查:
WARN : 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:77}: SQL Error: -289, SQLState: 57011
ERROR: 2009-06-18 16:24:32,424: JDBCExceptionReporter[line:78}: Error for batch element #2: DB2 SQL error: SQLCODE: -289, SQLSTATE: 57011, SQLERRMC: SMK
ERROR: 2009-06-18 16:24:32,424: AbstractFlushingEventListener[line:301}: Could not synchronize database state with session
org.hibernate.exception.GenericJDBCException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.
at org.hibernate.impl.SessionImpl.flush(SessionImpl.
at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.
at org.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.
at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.
at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.
at $Proxy803.saveApply(Unknown Source)
at com.cnnct.mp.counterservice.service.CounterServiceService.applySave(CounterServiceService.
at com.cnnct.mp.counterservice.ejbAction.ApplySaveEjbAction.perform(ApplySaveEjbAction.
at com.lbs.sieaf.webcontroller.RequestProcessor.processRequest(RequestProcessor.
at com.lbs.sieaf.webcontroller.MainServlet.doProcess(MainServlet.
at com.lbs.sieaf.webcontroller.MainServlet.doPost(MainServlet.
at
at
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.
at com.lbs.sieaf.webcontroller.CSSaftyFilter.doFilter(CSSaftyFilter.
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.
at com.cnnct.cp.webcontroller.EncodingFilter.doFilter(EncodingFilter.
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.
at weblogic.security.service.SecurityManager.runAs(SecurityManager.
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.
at weblogic.work.ExecuteThread.execute(ExecuteThread.
at weblogic.work.ExecuteThread.run(ExecuteThread.
Caused by:
com.ibm.db2.jcc.b.ni: [ibm][db2][jcc][102][10040] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。
at com.ibm.db2.jcc.b.p.a(p.
at com.ibm.db2.jcc.b.ih.a(ih.
at com.ibm.db2.jcc.b.ih.b(ih.
at com.ibm.db2.jcc.b.ih.executeBatch(ih.
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.
... 39 more
ERROR: 2009-06-18 16:24:32,426: LogHelper[line:174}: 100201000|CounterServiceService.applySave的总控方法发生未知异常错误  Hibernate flushing: Could not execute JDBC batch update; uncategorized SQLException for SQL [insert into SMK.MP_YEARCARDPHOTO (CERTNUMBER, PHOTO, PHOTOTYPE, USEMAKE, CLIENTID, AUTONO) values (?, ?, ?, ?, ?, ?)]; SQL state [null]; error code [-99999]; [ibm][db2][jcc][102][10040] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。; nested exception is com.ibm.db2.jcc.b.ni: [ibm][db2][jcc][102][10040] 非自动批处理出现故障。虽然已经提交了批处理,但是该批处理的某个成员至少发生了一个异常。
使用 getNextException() 来检索已经过批处理的特定元素的异常。

通过
C:\Documents and Settings\Administrator>db2 ? sql289

SQL0289N 未能在表空间 "<表空间名>"
          中分配新页面。
解释:
在一个或多个数据库分区上,下列其中一个条件为真:

1 分配给此 SMS表空间的其中一个容器已达到最大文件大小。这可能是导致该错误的原因。
2 分配给此 DMS表空间的所有容器已满。这可能是导致该错误的原因。
3 正在进行重新平衡,但其进度还不足以能使用新添加的空间。
4 正在对太小的容器进行重定向复原。
5 重定向复原后正在进行前滚且分配给此表空间的所有容器已满。
6 正在进行跳越添加容器的前滚且分配给此表空间的所有容器已满。
7 尝试创建带有小于 5个可用扩展数据块的表空间。
8 自动调整大小表空间已达到其最大大小且所有容器都已满。或者,容器的当前大小与最大大小之间没有足够的空间可扩展或添加,因此不可能自动增加空间。
9 创建自动存储器表空间时,使用了不会导致容器空间平均分配的值作为初始值。因此,使用了较高值但是此值大于指定的最大大小。
10 启用了自动调整大小的 DMS表空间未达到其最大大小,但容器所在的其中一个文件系统已满,容器不能增大。
11 启用了自动调整大小的 DMS表空间未达到其最大大小,且表空间所在的文件系统未满。但是,正在进行容器操作(或后续的重新平衡)且自动调整大小功能被暂挂,直至操作完成为止。

用户响应:
执行与引起错误的原因对应的操作:

1 切换至 DMS
TABLESPACE,或重新创建具有更多目录(PATH)的 SMS
TABLESPACE,以使:
(目录数)>=(最大表大小/最大文件大小)。注意,最大文件大小与操作系统有关。
2 将新容器添加至 DMS
表空间,并当重新平衡程序使新页可用后,再次尝
试该操作。
3 等待重新平衡程序完成。
4 再次对较大的容器执行重定向复原。
5 再次对较大的容器执行重定向复原。
6 再次执行允许添加容器的前滚,或对较大的容器执行重定向复原。
7 重新提交 CREATE TABLESPACE
语句,确保表空间具有至少 5
个可用的扩展数据块。
8 增大表空间的最大大小。
9 减小表空间的初始大小或增大表空间的最大大小。
10 将新的容器分割集添加至表空间。现有容器不会再增大,当进行自动调整大小时,只扩展表空间的最后范围中的那些新容器。
11 等待操作和后续的重新平衡完成。

sqlcode :   -289
sqlstate :  57011

确定是表空间满了,我想问下如何调整表空间的大小,有点紧急,没时间去网上查资料了,麻烦两位老师指点一下

解答:

DB2现有表空间扩容方法
1)直接添加一个容器的例子:

db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000) "
加容器之后DB2会有一个自动balance的过程,可能会持续几个小时!!!

2)改变现有容器的大小(该方法不会触发balance,但如果表空间建立在裸设备上,则要扩冲裸设备空间):

db2 " ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE '/dev/rcont1' 2000, FILE 'cont2' 2000) "

注意这种方式就是将原有的相应容器都改成大小是2000页

db2 "ALTER TABLESPACE TS1 RESIZE (ALL 2000)"

这种方式就是把表空间中所有的容器大小都改成2000页

db2 " ALTER TABLESPACE TS1 EXTEND (FILE '/conts/cont0' 1000, DEVICE '/dev/rcont1' 1000, FILE 'cont2' 1000) "

这种方式就是将相应的容器都扩大1000页,也就是增加1000页。

db2 " ALTER TABLESPACE DATA_TS EXTEND (ALL 1000)"

这种方式就是将所有的容器都增加1000页。

 

 

 

 

 

增加表空间为 
1、增加的是裸设备
  ALTER TABLESPACE TS1
     ADD (DEVICE '/dev/rhdisk9' 10000)
2,增加的是文件系统
  ALTER TABLESPACE TS1
     ADD (FILE '/adsasdf/aasdfasd' 10000)
3,删除某个容器
ALTER TABLESPACE TS1
     drop (FILE '/adsasdf/aasdfasd',DEVICE '/dev/rhdisk9' )

 

 

 

 

 

 

DB2 SQLSTATE=57011(转载)
 

DB2 报 SQLSTATE=57011错误的解决办法

SQLSTATE=57011   为数据库中表空间已满的异常(错误)

可以用命令查看表空间

db2 => list tablespaces show detail

有两种类型表空间:
第一种类型表空间为:SYSCATSPACE,类型为系统管理表空间(SMS)
第二种类型表空间为:用户自己的表空间(比如xjhspaces11),类型为数据库管理表空间(DMS)
查看表空间中总的表空间(Total pages)和 剩余表空间(Free pages)
如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间
如果是数据库管理表空间(DMS)不够,则需要扩展表空间
扩展表空间的命令为:
db2 alter tablespace extend (all )
例如:db2 => alter tabblespace xjhspces11 extend(all 2560M)
扩展了数据库表空间2.5G
注意:对数据库管理表空间的扩展前,必须检查磁盘裸设备的空间,如果空间不够,需要增加磁盘裸设备的空间,再扩展数据库管理表空间,并且在扩展表空间之前,最好备份数据库,以免带来不必要的损失
备份数据库命令:$ db2move databaseName export


相关推荐

  • 百意空间书柜质量怎么样,移动书柜好用吗,省空间家具评价如何 百意空间书柜质量怎么样,移动书柜好用吗,省空间家具评价如何以下为大家分享买过百意空间书柜移动书柜的真实用户评价最近市场上发现有假货现象!为了购买到正品,请亲们一定要到下面的百意空间正品旗舰店购买!亲!百意空间书柜,百意空间家居旗舰店有卖呢,
  • 学会算账·业态调整如何做到好又省   在商业领域内,如果说超市经营的是商品,百货经营的是品牌,那么购物中心经营的就是业态。  购物中心的业态分布和比例应从所处商圈整体进行考虑,购物中心的差异化定位是确定各种业态组合的起点。作为一种集合了多种功能的商业综合体,购物中心对各种业
  • M0018   DMX存储空间配置调整(Bin Change) 案例背景:DMX4-2500存储设备出现存储空间告急。经检查发现,在现有配置中,还有小部分磁盘空间没有完全利用。工作记录:1.添加数据卷对DMX4-2500进行健康检查,确保设备没有任何部件损坏;加锁DMX4-2500,并抓取最新的BinF
  • DiskGenius无损分区大小调整教程 今天小编一闺蜜跟小编说她电脑C盘有点小,想要调整一下分区。然后我们就聊到了下面小编说的这款DiskGenius分区软件,下面小编就为大家介绍一下DiskGenius怎么无损进行分区大小调整  1、选中I分区,点击鼠标右键,选择“调整分区大小
  • 365磁盘空间分析专家2.0绿色版(用扇形图显示已用空间大小构成)下载,高速下载 365磁盘空间分析专家2.0绿色版(用扇形图显示已用空间大小构成)软件标签:365磁盘空间分析专家软件授权:绿色版更新时间:2011-03-2911:41:47软件类型:国产软件软件大小:912KB软件语言:简体中文 应用平台:Win200
  • 查看MSSQL数据库每个表占用的空间大小 查看MSSQL数据库每个表占用的空间大小我在工作中碰到了一些问题,需要查看数据库表的大小,查询SQLServer联机从书得到如下语句:sp_spaceused显示行数、保留的磁盘空间以及当前数据库中的表所使用的磁盘空间,或显示由整个数据库保
  • WinDirStat 1.1.2绿色版(以全彩方式来呈现在硬盘中占去的空间大小)下载,高速下载 WinDirStat1.1.2绿色版(以全彩方式来呈现在硬盘中占去的空间大小)软件标签:WinDirStat显示硬盘容量软件授权:绿色版更新时间:2010-12-0315:53:11软件类型:国外软件软件大小:568KB软件语言:英文 应用
  • 查看 MySQL 数据库中每个表占用的空间大小 我在做爬虫的过程中,刚刚爬了几万条数据,放在了mysql数据库里,于是想看看MySQL中这个数据库大小以及每个表的大小,于是进行了查阅,主要查到了说法,组合在一起赶紧特别的好,如下。第一种:如果想知道MySQL数据库中每个表占用的空间、表记
  • 利用磁盘配额限制用户使用的空间大小 首先分区必须是NTFS先建一个用户设置共享权限和NTFS权限启用磁盘配额新建配额项为了测试达到效果。。限制大小为1.97M,不能限制的太小了。。否则不能登陆系统用tinghai登陆下面我们来试着把C:\ProgramFiles\Window
  • 计算机空间大小进率 8Byts=1字节1KB(Kilobyte千字节)=1024B,1MB(Megabyte兆字节简称“兆”)=1024KB,1GB(Gigabyte吉字节又称“千兆”)=1024MB,1TB(Trillionbyte万亿字节太字节)=1024
  • [转]TOMCAT内存溢出及大小调整 一、tomcat内存设置问题收藏在使用Java程序从数据库中查询大量的数据或是应用服务器(如tomcat、jboss,weblogic)加载jar包时会出现java.lang.OutOfMemoryError异常。这主要是由于应用服务器的内
  • 检查数据库各表占用硬盘空间大小 declare@tableinfotable(tbvarchar(50),rsint,holdSpacevarchar(50),usedSpacevarchar(50),indexSpacevarchar(50),nouseedSpacev

你的评论

就没有什么想说的吗?

最新博客

关于我们 移动版

©2017传客网    琼ICP备15003173号-2    

本站部分文章来源于互联网,版权归属于原作者。
本站所有转载文章言论不代表本站观点,如是侵犯了原作者的权利请发邮件联系站长(weishubao@126.com),我们收到后立即删除。
站内所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!

X