频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

详解Sybase数据库ASE事务日志的管理技巧(1)

作者: skid 出处:赛迪网 2007-07-09 10:34    砖    好    评论   进入论坛
阅读提示:本文详细讲解Sybase数据库中ASE事务日志log及其管理,比如记录、读取等。

SYBASE ASE事务日志

SYBASE ASE的每一个数据库,无论是系统数据库(master,model, sybsystemprocs, tempdb),还是用户数据库,都有自己的transaction log,每个库都有syslogs表。Log记录用户对数据库修改的操作,所以如果不用命令清除, log会一直增长直至占满空间。清除log可用dump transaction 命令;或者开放数据库选项trunc log on chkpt,数据库会每隔一段间隔自动清除log。管理好数据库log是用户操作数据库必须考虑的一面。

下面就几个方面谈谈log及其管理: 

一、ASE如何记录及读取日志信息

我们知道,ASE是先记log的机制。Server Cache Memory中日志页总是先写于数据页:

图1

◆Log pages 在commit ,checkpoint,space needed 时写入硬盘。

◆Data pages 在checkpoint,space needed 时写入硬盘。

系统在recovery 时读每个database 的syslogs 表的信息,回退未完成的事务(transaction)(数据改变到事务前状态);完成已提交的事务(transaction)(数据改变为事务提交后的状态)。在Log中记下checkpoint点。这样保证整个数据库系统的一致性和完整性。

二、Transaction logs 和checkpoint 进程 

checkpoint 命令的功能是强制所有“脏”页(自上次写入数据库设备后被更新过的页)写入数据库设备。自动的checkpoint 间隔是由ASE 根据系统活动和系统表sysconfigures中的恢复间隔(recovery interval)值计算出的。通过指定系统恢复所需的时间总量,恢复间隔决定了checkpoint 的频率。

如果数据库开放trunc log on chkpt选项,则ASE在数据库系统执行checkpoint时自动清除log。但用户自己写入执行的checkpoint命令并不清除log,即使trunc log on chkpt选项开放。只有在trunc log on chkpt选项开放时,ASE自动执行checkpoint动作,才能自动清除log 。这个自动的checkpoint动作在ASE中的进程叫做checkpoint进程。当trunc log on chkpt选项开放时,checkpoint进程每隔60秒左右清除log,而不考虑recovery interval设置时间的间隔。

三、Transaction log 的大小

没有一个十分严格的和确切的方法来确定一个数据库的log应该给多大空间。对一个新建的数据库来说,log大小为整个数据库大小的20%左右。因为log记录对数据库的修改,如果修改的动作频繁,则log的增长十分迅速。所以说log空间大小依赖于用户是如何使用数据库的。 例如:

◆update,insert和delete 的频率
◆每个transaction 中数据的修改量
◆ASE系统参数recovery interval 值
◆log是否存到介质上用于数据库恢复

还有其它因素影响log大小,我们应该根据操作估计log大小,并间隔一个周期就对log进行备份和清除。

四、检测log 的大小 

若log 在自己的设备上,dbcc checktable (syslogs) 有如下信息:

例:***NOTICE:space used on the log segment is 12.87Mbytes,64.35%
***NOTICE:space free on the log segment is 7.13Mbytes,35.65% 

根据log剩余空间比例来决定是否使用dump transaction 命令来备份和清除log。

用快速方法来判断transaction log 满的程度。

◆1>use database_name 
◆2>go
◆1>select data_pgs (8,doampg)
◆2>from sysindexes where id=8
◆3>go

Note:this query may be off by as many as 16 pages.
在syslogs 表用sp_spaceused 命令。

五、log设备 

一般来说,应该将一个数据库的data和log存放在不同的数据库设备上。这样做的好处:

◆可以单独地备份(back up)transaction log 
◆防止数据库溢满
◆可以看到log空间的使用情况。[dbcc checktable (syslogs)] 
◆可以镜像log设备 

六、log的清除 

数据库的log是不断增长的,必须在它占满空间之前清除。前面已经讨论过,清除log可以开放数据库选项trunc log on chkpt,使数据库系统每隔一段时间间隔自动清除log,还可以执行命令dump transaction 来清除log.trunc log on chkpt 选项同dump transaction with truncate_only 命令一样,只是清除log而不保留log到备份设备上。所以如果只想清除log而不做备份,可以使用trunc log on chkpt 选项及dump transaction with truncate_only,dump transaction with no_log 命令。若想备份,应做dump transaction database_name to dumpdevice。


共3页: 1 [2] [3] 下一页
【内容导航】
关于 ASE  事务  日志  Sybase
专题
系统应用日志分析管理
Sun以10亿美元并购开源数据库厂商MySQL
甲骨文Oracle 11g正式发布
Oracle数据库开发之PL/SQL基础应用
Oracle数据库开发基础教程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·SQL Server入门到精通 (查看120205次)
·SQL Server 2008/2005全解 (查看100798次)
·Oracle数据库开发指南 (查看48189次)
·MySQL数据库备份 (查看46621次)
·Oracle SQL 内置函数大全 (查看44460次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。