在ORACLE数据库的管理.维护过程中,偶尔会遇到归档日志暴增的情况,也就是说一些SQL语句产生了大量的redo log,那么如何跟踪.定位哪些SQL语句生成了大量的redo log日志呢? 下面这篇文章结合实际案例和官方文档"How to identify the causes of High Redo Generation (文档 ID 2265722.1)"来实验验证一下. 首先,我们需要定位.判断那个时间段的日志突然暴增了,注意,有些时间段生成了大量的redo log是正常业务…
第一步: Use 数据库名 Select NAME,size From sys.database_files 将“数据库名”改为需要清除日志的数据库名字,点击“执行”查询出需要清除的日志名称:**_Log 第二步: Use 数据库名 Select NAME,size From sys.database_files ALTER DATABASE 数据库名 SET RECOVERY SIMPLE WITH NO_WAITALTER DATABASE 数据库名 SET RECOVERY SIM…
适用于SQL Server 2005的方法 Backup Log DNName WITH no_log GO DUMP TRANSACTION DNName WITH no_log GO USE DNName ) GO 说明:由于SQL Server 2008对文件和日志管理进行了优化,所以以上语句在SQL2005中可以运行但在SQL2008中已经被取消. 适用于SQL Server 2008的方法 USE [master] GO ALTER DATABASE DNName SET RECOVE…
SELECT id,lng,lat,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((lat1*PI()/180-lat*PI()/180)/2),2)+COS(lat1*PI()/180)*COS(lat*PI()/180)*POW(SIN((lng1*PI()/180-lng*PI()/180)/2),2)))*1000)AS juliFROM address having juli > 500ORDER BY juli AscLIMIT 100lng1为自定义的经度l…
USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE [数据库名] SET RECOVERY SIMPLE GO USE [数据库名] GO DBCC SHRINKFILE (N'[数据库日志文件名称]' , 0,TRUNCATEONLY) GO USE [master] GO ALTER DATABASE [数据库名] SET RECOVERY FULL WITH NO_…
USE [master] ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE WITH NO_WAIT ALTER DATABASE [Whir_InternalSystem] SET RECOVERY SIMPLE GO USE [Whir_InternalSystem] DECLARE @logname VARCHAR(150) SELECT @logname = NAME FROM sys.database_files WHER…
1.Oracle log 每次切换会记录到告警日志中 设想写个方案来查看log切换频率来判断Oracle log是否应该更改大小. 2.sql a.查看redo日志信息 select * from v$log b.查看日志切换频率 )*,) and b.THREAD#= order by a.SEQUENCE# desc; 或者 )*,) diff ) order by sequence# desc;…
通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息: 其中的session来表示当前的连接的统计结果,global来表示自数据库启动至今的统计结果,默认是session级别的. show status 常用命令: show status like 'com_%'; 其中com_xxx表示xxx语句所执行的次数: 重点注意com_select, com_insert, co…