(转)DB2解决“数据库日志已满”操作 SQLCODE=-964

http://www.db2china.net/club/thread-4244-1-1.html

DB2解决“数据库日志已满”操作 SQLCODE=-964  

2011-01-06 15:57:13|  分类: DB2|字号 订阅

日志文件需要更多空间,但是减少了应用程序重试该操作的需要。

若正在安装样本数据库,则删除它并再次安装样本数据库。

sqlcode : -964

sqlstate : 57011

用控制中心直接改会比较容易一点,在数据库名称上点右键–>配置参数–>日志–>日志文件大小、主

日志文件数、辅助日志文件数改大一点。

LOGFILSIZ       日志文件大小

LOGPRIMARY  主日志文件大小

LOGSECOND  辅助日志文件数

---------------------------------------------------
也可用命令行db2cmd

db2 update db cfg for dbname  using    LOGFILSIZ 1000–日志文件大小

db2 update db cfg for dbname  using    LOGPRIMARY 20    –主日志

db2 update db cfg for dbname  using    LOGSECOND 10      –辅助日志
要将与此数据库的所有连接断开后才会生效。

 

----------------------------------------------------------------------------------------------------------------------------------------------

DB2数据库事务日志已满问题解决方案

本系列文章主要介绍数据库管理员(DBA)在日常维护中遇上一些比较紧急的情况如何处理,本篇主要介绍DB2交易日志存储空间满问题如何处理。

1、数据库事务日志的最大大小

数据库事务日志的最大大小由数据库的三个配置参数决定,分别是“主日志文件的数目”(LOGPRIMARY)、“辅助日志文件的数目”(LOGSECOND)和“日志文件大小(4KB)”(LOGFILSIZ)。数据库事务日志的最大大小的计算公式如清单 01-32 所示:


清单 1. 数据库事务日志的最大大小的计算公式

数据库事务日志的最大大小 = ( LOGPRIMARY + LOGSECOND )* LOGFILSIZ * 4KB

LOGSECOND 在这个公式中不能设为 “ -1 ” ,“ -1 ”代表你在请求一个无限的活动日志空间,数据库也不会报数据库事务日志已满错误,如果空间不足则会报日志磁盘已满错误,具体如本章第五节所述。下面我们具体看一下这三个参数:

  1. 主日志文件的数目 LOGPRIMARY
    此数据库配置参数用来指定要预分配的主日志文件个数。主日志文件建立分配给恢复日志文件的固定存储器数量。在循环日志管理模式下,数据库事务将按顺序重复使用主日志,也就是当一个主日志已满时,顺序使用下一个主日志,如果主日志已满,则按需一次分配一个辅助日志,辅助日志在使用完后,将被释放。如果你发现数据库会经常分配辅助日志文件,则可能需要通过增大日志文件大小或增大主日志文件的数目来提高系统性能。
  2. 辅助日志文件的数目 LOGSECOND
    此数据库配置参数用来指定按需分配的辅助日志文件个数。尽量不要把此参数的值设置成“ -1 ” ,“ -1 ”代表你在请求一个无限的活动日志空间,数据库也不会报数据库事务日志已满错误,如果空间不足则会报日志磁盘已满错误。
  3. 日志文件大小 LOGFILSIZ
    此数据库配置参数用来指定日志文件的大小。

2、数据库事务日志已满错误

数据库事务日志已满错误是指当前事务无法写入到活动日志中(此时主日志文件和辅助日志文件已经全部用完或者没有足够当前事务写入的空间),需要注意的是,这个错误和日志磁盘空间已满是两个概念,如果想查看日志磁盘已满错误,请参照本章第五节。数据库事务日志已满不是由于磁盘空间满引起的,而是由于没有落实的事务总体过大,超过了数据库事务日志所能容纳的最大大小所造成的。

一般系统上线之初(如果是分阶段上线,则是每次上线之初),由于经常要导大量的数据,容易出现这个问题,当出现这个问题时,直接的办法是找到引起这个错误的当前事务,终止掉这个事务即可,后续在操作时找到当前执行的事务中比较大的事务,尽量落实或回滚该事务。

一般情况下,建议大家在系统上线之初进行导数时,尽量使用 LOAD 实用程序(如果是归档日志模式,建议使用带 NONRECOVERABLE 选项的 LOAD 实用程序,否则装入完成后数据库或装入的表所在的表空间会被置于备份暂挂状态,需要做一次全备才能解除备份暂挂状态),LOAD 实用程序在装入数据时不记日志。

如果使用 IMPORT 实用程序,建议使用 COMMITCOUNT 选项。无论是循环日志模式还是归档日志模式,使用 IMPORT 实用程序导入大量数据时,都有可能报数据库事务日志已满(也就是当前导入操作产生的事务过大,使得当前活动日志满了,包括所有的主日志和辅助日志都用完了),所以为了避免数据库日志已满错误,提高并发性,可以使用 COMMITCOUNT 选项,对要导入的数据分阶段提交。比如可以将 COMMITCOUNT 参数设置为“自动”,指示 import 实用程序 内部决定何时进行落实。此外,也可以将 COMMITCOUNT 选项设置为特定数字,指示 import 实用程序 在导入指定记录数后即进行落实。

尽量避免在上线之初直接使用“ INSERT INTO … SELECT .. FROM .. ”语句,导入一个很大的事务的方式进行导数,这样会使事务非常大。另外,还可以在系统上线之初把主日志文件的数目(LOGPRIMARY)、辅助日志文件的数目(LOGSECOND)和日志文件大小(4KB)(LOGFILSIZ)三个参数调大,等系统正式上线稳定后,再调回合适的值。

如果是在正式上线后的系统,经常出现这个问题,就需要查找原因,具体的原因可能有:

  1. 数据库并发连接比较多
    这种情况下,就要考虑适当增加主日志文件的数目(LOGPRIMARY)和日志文件大小(4KB)(LOGFILSIZ)。
  2. 有人通过第三方软件或其他工具直接连接到了生产库
    在这样的情况下,就要监控数据库,看其是否经常写一些大的语句对数据库进行增删改的操作,如果是的话,建议增加数据库的控制,尽量不要让不相关的人员连接生产库(如果其他人有需要,尽量开放备份库给他们使用,而不要开放生产库,生产库尽量只给业务系统正常使用),如果你使用的是 DB2 V9.5 版本,则可以使用工作负载管理 WLM 对数据库的资源进行调配。如果使用的是 DB2 V9.5 之前的版本,则可以在数据库服务器上通过配置操作系统的方式,限制一些 IP 的访问。

当出现这样的错误时,不要尝试使用 DB2STOP FORCE 命令来强制停掉数据库,建议大家使用 FORCE APPLICATION 命令停掉引起这个错误的应用程序或者停掉所有的应用程序。也不建议大家使用 KILL 命令来杀掉任何 DB2 相关的进程。

解决db2事务日志已满及日志磁盘空间已满问题办法详解 本文主要讲解了解决db2事务日志已满及日志磁盘空间已满的问题,DB2总的可用活动日志的最大空间是有限制的,当达到限制之后,就会发生日志满的问题 立即下载

相关推荐

车载以太网入坑指南,从小白到懂哥的进阶之路【技术分享】

各位技术大佬们好!最近公司项目涉及到车载以太网,刚开始完全懵逼,花了大半个月时间各种查资料、测试设备,总算是摸清了门道。想着互联网上卧虎藏龙,肯定有不少大佬对这个技术感兴趣,所以写个帖子分享一下,顺便求各位大佬指点。

starelink的博客 1261

DB2数据库事务日志已满问题解决方案

本系列文章主要介绍数据库管理员(DBA)在日常维护中遇上一些比较紧急的情况如何处理,本篇主要介绍DB2交易日志存储空间满问题如何处理。 1、数据库事务日志的最大大小 数据库事务日志的最大大小由数据库的三个配置参数决定,分别是“主日志文件的数目”(LOGPRIMARY)、“辅助日志文件的数目”(LOGSECOND)和“日志文件大小(4KB)”(LOGFILSIZ)。数据库事务日志的最大大小的计算...

liumin1939的专栏 2940

在Simulink中进行基于模拟信号数字化处理的仿真

模拟信号数字化处理通常包括以下几个步骤:采样、量化、编码以及数字信号处理(如滤波、变换等)。Simulink提供了丰富的模块库,可以方便地实现这些步骤,并支持对整个系统的实时仿真与调试。首先明确你的系统需求,比如输入信号类型(正弦波、方波等)、采样率、需要执行的数字信号处理操作(低通滤波、频谱分析等)。假设我们需要处理一个50Hz的正弦波信号,采样率为1kHz,并希望对该信号进行低通滤波以去除高频噪声。本文介绍了如何在Simulink中进行基于模拟信号数字化处理的仿真。

xiaoheshang_123的博客 625

oracle数据库事务日志已满,解决db2事务日志已满及日志磁盘空间已满问题办法详解...

事务日志满指当前事务无法写入到活动日志中(主日志文件和辅助日志文件已全部用完或者没有足够当前事务写入的空间)日志磁盘空间已满指辅助日志文件还未使用完,磁盘空间已经满了。db2数据库事务日志文件分为主日志文件和辅助日志文件,主日志文件已分配空间,辅助日志文件使用时再分配。查看事务日志配置(mid为数据库名称):db2 get db cfg for mid运行结果:日志文件大小(4KB)...

weixin_42394088的博客 716

OLED 驱动模块程序代码

作为嵌入式软件开发,可能经常会使用单片机连接驱动显示屏,实现人机交互的功能,通常可选择的有 OLED 和 LCD 等,其中相关驱动代码例程网上更是数不胜数。 本文介绍的是 OLED, 常见代表有 0.96 寸的OLED,网上也有很多相关的驱动代码,但是大部分代码都是能用即可,不是特别关注驱动代码的整体架构,以下是个人整理的 OLED 驱动代码,支持配置 SPI 和 IIC 两种接口方式(目前只是测试了 SPI,IIC 有待验证)。

大橙子的博客 4290

Android 系统低内存lowmemorykiller关于阈值修改 minfreeAbsKbytes优化

在系统rom定制化开发中,在对于运行内存ram 1G和2G的设备中,对于内存使用高峰期时,minfreeAbsKbytes优化很关键 调整合理的minfree,让内存合理的使用很关键,接下来分析相关功能的实现

安卓兼职framework和app工程师的博客 524

db2多分区数据库 SQLCODE=-964, SQLSTATE=57011,数据库的事务日志已满

db2多分区数据库在处理大批量数据删除的时候会频繁出现如下错误:SQLCODE=-964, SQLSTATE=57011,数据库的事务日志已满,有时候在执行存储过程的时候还会出现 SQLCODE : -727 SQLSTATE: 56098,在隐式重新绑定或预编译期间出错。 (1)尝试通过增大日志相关的三个参数进行解决: db2 update db cfg for <dbname>...

7970

JavaFX 概述

要从 JavaFX 中充分受益,了解 JavaFX 的设计方式以及对 JavaFX 包含的功能有一个很好的概述是很有用的。本文的目的是为您提供 JavaFX 概述。本文将首先介绍一般的 JavaFX 设计,然后介绍 JavaFX 中的各种特性。如果您熟悉 Flash/Flex,您会发现 JavaFX 在某种程度上受到了 Flash/Flex 的启发。JavaFX 中也有一些相同的想法。一般来说,JavaFX 应用程序包含一个或多个对应于窗口的阶段。每个阶段都有一个场景。

2012年开始工作,全栈开发老兵,目前已是一个老师,分享这么多年的心得体会 407

db2关闭下一句sql的日志_(转)DB2解决“数据库日志已满”操作 SQLCODE=-964

本系列文章主要介绍数据库管理员(DBA)在日常维护中遇上一些比较紧急的情况如何处理,本篇主要介绍DB2交易日志存储空间满问题如何处理。数据库事务日志的最大大小由数据库的三个配置参数决定,分别是“主日志文件的数目”(LOGPRIMARY)、“辅助日志文件的数目”(LOGSECOND)和“日志文件大小(4KB)”(LOGFILSIZ)。数据库事务日志的最大大小的计算公式如清单 01-32 所示:数据库...

weixin_39534780的博客 283

半导体晶圆调平系统:基于最小二乘法的实现方案

基于最小二乘法的晶圆调平技术通过数学建模与工程实现的结合,解决了半导体量测中高精度平面对准的核心问题。实际应用中,需根据设备特性优化采样策略、校准传感器误差,并通过实时性优化满足高产能场景需求。该方案的模块化设计(如分离数据采集、拟合计算、补偿输出)也为后续功能扩展(如引入机器学习优化拟合模型)提供了灵活性。

品质生活,极致编程。 1181

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet

计算机视觉卷积神经网络(CNN)基础:从LeNet到ResNet,在计算机视觉领域,卷积神经网络(Convolutional Neural Network,CNN)已然成为推动众多任务发展的核心力量。从早期简单的图像识别,到如今复杂的目标检测、语义分割、图像生成等任务,CNN 都展现出了卓越的性能。CNN 的发展历程见证了一系列经典模型的诞生,其中 LeNet 作为开山之作,为 CNN 的发展奠定了基础,而 ResNet 则通过创新性的设计,突破了传统神经网络的限制,使得网络能够构建得更深、性能更优。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 14万+

DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011

DB2报错: SQL Error: SQLCODE=-964, SQLSTATE=57011 原因:该数据库的日志文件已满。 解决办法:加大日志文件大小,增加日志文件个数,增加辅助日志文件个数。 查看配置参数命令: 在db2的命令窗口输入 db2 get db cfg for 数据库名; db2 get db cfg for sample 查看 日志文件大小(4KB) (LOGFILSIZ) ...

qq_35298337的博客 7370

1. 在 SAP ABAP 事物码 SEGW 里创建 SAP OData 项目

本文介绍如何在 SAP ABAP 事物码 SEGW 里创建 SEGW 项目,使用工具生成 Runtime 运行时需要的资源。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 5443

DB2数据库的事务日志已满。. SQLCODE=-964, SQLSTATE=57011, DRIVER=3.63.108

DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法 DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法 原因:该数据库的日志文件已满 解决办法:加大日志文件大小,增加日志文件个数,增加辅助日志文件个数   查看配置参数命令: 在db2的命令窗口输入  db2 get db cfg for 数...

weixin_41167961的博客 1628

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【DB2】数据库的事务日志已满。SQLSTATE=57011

【DB2】数据库的事务日志已满。SQLSTATE=57011 问题描述` SQLCODE:-964,SQLSTATE:57011 在使用数据库的时候报错如上图,我们先使用 db2 get db cfg for sample 查看相关配置参数,其中sample为数据库名称 D:\Users\Thinkpad>db2 get db cfg for sample 数据库配置发行版级别 ...

灰灰的博客 3877

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

DB2 SQL 错误(SQLCODE:-964,SQLSTATE:57011)处理方法

故障现象描述: 执行 SQL 语句时,出现类似如下错误消息。 指令 SQL:insert into t_stat_file_temp SQLSTATE:57011,供应商错误代码:-964 DB2 SQL 错误:SQLCODE:-964,SQLSTATE:57011, SQLERRMC:空 故障原因说明: 数据库堆中没有足够的存储空间可用于处理该语句,此错误消息是事务日志中耗尽空间的...

weixin_30793643的博客 2431

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

db2数据库_百万级数据插入表报错,sqlcode=-964

问题描述: 在项目中编写了存储过程,向某张表插入数据,某个表现有200万+的数据量,在执行存储过程中报错,sqlcode=-964 存储过程大体结构如下: insert into A select * from B 原因分析: 百度了一下发现是数据库日志表满了,我就查询了日志表,查看使用率 select DB_NAME, LOG_UTILIZATION_PERCENT from SYSIBMADM.LOG_UTILIZATION 查询结果:database

jss19940414的博客 2971

DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法

[size=large]DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法[/size] 原因:该数据库的日志文件已满 解决办法:加大日志文件大小,增加日志文件个数,增加辅助日志文件个数 查看配置参数命令:get db cfg for ; 修改配置参数命令: 修改日志文件大小:update db cfg for usi...

weixin36的博客 2030

(转)DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法

http://blog.sina.com.cn/s/blog_4a3883790100qpqd.html DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法  (2011-04-06 11:43:36) 转载 标签:  db2   日志文件   数据库   杂谈 分类: 数据库 ...

mlxia的专栏 1157

数据库报错:DB2 SQL error: SQLCODE: -964, SQLSTATE: 57011, SQLERRMC: null; db2 get db cfg for 数据库名称

数据库报错:DB2 SQL error: SQLCODE: -964, SQLSTATE: 57011, SQLERRMC: null; db2 get db cfg for 数据库名称 数据库日志大小=LOGFILSIZ*4*(LOGPRIMARY+LOGSECOND)                            =1000*4*(3+2)

Jackie的博客 2638

解决DB2 SQLCODE=-964日志文件满的问题

在程序中需要使用下面的代码 insert into a select * from b where ...... 每次插入到a表的记录有600多万条,每次执行该语句DB2都会返回SQLCODE值为-964的错误码,用db2 sql0964命令查看错误原因,DB2的解释为SQL0964C The transaction ...

Leon1509的专栏 3031

DB2删除数据报错

delete 数据时报错DB2 SQL error: SQLCODE: -964, SQLSTATE: 57011 是由于数据库日志文件已满, 数据库日志大小=LOGFILSIZ4(LOGPRIMARY+LOGSECOND) 解决办法: 加大日志文件大小,增加主日志文件个数,增加辅助日志文件个数 db2 update db cfg for DB_NAME using ...

hyfstyle的博客 1787

DB2 SQLCODE=-964日志文件满的问题

Sql代码   db2 update db cfg for MY_DATABASE using LOGFILSIZ xxx  db2 update db cfg for MY_DATABASE using LOGPRIMARY 60   db2 update db cfg for MY_DATABASE using LOGSECOND 20

m_shuai的专栏 3163

DB2解决“数据库日志已满”操作 SQLCODE=-964

可视化操作方法: 进入db2的控制中心,在数据库名称上点右键–>配置参数–>日志–>日志文件大小、主 日志文件数、辅助日志文件数改大一点 LOGFILSIZ 日志文件大小 LOGPRIMARY 主日志文件大小 LOGSECOND 辅助日志文件数 命令行操作方法: 用命令行db2cmd db2 update db cfg for dbn...

kanecake的专栏 801

DB2 SQLCODE:-964 13 SQLERRM:SQL0964C 数据库的事务日志已满 SQLSTATE=57011

首先 开始—>运行 输入db2cmd 进入db2 命令窗口 db2 connect to sample user db2admin using admin // sysmiant db2 get db cfg for sample 注意:不要带分号,否则报错的。 update db cfg using LOGFILSIZ 20000 —更改 日志文件大小 update db cf...

rede 1223
上一篇: (转)HTC Hero获取root权限(成功!!!)
下一篇: (转)DB2 SQL Error: SQLCODE=-964, SQLSTATE=57011的原因及解决方法
mlxia
博客等级 码龄26年 28粉丝 410原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值