解决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. Ejection chain 与交错路

    相关文献: Rego, C. (1998). "A Subpath Ejection Method for the Vehicle Routing Problem." Manage ...

  2. [Effective C++ --028]避免返回handles指向对象内部成分

    假设程序涉及矩形.每个矩形由其左上角和右下角表示.为了让Rectangle对象尽可能小,可能把定义矩形的点放在一个辅助的struct内再让Rectangle去指它: class Point { // ...

  3. ASP.NET 之 检测到在集成的托管管道模式下不适用的ASP.NET设置

    将ASP.NET程序从IIS6移植到IIS7后,调试运行可能提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP. ...

  4. 快递鸟电子面单API对接方法?

    之前说了一下快递公司.菜鸟和快递鸟的电子面单接口,很多人不知道快递鸟要怎么对接,现在为大家讲解一下.快递鸟是全球物流接口服务商,为电商 ERP.电商平台.仓储.清关公司提供物流跟踪.电子面单.智选物流 ...

  5. css笔记08:id选择器之父子选择器

    1.父子选择器 (1)01.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " ...

  6. Android(java)学习笔记100:android开发中修改字体

    首先如果android内部自带的字体不是我们需要的字体,那我们就需要字体文件导入到android开发工程中,下午我们详细讲述: 1.我们首先分析知道,我想要TextView控件中文字的字体是:华文楷体 ...

  7. python(1) - 安装篇

    本次主要在windows下安装pyton2 和python3,实现 在cmd中输入 ptynon进入python2 在cmd中输入python3进入python3 第一步 当然是要下载python安装 ...

  8. linux进程间通信概述

    一个大型的应用系统,往往需要众多进程协作,进程间通信的重要性显而易见. 进程间通信有如下一些目的: 数据传输:一个进程需要将它的数据发送给另一个进程,发送的数据量在一个字节到几兆字节之间. 共享数据: ...

  9. 实现类似 QQ音乐网页版 的单页面总结

    最近需要对创业团队的网站进行改版,而我负责前端设计和实现. 下面是一些总结与体会: 当设计完成之前,我就跟和我配合的Java 后台说用iframe实现,结果说麻烦不肯,到最后突然对我说还是用ifram ...

  10. C#中参数传递【转】

    转自[Learning hard] 建议参考 『第十一回:参数之惑---传递的艺术(上)』 一.引言 对于一些初学者(包括工作几年的人在内)来说,有时候对于方法之间的参数传递的问题感觉比较困惑的,因为 ...