设为首页 收藏本站
查看: 1518|回复: 0

[经验分享] [DB2]删除大数据量数据及57011错误处理

[复制链接]

尚未签到

发表于 2016-11-19 01:49:32 | 显示全部楼层 |阅读模式
  平常删除数据库中表数据都用delete语句,但是在DB2中删除大数据量会报Error Code: -964, SQL State: 57011的错误,这是由于在用delete删除数据时会产生数据库事务日志,但是数据库配置的日志文件空间太小造成的。
  解决方法可以增加日志空间或者在删除表内容的时候让其不产生事务日志。
  可以用如下命令修改日志文件大小:
  update db cfg for sample using LOGFILSIZ 555555 必须在所有应用程序都与此数据库断开连接之后,更改才会生效。
  可以使用如下命令在删除表中内容时不产生事务日志
  ALTER TABLE TABLE_NAME ACTIVATE NOT LOGGED INITIALLY WITH EMPTY TABLE;
  不产生日志详细步骤:
  -- db2 delete 大表不写日志操作
1.update command options using c off  -- //关闭自动提交
  2.alter table MARPT.RPT_DIM_U_ORG_INX_M_CURR_CUS_PRO_TBK  activate not logged initially //设置不记日志
3.delete from MARPT.RPT_DIM_U_ORG_INX_M_CURR_CUS_PRO_TBK -- 删除数据
4.commit//手动提交
5.update command options using c on//打开自动提交
  相关操作说明;
  1.alter table testdeletetab ACTIVATE  NOT  LOGGED  INITIALLY,设置表操作不记日志,这条命令只在一个事务里有效,遇到commit之后就失效了,这个很需要关注,因为有的时候我们的连接都是设置的自动提交,所以虽然设置了不记日志,但是并没有起到作用。
  2.可以通过相关的命令查看当前命令参数
  db2 list command options
DSC0000.gif

  参考文章:
  1.db2 delete 大表不写日志方法
  http://www.iyunv.com/Linux/2011-06/37849.htm
  2.DB2删除大数据量数据
  http://jum.iyunv.com/blog/960899
  DB2-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 <num_pages> )
例如:db2 => alter tabblespace xjhspces11 extend(all 2560M)
扩展了数据库表空间2.5G
注意:对数据库管理表空间的扩展前,必须检查磁盘裸设备的空间,如果空间不够,需要增加磁盘裸设备的空间,再扩展数据库管理表空间,并且在扩展表空间之前,最好备份数据库,以免带来不必要的损失
备份数据库命令:$ db2move databaseName export
  参考资料:
  http://space.itpub.net/8231934/viewspace-594892

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-302170-1-1.html 上篇帖子: DB2常用sql函数 (转载) 下篇帖子: windows db2 添加用户权限
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表