解决DB2事物日志满、扩充表字段长度和表空间的命令

转:http://blog.sina.com.cn/s/blog_4c0137d10100bb5r.html

 一、通常我们在使用db2导入数据或进行别的操作时会遇到事物日志已满的情况,导致操作无法继续。

在windows系统中,我们可先db2 get db cfg for dbname(要修改的数据库名) 来查看数据的配置情况。

这时根据你的需要来修改日志文件的大小、主日志文件数目和辅助日志文件的数目。命令如下:

、db2 "update db cfg for dbname using logfilsiz XXX (4-262144)".

、db2 "update db cfg for dbname using logprimary X (2-256)".

、db2 "update db cfg for dbname using logsecond XX (0-254)".

在进行这些操作的时候都要断掉应用和数据库的连接。

二、如何扩充数据的表空间。

首先,可通过 db2 list tablespaces show detail 来查看你的表空间状况。

表空间有二种类型:

、SMS【SYSCATSPACE】,为系统管理表空间。

、DMS,用户自己的表空间,为数据库管理表空间。

通过上面的命令来查看表空间中总的表空间(Total pages)和 剩余表空间(Free pages),如果是系统管理表空间(SMS)不够,则是由于磁盘空间不够,需要增加磁盘空间。如果是数据库管理表空间(DMS)不够,则需要扩展表空间。扩展表空间的命令为:
db2 alter tablespace extend (all <num_pages> )
例如:db2 alter tabblespace yourtablespace extend(all 1024M)
扩展了数据库表空间1 G. 三、扩充表中字段的长度。 由于数据的变化导致原本varchar()字段长度不够使用,其实很简单希望对大家有帮助: db2 "alter table tabname alter column colname set data type varchar(4000) " 修改tabname表的colname字段将他的字段长度设置为4000。 data type 后的数据类型要和tabname中的colname类型一致哦。

例如:

引用:http://blog.sina.com.cn/s/blog_7155eb38010156se.html

问题原因:今天在删除CP2_BEPS124表数据的时候,由于一次删除的记录有31W条,导致DB2直接报 The transaction log for the database is full这个错误,

此时数据库已经不能进行查询意外的任何操作。在网上查询之后得知,需要修改数据库的日志文件大小和数量,然后重启数据库,才能删除大量数据,步骤如下

切换到用户db2inst2

db2 get db cfg for cnaps2

此命令可以查看当前数据库的日志文件大小(LOGFILSIZ),主日志数(LOGPRIMARY),辅日志数(LOGSECOND)。

db2 update db cfg for cnaps2 using LOGPRIMARY 50

修改主日志数为50

db2 update db cfg for cnaps2 using LOGSECOND 20

修改辅日志数为20

db2 update db cfg for cnaps2 using LOGFILSIZ 10240

修改日志大小为10240

此时,活动日志空间的最大容量为(20 + 50) * 10240 * 4KB

 停止数据库:db2stop.这时会报SQL1025N  未停止数据库,因为数据库仍是活动的。
 执行:db2 list application 查看目前数据库中活动的链接
 db2 force application all 杀掉所有活动的链接,此时可以顺利的停止数据库了。
 重新启动数据库:db2start
 db2 get db cfg for cnaps2 查看当前数据库日志配置,是否为上面修改后的数字。

成功后,可以顺利的操作大数据啦!

解决DB2事物日志满、扩充表字段长度和表空间的命令的更多相关文章

  1. 扩充表字段长度,引发的意外KILLED/ROLLBACK

    这一段时间,因为系统升级,新系统产生的数据长度,比原来的数据长度要长,所以说要扩充一下字段长度. ) --修改字段长度sql 在执行的时候,有这样一个情况. 例如Student表的Name字段长度是n ...

  2. SQL Server扩充表字段长度,引发的意外KILLED/ROLLBACK

    这一段时间,因为系统升级,新系统产生的数据长度,比原来的数据长度要长,所以说要扩充一下字段长度. ) --修改字段长度sql 在执行的时候,有这样一个情况. 例如Student表的Name字段长度是n ...

  3. DB2表空间重定向恢复数据库实战

    DB2的备份恢复有点坑,当源系统和目标系统的路径设置不同时,要手动进行重定向恢复,本文是我一次实战操作之后总结的过程,仅供参考. 一.发出重定向恢复命令 DB2 RESTORE DB TO " ...

  4. oracle 归档日志满 报错ORA-00257: archiver error. Connect internal only, until freed

    归档日志满导致无法用户无法登陆 具体处理办法 --用户登陆 Microsoft Windows [Version 6.1.7601] Copyright (c) Microsoft Corporati ...

  5. mq解决分布式事物问题

    今天只看看原理,下一节看项目怎么集成mq进行解决分布式事物. 1.什么情况下会使用到分布式事物? 举例说明:现有一个支付系统,因为项目使用的是微服务框架,有订单模块和支付模块两个模块.生产者进行订单的 ...

  6. zencart加大数据表字段长度

    批量表产品名称过长导致被截断的情况,是由于产品名称超出了数据库表中字段设置的最大长度,下面通过修改数据库表字段长度来避免此类情况发生: ) ; ) ; ) ; ) ; ) ; ) ; ) ; ) ; ...

  7. DB2 表空间和缓冲池

    简介 对于刚涉足 DB2 领域的 DBA 或未来的 DBA 而言,新数据库的设计和性能选择可能会很令人困惑.在本文中,我们将讨论 DBA 要做出重要选择的两个方面:表空间和缓冲池.表空间和缓冲池的设计 ...

  8. db2 表空间扩容

    DB2表空间扩容 1 - Detect what tablespace has size issues db2 list tablespaces show detail 2 - Check the p ...

  9. db2表空间及日志文件调整

    1.SQLState '57011' and errorCode '-964'  原因:数据库的日志文件已满  解决方法:修改日志文件大小(加大),增加日志文件个数,增加辅助日志文件个数(三个修改参数 ...

随机推荐

  1. js 控制div 显示隐藏的问题

    var divs = document.getElementsByTagName("div");得到所有的divfor(var i=0;i<divs.length;i++){ ...

  2. 哈夫曼(Huffman)编码

    哈夫曼编码(Huffman Coding)是一种非常经典的编码方式,属于可变字长编码(VLC)的一种,通过构造带权路径长度最小的最优二叉树以达到数据压缩的目的.哈弗曼编码实现起来也非常简单,在实际的笔 ...

  3. c#_表单处理方式

    阅读目录 开始 简单的表单,简单的处理方式 表单提交,成功控件 多提交按钮的表单 上传文件的表单 MVC Controller中多个自定义类型的传入参数 F5刷新问题并不是WebForms的错 以Aj ...

  4. jQuery获取表单各元素的值

    radio值获取 $("input[type='radio']:checked").val(); 2,设置指定的项为当前选中项 $("input[type='radio' ...

  5. Android 高级UI设计笔记07:RecyclerView 的详解

    1. 使用RecyclerView       在 Android 应用程序中列表是一个非常重要的控件,适用场合非常多,如新闻列表.应用列表.消息列表等等,但是从Android 一出生到现在并没有非常 ...

  6. Android之ListView常用技巧

    ListView是一个非常常用的列表控件,虽然在5.x时代ListView的风头正在逐渐的被RecyclerView抢去,但是ListView的使用范围依然十分广泛. 接下来的ListView的常用技 ...

  7. 接收POst数据流数据

    var data = "";                using (StreamReader readStream = new StreamReader(context.Re ...

  8. oracle 排序

    1.ORDER BY 中关于NULL的处理 缺省处理,Oracle在Order by 时认为null是最大值,所以如果是ASC升序则排在最后,DESC降序则排在最前. 当然,你也可以使用nulls f ...

  9. php核心知识要点

    Php:脚本语言,网站建设,服务器端运行 PHP定义:一种服务器端的 HTML 脚本/编程语言,是一种简单的.面向对象的.解释型的.健壮的.安全的.性能非常之高的.独立于架构的.可移植的.动态的脚本语 ...

  10. VC2010 _com_error 返回的错误信息

    CString GetComError(const _com_error& e) { CString sMsg; sMsg.Format( _T("HRESULT: 0x%08lx; ...