语言入口:简体中文 | English | 北亚博客
 
    
 
北亚Linux数据恢复

首席工程师:张宇

手机:18600440055

座机:4006505646-801

传真:4006505646-809

Email:zy@datahf.net

地址:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
QQ:点击这里给我发消息
当前位置:首页>>Linux修复知识>>Linux文件误删除恢复>>正文
Linux修复知识

Sybase SQL Server日志问题普及

Sybase SQL Server 的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有 syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至 占满空间。清除log可用dump transaction 命令;或者开放数据库选项trunc log on chkpt, 数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。下面就几个方面谈谈log及其管理:一、SQL Server 如何记录及读取日志信息我们知道,SQL Server是先记log的机制。Server Cache Memory中日志页总是先写于数据页: Log pages 在commit ,checkpoint,space needed 时写入硬盘。 Data pages 在checkpoint,space needed 时写入硬盘。系统在recovery 时读每个database 的syslogs 表的信息,回退未完成的事务 (transaction)(数据改变到事务前状态);完成已提交的事务(transaction)(数据改变为事 务提交后的状态)。在Log中记下checkpoint点。这样保证整个数据库系统的一致性和完整性。二、Transaction logs 和checkpoint 进程 checkpoint 命令的功能是强制所有“脏”页(自上次写入数据库设备后被更新过的页)写 入数据库设备。自动的checkpoint 间隔是由SQL Server 根据系统活动和系统表 sysconfigures中的恢复间隔(recovery interval)值计算出的。通过指定系统恢复所需的时 间总量,恢复间隔决定了checkpoint 的频率。如果数据库开放trunc log on chkpt选项,则SQL Server在数据库系统执行checkpoint时 自动清除log。但用户自己写入执行的checkpoint命令并不清除log,即使trunc log on chkpt 选项开放。只有在trunc log on chkpt选项开放时,SQL Server自动执行checkpoint动作,才 能自动清除log 。这个自动的checkpoint动作在SQL Server中的进程叫做checkpoint进程。当 trunc log on chkpt选项开放时,checkpoint进程每隔0秒左右清除log,而不考虑recovery interval设置时间的间隔。三、Transaction log 的大小没有一个十分严格的和确切的方法来确定一个数据库的log应该给多大空间。对一个新建的 数据库来说,log大小为整个数据库大小的20%左右。因为log记录对数据库的修改,如果修改 的动作频繁,则log的增长十分迅速。所以说log空间大小依赖于用户是如何使用数据库的。例如: ◆update,insert和delete 的频率 ◆每个transaction 中数据的修改量 ◆SQL Server系统参数recovery interval 值 ◆log是否存到介质上用于数据库恢复还有其它因素影响log大小,我们应该根据操作估计log大小,并间隔一个周期就对log进行 备份和清除。 
 
来源: Linux论坛

上一篇:mysql二进制版本安装中的疑点问题
下一篇:Eclipse中文注释乱码解决
JFS文件系统简介
XFS文件系统简介
Reiserfs文件系统简介
EXT3文件系统简介
常见Linux文件系统简介
GRUB简介与配置
LILO的使用和配置
Linux单用户模式维护系统
引导加载程序简介
重置Linux用户口令
  版权所有@北京北亚时代科技有限公司   京ICP备09039053号    
  总部电话:(010)82488636  中国·北京·海淀区中关村E世界C座8层879室               站点地图   联系我们  RSS阅读
r