DB2报“数据库日志已满”问题解决

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

也可用命令行db2cmd

db2 update db cfg for mymakro using LOGFILSIZ 512 --日志文件大小

db2 update db cfg for mymakro using LOGPRIMARY 20 --主日志

db2 update db cfg for mymakro using LOGSECOND5 10 --辅助日志

要将与此数据库的所有连接断开后才会生效。

[@[email protected]]

执行批处理时,DB2 报数据库的事务日志已满的错误,解决办法

辅助日志文件的数目 (LOGSECOND) = 25

已更改的至日志文件的路径 (NEWLOGPATH) =

日志文件路径 = D:DB2NODE0000SQL00

003SQLOGDIR

溢出日志路径 (OVERFLOWLOGPATH) =

镜像日志路径 (MIRRORLOGPATH) =

首个活动日志文件 = S0000005.LOG

磁盘上已满的块日志 (BLK_LOG_DSK_FUL) = NO

事务使用的最大活动日志空间的百分比 (MAX_LOG) = 0

1 个活动 UOW 的活动日志文件的数目 (NUM_LOG_SPAN) = 0

组落实计数 (MINCOMMIT) = 1

软检查点前回收的日志文件的百分比 (SOFTMAX) = 100

启用的恢复的日志保留 (LOGRETAIN) = RECOVERY

启用的日志记录的用户出口 (USEREXIT) = OFF

HADR 数据库角色 = STANDARD

HADR 本地主机名 (HADR_LOCAL_HOST) =

HADR 本地服务名称 (HADR_LOCAL_SVC) =

HADR 远程主机名 (HADR_REMOTE_HOST) =

HADR 远程服务名称 (HADR_REMOTE_SVC) =

远程服务器的 HADR 实例名 (HADR_REMOTE_INST) =

HADR 超时值 (HADR_TIMEOUT) = 120

HADR 日志写同步方式 (HADR_SYNCMODE) = NEARSYNC

第一个日志归档方法 (LOGARCHMETH1) = LOGRETAIN

logarchmeth1 的选项 (LOGARCHOPT1) =

第二个日志归档方法 (LOGARCHMETH2) = OFF

logarchmeth2 的选项 (LOGARCHOPT2) =

故障转移日志归档路径 (FAILARCHPATH) =

错误时重试日志归档次数 (NUMARCHRETRY) = 5

日志归档重试延迟(秒) (ARCHRETRYDELAY) = 20

供应商选项 (VENDOROPT) =

启用的自动重新启动 (AUTORESTART) = ON

索引重新创建时间和重做索引构建 (INDEXREC) = SYSTEM (RESTART)

在索引构建期间记录页 (LOGINDEXBUILD) = OFF

loadrec 会话的缺省数目 (DFT_LOADREC_SES) = 1

要保留的数据库备份的数目 (NUM_DB_BACKUPS) = 12

恢复历史保留时间(天数) (REC_HIS_RETENTN) = 366

TSM 管理类 (TSM_MGMTCLASS) =

TSM 节点名 (TSM_NODENAME) =

TSM 所有者 (TSM_OWNER) =

TSM 密码 (TSM_PASSWORD) =

自动维护 (AUTO_MAINT) = OFF

自动数据库备份 (AUTO_DB_BACKUP) = OFF

自动表维护 (AUTO_TBL_MAINT) = OFF

自动 runstats (AUTO_RUNSTATS) = OFF

自动统计信息概要分析 (AUTO_STATS_PROF) = OFF

自动概要文件更新 (AUTO_PROF_UPD) = OFF

自动重组 (AUTO_REORG) = OFF

db2 => quit

DB20000I QUIT 命令成功完成。

C:>db2 connect to testdatabase

数据库连接信息

数据库服务器 = DB2/NT 8.2.4

SQL 授权标识 = ADMINIST...

本地数据库别名 = TESTDATABASE

connect to testdatabase

数据库连接信息

数据库服务器 = DB2/NT 8.2.4

SQL 授权标识 = ADMINIST...

本地数据库别名 = TESTDATABASE

update db cfg for testdatabase using logfilsiz 6000

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。

update db cfg for testdatabase using logprimary 4

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

SQL1363W 为立即修改而提交的一个或多个参数未动态更改。对于这些配置参数,必须在所有应用程序都与此数据库断开连接之后,更改才会生效。

update db cfg for testdatabase using logsecond 25

DB20000I UPDATE DATABASE CONFIGURATION 命令成功完成。

C:>db2 ? sql964 (根据错误码查看错误解释)

SQL0964C数据库的事务日志已满。

解释:

已使用事务日志中的所有空间。

若使用具有辅助日志文件的循环日志,则尝试分配和使用这些日志。当文件

系统没有更多空间时,不能使用辅助日志。

若使用归档日志,则文件系统不提供空间来包含新日志文件。

不能处理该语句。

用户响应:

在接收到此消息 (SQLCODE) 时,执行 COMMIT 或

ROLLBACK,或重试该操作。

若并发应用程序正在更新数据库,则重试该操作。当另一个应用程序完成事

务时,可能释放日志空间。

发出更频繁的落实操作。若事务还未落实,则当落实事务时,可能会释放日志空间。设计应用程序时,应考虑何时落实已更新的事务,以防止日志已满的情况。

若发生死锁,则更频繁地检查它们。这可以通过减小数据库配置参数DLCHKTIME 来实现。这将检测到死锁,并且很快解决(通过ROLLBACK),这将释放日志空间。若经常发生这种情况,则增大数据库配置参数以允许更大的日志文件。更大的日志文件需要更多空间,但是减少了应用程序重试该操作的需要。若正在安装样本数据库,则删除它并再次安装样本数据库。

时间: 2024-07-28 18:40:57

DB2报“数据库日志已满”问题解决的相关文章

sqlserver2000 数据库 'tempdb' 的日志已满

方法一解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限.在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了.直接把tempdb的数据文件和日志文件的大小改为3000M,问题解决. 记录一下清空日志的命令:DUMP TRANSACTION dbname WITH NO_LOG 截断事务日志命令:BACKUP LOG dbname WITH NO_LOG收缩日志操作:右键点数据库-属性-所有任务-收缩数据库-文件-选择文件-确定. 方法二解决过

【数据库 'tempdb' 的日志已满】最新解决方法

数据库 'tempdb' 的日志已满 执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上百度了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题

SharePoint 2010 数据库xxx的事务日志已满

http://www.cnblogs.com/sygwin/p/6222428.html 接到领导安排,说客户有问题 请求协助解决,对方给我展示的错误日志,如下: 数据库'WSS_Content_xxxx'的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅sy.databases中的log_reuse_wait_dec列 导致的结果是用户再也无法上传文件到文档库了. 看来一下对应的数据库文件,日志文件大的惊人,已经超过1.8T 作为老司机,理论上解决这样的问题,就是收缩数据库.可是咱是个

数据库 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc 列。

一种方法:清空日志.1.打开查询分析器,输入命令 SQL code? 1  DUMP TRANSACTION 数据库名 WITH NO_LOG 2.打开企业管理器,在数据库上点右键->属性->选项->故障恢复-模型-选择-简单模型.(也可以直接在查询分析器里执行: SQL code? 1 alter database 数据库名 set recovery simple  3.右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至XXM,这里会给

数据库的事务日志已满,起因为"LOG_BACKUP"。

问题描述: 数据库的事务日志已满,起因为"LOG_BACKUP". 问题截图: 解决方法: 1).选择数据库–属性—选项—恢复模式–选择简单.2).收缩数据库后,再调回完整. 1 USE[master] 2 GO 3 ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE WITH NO_WAIT 4 GO 5 ALTER DATABASE 要清理的数据库名称 SET RECOVERY SIMPLE --简单模式 6 GO 7 USE 要清理的数据库名

SQLSERVER 2008 R2 事务日志已满

方法一: USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE   --简单模式 GO USE DNName GO DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVER

SQL Server中事务日志已满的原因以及解决办法

错误描述:数据库的事务日志已满.若要查明无法重用日志中的空间的原因 ,请参阅sys.databases 中的 log_reuse_wait_desc 列 . 首先引入一下事务日志的概念(来自百度百科): 事务日志是一个与数据库文件分开的文件.它存储对数据库进行的所有更改,并全部记录插入.更新.删除.提交.回退和数据库模式变化.事务日志还称作前滚日志或重做日志. 事务日志是备份和恢复的重要组件,也是使用 SQL Remote 或 [复制代理] 复制数据所必需的. 在缺省情况下,所有数据库都使用事务

SQL SERVER 日志已满的处理方法 (转)

事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf.在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事务日志文件将会自动扩展.一般情况下,在能够容纳两次事务日志截断之间发生的最大数量的事务时,事务日志的大小是稳定的,事务日志截断由检查点或者事务日志备份触发.然而,在某些情况下,事务日志可能会变得非常大,以致用尽空间或变满.通常,在事务日志文件占尽可用磁盘空间且不能再扩展时,您将收到如下错误消息:Er

ORA-00257 archive log 日志已满

ORA-00257 archive log 日志已满 报错信息: ORA-00257: archiver error. Connect internal only, until freed   原因: 归档日志已满 解决办法: 1. 用sys用户登录   sqlplus sys as sysdba 2. 看看archivlog所在位置 SQL> show parameter log_archive_dest; 3. 如果VALUE为空时,可以用archive log list;检查一下归档目录和