数据库日志清理脚本

Oracle数据库日志管理与定时清理脚本 Oracle数据库中核心的日志类型主要包括联机重做日志(Online Redo Log)、归档重做日志(Archived Redo Log)以及追踪日志(Trace Log)。这些日志文件是数据库备份和恢复策略不可或缺的一部分,各自承载了不同的任务和责任。联机重做日志:记录所有对数据库的更改操作,这些操作被应用于缓冲区缓存中的数据块,确保在发生故障时可以恢复更改。归档重做日志:一旦联机重做日志被写满并且新的日志成员被使用,旧的日志文件会被归档。归档日志对于恢复到特定时间点至关重要。 阅读详情

/*********数据库压缩方法*********/
/*******************************/
Declare @db nvarchar(20)
-- 数据库名称
SET @db = 'DBName'

-- 清空日志
DUMP TRANSACTION @db WITH NO_LOG

-- 截断事务日志
BACKUP LOG @db WITH NO_LOG

-- 收缩数据库
DBCC SHRINKDATABASE (@db)
/*******************************/

 


----MS Sql Server 日志清理

DECLARE @LogicalFileName sysname,@MaxMinutes INT,@NewSize INT
USE grades -- 要操作的数据库名
SELECT @LogicalFileName = 'grades_log', -- 日志文件名
@MaxMinutes = 10, -- Limit on time allowed to wrap log.
@NewSize = 1 -- 你想设定的日志文件的大小(M)

-- Setup / initialize         
DECLARE @OriginalSize int
SELECT @OriginalSize = size  FROM sysfiles  WHERE name = @LogicalFileName

SELECT 'Original Size of ' + db_name() + ' LOG is ' +
CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName

CREATE TABLE DummyTrans(DummyColumn char (8000) not null)
DECLARE @Counter INT,@StartTime DATETIME,@TruncLog VARCHAR(255)

SELECT @StartTime = GETDATE(),@TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ONLY'
DBCC SHRINKFILE (@LogicalFileName, @NewSize)
EXEC (@TruncLog)
-- Wrap the log if necessary.
WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired
AND @OriginalSize = (SELECT size  FROM sysfiles WHERE name = @LogicalFileName)
AND (@OriginalSize * 8 /1024) > @NewSize

BEGIN -- Outer loop.
SELECT @Counter = 0
WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))
BEGIN -- update
INSERT DummyTrans VALUES ('Fill Log')
DELETE DummyTrans
SELECT @Counter = @Counter + 1
END
EXEC (@TruncLog)
END

SELECT 'Final Size of ' + db_name() + ' LOG is '+
CONVERT(VARCHAR(30),size) + ' 8K pages or ' +
CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'
FROM sysfiles
WHERE name = @LogicalFileName

DROP TABLE DummyTrans
SET NOCOUNT OFF 

定时清空日志文件脚本 以下是一个可以实现每5秒清除demo.log$(date$(date$(date$(date。 阅读详情

相关推荐

SqlServer清理数据库日志

SqlServer数据库数据量提升和大量的操作数据库,不免产生很多的垃圾

Bingo | EveryDay 637

SQL清除所有数据库日志脚本

--SQL清除所有数据库日志脚本 declare @CurrentDataBaseName nvarchar(100) declare @CurrentDataBaseID nvarchar(100) declare @CurrentLogName nvarchar(100) declare @CurrentClearString nvarchar(4000) declare @Curr...

guanhuaing 284

SQL server 数据库日志满了,日志清理脚本

SQL server 数据库日志满了,日志清理脚本. 问题:在数据库插入数据时,数据一直没有变化,插入不进去,查看日志提示: Autogrow of file ‘FPSS_log’ in database ‘FPSS’ was cancelled by user or timed out after 30173 milliseconds. Use ALTER DATABASE to set a ...

smzyydwwb的博客 946

如何清除mssql的errorLog文件

MSSQL在 C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG 目录下存放这一些日志文件,一共是7个,常常会因为这些日志文件不断增大而导致C盘没有空间,我的这些日志曾经就达到过12G,吓死我了 找了一些办法都不能清除这些日志信息,网上有说用Maintenance Plans( 维护计划 )功能的,但我发现我的维护计划用不了,没办法

lingto1的专栏 1589

数据库的自动作业清理日志脚本

<br />数据库在运行后会产生非常大的日志,在每天自动备份后就会是硬盘的空间呈指数增长,这是后清理数据库日志是很必要的。一下是建立如何自动清理数据库日志的作业的脚本<br />/***运行后会在"SQL Server 代理/作业"中添加相应的作业项***/<br />/***可能通过双击来修改其中的"步骤"和"计划"***/<br />/* 本文原创于 葫芦之家 www.huluhome.com 转载请注明出处 **/<br />USE [msdb]<br />GO<br />DECLARE @KeduD

welldone5的专栏 663

linux下编写清理日志和oracle数据库临时数据的shell脚本

最近新系统上线,运行一个月后发现系统日志占用空间很大,数据库中流水表数据也达到了上千万条,所以编写该shell脚本用来定时清理日志数据库临时数据。我们的系统应用日志是往一个日志文件中不停写入,不会按日期自动生成新日志文件...

shenyzu的博客 1835

oracle 日志缓存清理,[oracle] 数据库日志清理脚本

vi /root/db_clearlog.shchmod 700 /root/db_clearlog.sh55 6 * * * /bin/sh db_clearlog.shcat db_clearlog.sh###############################################################################################!...

weixin_39942474的博客 256

sh脚本定时清理Mysql数据库日志

【代码】sh脚本定时清理Mysql数据库日志

qq_38222067的博客 207

Deepgreen数据库日志清理脚本

数据库时间久了,难免会产生很多日志,Deepgreen的日志与Greenplum一样,都存在pg_log文件夹下,我们可以使用以下脚本,配合Linux定时任务,保存固定日期的日志即可:

Gamay的博客 376

oracle+清楚日志信息,[oracle] 数据库日志清理脚本

vi /root/db_clearlog.shchmod 700 /root/db_clearlog.sh55 6 * * * /bin/sh db_clearlog.shcat db_clearlog.sh###############################################################################################!...

weixin_36224054的博客 205

定时器(shell脚本,备份数据库清理日志)

shell脚本,定时器,备份数据库清理日志

qq_52112146的博客 372

mysql binlog过期策略_清理多台MySQL数据库的过期binlog日志的shell脚本

本节主要内容:清理mysql中过期的binlog日志。问题描述:美好梦中,传来阵阵报警声,磁盘空间满。查看:复制代码 代码示例:[root@jbxue cacti]$ ssh xxxx "df -h"/dev/mapper/Sys-mysqldata300G 270G 30G 90% /mysqldata15G 166M 14G 2% /mysqldata/binlog原因:近...

weixin_42149153的博客 195

MS SQL SERVER 清理数据库日志脚本

Use master GO ALTER DATABASE [db_name] SET RECOVERY SIMPLE   --简单模式     GO     USE [db_name]     GO     DBCC SHRINKFILE (N'db_name_Log' , 11, TRUNCATEONLY)     GO     USE [master]     GO    

给力VSTO 540

Centos7搭建Java环境,并设置项目自启动脚本、定时数据库备份/日志清理脚本

####将包上传到服务器 ####建个文件夹,作为开发环境存放路径 cd /usr mkdir developmentEnvironment cd / ####一.java ####1.解压包 tar -zxvf jdk-8u162-linux-x64.tar.gz -C /usr/developmentEnvironment ####2.配置环境变量 vim /etc/profile exp...

dairenwu的博客 802

数据表定时清理数据和日志设计原理

数据库数据和日志设置定时清理原理(适用于数据仓库,累积历史性数据库表) 1.新建一个记录需要清理数据的表 select * from mid.[dbo].t_clear_data_table --插入数据脚本 INSERT INTO mid.[dbo].[t_clear_data_table] ([dbName] --数据库名称 ,[schName...

鲁边的博客 961

linux+清理oracle,Linux Oracle DB log 清理

定期清理Oracle DB产生的log 文件, 脚本如下.sid_list=`/bin/ps -ef |/bin/grep smon |/bin/grep -v grep | /bin/cut -f3 -d_`host_name=`hostname`export ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/admin#dumpfile tr...

weixin_42519161的博客 255

Dolphin Scheduler清理Log 和 Instance记录

Dolphin Scheduler使用一段时间后,系统会产生大量log,而系统并没有一个功能去清理,因此需要自己定义。1.- 清理日志文件,这个日志文件随时间推移非常占空间,可通过自定义脚本,然后通过crontab定时任务删除,具体如下:find /root/dolphinscheduler-3.2/master-serv...

weixin_40255084的博客 996
上一篇: 如何查询出第9条记录到第16条记录
下一篇: 游标更新字段脚本
cain2001
博客等级 码龄23年 1粉丝 3原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值