SYBASE数据库日志详解
数据库中的日志与日志分析方法
数据库中的日志与日志分析方法随着数据处理的需求越来越高,数据库技术在企业应用中的地位愈发重要。
在数据库管理的过程中,日志是一项关键性的技术。
本文将围绕数据库中的日志和日志分析方法,从如下三个方面进行探讨:其一,数据库日志的作用;其二,数据库日志分析的方法;其三,数据库日志分析所带来的好处。
一、数据库日志的作用日志是一个非常重要的概念,因为它可以帮助解释系统的行为。
在数据库技术中,日志是一个关键性的技术,它包括了所有的数据库操作信息。
日志的用途很广泛,其中最主要的有如下几个方面:1. 数据恢复:当数据库出现故障或者损坏时,可以通过数据库备份和日志文件来进行数据恢复。
2. 数据库追踪:在数据库中查询某个实例或者一系列查询的过程,可以通过日志文件来追踪数据库系统的行为,比如查询、删除、更新等。
3. 性能分析:通过日志文件的分析,可以更好的了解数据库系统的瓶颈,从而提高数据库系统的性能。
二、数据库日志分析的方法如何进行有效的数据库日志分析是一个非常值得探讨的问题,下面将介绍几种常见的数据库日志分析方法。
1. 事务分析法事务分析方案被广泛使用,其实质是建立在查看系统中每个用户所提交的事务这一前提之前。
这个方案可以帮助管理员判断哪些用户访问了自己所管辖的数据库,以及被访问的数据量多少。
然后根据分析出来的数据,去对数据库进行优化,提高其性能。
2. 死锁分析法死锁是指当两个或多个事务同时请求数据库资源,但是由于某些原因关键资源无法直接访问,因而进入了一种僵局的情况。
在数据库管理中,死锁是一个非常常见的情况。
死锁分析方案就是去了解死锁的发生原因,提出相应的解决方法,避免死锁的产生。
3. 性能分析法性能分析方案的目的是找出数据库中存在的性能瓶颈,以及进一步了解这些性能瓶颈产生的原因。
这个方案的核心在于查看系统的日志文件,然后找出日志文件中存在的性能瓶颈,进而针对性地进行优化调整。
三、数据库日志分析所带来的好处从上面的分析中,我们可以看出,数据库日志分析所带来的好处有很多,下面我们将一一介绍。
Sybase12日志满的解决办法2
Sybase12.5日志满问题的解决日志满分为两种情况:1.非master(用户库或者其他系统库sybsystemprocs)库的日志满,导致用户库不能访问;2.系统库master日志满,导致服务都不能正常启动。
针对以上情况要分别对待处理。
1.非master库日志满的处理:重庆数据库后台sybsystemprocs库日志报满:09:00000:01631:2011/11/13 06:45:36.16 server Error: 3475, Severity: 21, State: 709:00000:01631:2011/11/13 06:45:36.16 server There is no space available in SYSLOGS to log a record for which space has been reserved. This process will retry at intervals of one minute.11:00000:04104:2011/11/13 06:20:11.87 server Space available in the log segment has fallen critically low in database 'sybsystemprocs'. All future modifications to this database will be suspended until the log is successfully dumped and space becomes available.00:00000:02407:2011/11/13 06:20:11.89 server Error: 2812, Severity: 16, State: 500:00000:02407:2011/11/13 06:20:11.89 server Stored procedure 'sp_thresholdaction' not found. Specify owner.objectname or use sp_help to check whether the object exists (sp_help may produce lots of output).或某个用户库etoh2_cq的日志空间满报:00:00000:00001:2008/12/02 17:28:07.38 server<wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Error: 1105, Severity: 17, State: 3</span><brstyle="line-height:21px; text-align:left"><span style="line-height:21px;text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Can't allocate space for object 'syslogs' in database 'etoh2_cq' because 'logsegment' segment is full/has no free extents. If you ran out of space in syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or sp_extendsegment to increase size of the segment.</span><br style="line-height:21px; text-align:left"><spanstyle="line-height:21px; text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="line-height:21px; text-align:left">Error: 3475, Severity: 21, State: 7</span><br style="line-height:21px; text-align:left"><spanstyle="line-height:21px; text-align:left">00:00000:00001:2008/12/02 17:28:07.38 server</span><wbr style="line-height:21px; text-align:left"><span style="text-align:left">There is no space available in SYSLOGS for process 1 to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4.</span></wbr></wbr></wbr></wbr>处理方法步骤:1、马上增加日志设备,并把设备分配给数据库。
Sybase
Sybasejazy00基本过程很简单,如下:1.备份到本地硬盘:dump transaction with truncate_onlydump database … to …dump transaction。
2.当装载数据库和事务日志时,为防止其他用户对数据库的操作,须把数据库设置为 dbo use only。
进行装载时的顺序为:dump transaction with no_trunc ateload database database_name from ...load transac tion database_name from ...。
online database也可以用until指定恢复到某个时间使用阈值管理可以使用阈值管理,在阈值管理中安排当超过某个阈值时自动转储事务日志。
当超过阀值以后,SQL Serve中断或挂起试图写这个日志的用户事务。
对每一个挂起的事务向errorlog 发一条消息;然后执行sp_thresholdac tionsp_thresholdac tion用户自己编写create proc edure sp_thresholdac tion@dbname varc har(30),@segmentname v arc har(30),asdump transaction @dbname to "DEVICE"print "LOG DUMP: %1! for %2! dumped", @segmentname, @dbname其中参数:@dbname 为达到阀值的数据库名;@segmentname 为达到阀值的段名;用户数据库损坏的处理如果数据库处于suspect状态,无法用drop database 删除时:dbcc dbrepair (db_name, dropdb)create database db_name on dev_name for loadload database db_name from dump_dev icemaster库损坏的处理使用 buildmaster -m 重建一个新的 master 数据库;buildmaster 建立 master 设备并在这个设备上建立 master, model, tempdb 库。
sybase常用命令
70年代,随着大型共享数据库应用的普及,美国SYBASE公司基于当时的关系代数理论所提出的数据库关系模型,开发了Sybase数据库系统;Sybase是基于SQL(Structured Query Language)的著名关系模型数据库系统,是世界上最流行的DBMS软件之一;它能在多种计算机硬件平台上运行,并能通过连网形成分布式数据库环境;SQL Server是指运行在主机上,能提供SQL语言查询、修改或控制数据库中内容等操作的一个服务进程,形象地把它理解为一个数据库服务器;一般地数据库服务器有Data Server 和 Backup Server两个服务进程组成。
数据库就是一系列表格(关系)所描述的客观世界中事实的集合;Sybase中的系统数据库基本包括有:master、model、sysprocs、 tempdb,其它为用户库。
Sybase Adaptive Server Enterprise 12.5是Sybase公司开发的智能型数据库。
现场Sybase数据库系统结构1.1 参考资料《SYBASE 数据库维护快速参考手册 Version 1.1》,SYBASE公司出版2 基础操作、配置和维护2.1 安装Sybase 12.5包括安装前环境配置、安装过程说明、安装成功测试、卸载等。
(详细请参考V1.00》)2.2 访问SQL Server在安装配置好的Sybase服务器,可以通过以下操作开始访问SQL Server进行数据的查询和控制等操作:? % isql –U用户名–S服务名password: //该处输入该明户的密码2.3 Sybase的启动和关闭2.3.1 启动Sybase数据库在$SYBASE/ASE-12_5/install目录下执行startserver命令启动Sybase数据库,如:%$SYBASE/ASE-12_5/install/startserver -f RUN_服务名%$SYBASE/ASE-12_5/install/Startserver –f RUN_服务名_BAKUP2.3.2 关闭Sybase数据库使用isql命令登录Sybase数据库系统,在查询sysservers表查看可关闭的服务,如isql –Usa -SjoliPassword:1> select * from sysservers一般需要关闭的服务有:系统备份服务、系统主服务在isql提示里先关闭系统备份服务(默认为SYB_BACKUP),再关闭主服务(默认可以不输入主服务名),如:1>shutdown SYB_BACKUP2>go1>shutdown2>go2.4 Sybase用户管理2.4.1 创建登录用户(login)sp_addlogin login_name,passwd[,defaultdb[,deflanguage[,fullname]]] 例子:1> sp_addlogin joli,joli,joli_db2> go2.4.2 删除登录用户(login)例子:1> sp_droplogin test2> go2.4.3 创建数据库用户(user)sp_adduser login_name[,name_in_db[,grpname]]例子:1> sp_adduser joli,joli2> go2.4.4 删除数据库用户(user)例子:1> sp_dropuser test2> go2.4.5 修改该用户为该数据库dbo例子:1>use joli_db3> sp_changedbowner joli2.4.6 查看数据库用户信息sp_displaylogin [login_name]sp_helpuser例子:1> sp_helpuser2> go1> sp_displaylog joli2> go1> sp_who2.4.7 修改用户口令如果是修改sa口令,可用sa用户登录,然后执行以下命令修改1>sp_password “旧命令| null”,”new_password”2>go如果不是sa用户,则使用希望修改口令的user登录数据库,然后执行1> sp_password 旧命令,新命令2> go2.4.8 修改系统缺省设备? 关闭创建数据库master缺省设备:? 1>exec sp_diskdefault "master","defaultoff"? 指定user_db_dev为缺省设备:? 1>exec sp_diskdefault "user_db_dev","defaulton"2.5 创建、删除、修改Sybase设备、数据库2.5.1 创建设备例子:1> disk init2> name="joli_dev",3> physname="/opt/sybase/joli/joli_dev.dat",4> vdevno=9,5> size=512006> go说明:物理设备名称为:joli_dev物理设备文件路径为:/opt/Sybase/joli/joli_dev.dat设备编号(该号不能重复)为:9大小(单位为2K)为:100M(一般为用户数据库创建一个数字设备后,再单独为用户数据库创建一个日志设备)2.5.2 镜像设备例子:1> disk mirror2> name="joli_dev",3> mirror="/opt/sybase/joli/joli_dev_mirror.dat"4> go说明:创建设备joli_dev的镜像,镜像后的镜像设备为/opt/sybase/joli/joli_dev_mirror.dat。
SYBASE数据库日志详解-电脑资料
SYBASE数据库日志详解-电脑资料SYBASE公司是世界著名的数据库厂家,其关系数据库产品SYBASE SQL Server在中国大中型企事业单位中拥有大量的用户,。
笔者在多年的使用过程中,总结出SYBASE数据库管理和维护的一些经验,现拿出来与大家分享。
我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。
事务是SQL Server的工作单元。
一个事务包含一条或多条作为整体执行的T-SQL语句。
每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。
事务日志自动记录每个用户发出的每个事务。
日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。
一、SYBASE SQL Server如何记录和读取日志信息SYBASE SQL Server是先记Log的机制。
每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。
一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。
该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。
若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。
这样就保证了整个数据库系统的一致性和完整性。
二、日志设备Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。
一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。
这样做有如下好处:一是可以单独地备份Backup事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。
所建Log设备的大小,没有十分精确的方法来确定。
一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。
Log的大小还取决于数据库修改的频繁程度。
如果数据库修改频繁,则Log 的增长十分迅速。
数据库日志 总结
数据库日志总结
数据库日志是对数据库运行过程中的一系列操作进行记录和存储的文件,主要用于故障排查、数据恢复以及审计等。
以下是数据库日志的一些常见总结:
1. 操作记录:记录了数据库中进行的所有操作,包括增删改查等操作。
通过这些记录可以查看数据库的历史操作情况,及时发现和防止恶意操作或误操作。
2. 错误日志:记录了数据库运行过程中发生的错误和异常信息,如连接错误、查询错误等。
通过分析错误日志,可以及时发现和解决数据库问题,保证数据库的稳定运行。
3. 审计日志:记录了数据库中发生的所有审计事件,如登录记录、权限变更等。
通过审计日志可以了解数据库的安全状况,及时发现和防止安全漏洞。
4. 性能监控:记录了数据库的性能指标,如CPU使用率、内存使用率、磁
盘IO等。
通过分析性能监控日志,可以及时发现和解决性能问题,提高数
据库的性能和响应速度。
5. 备份日志:记录了数据库备份的相关信息,如备份时间、备份类型、备份大小等。
通过备份日志可以了解数据库的备份情况,及时发现和解决备份问题。
6. 事务日志:记录了数据库中发生的所有事务信息,包括事务的开始、提交和回滚等操作。
通过事务日志可以了解数据库的事务处理情况,保证数据的完整性和一致性。
总之,数据库日志是数据库管理的重要工具之一,通过对日志的分析和总结,可以及时发现和解决数据库问题,保证数据库的稳定、安全和高效运行。
sybase数据库简单操作命令和部分sql命令
sybase数据库简单操作命令和部分sql命令1、备份数据库dump database database_name to dump_device说明:database_name是要卸出的数据库名称,dump_device是卸出设备的名称。
用系统过程sp_helpdevice可以获得设备的信息。
2、备份事务日志dump transaction database_name[to dump_device][withtruncate_only|with no_log|with no_truncate]说明:其中database_name是要备份事务的数据库名称,dump_device是备份设备名称,仅当包含了with truncate_only或with no_log子句时,才可以备份到设备。
如果总是用dump datebase(备份数据库及其日志,而不用dump tran,事务日志将不会刷新,而变得非常庞大。
对于master数据库和小型数据库每次运行dump datebase之后应当运行dump transaction。
二、万一系统失败时恢复数据库系统如果用户数据库存储的设备失效,从而数据库被破坏或不可存取,通过装入最新的数据库备份以及后来的事务日志备份可以恢复数据库。
假设当前的事务日志存在于一个并没有毁坏的设备上,带着withno_truncatedump transaction命令卸出它。
要恢复数据库按如下步骤去做1、如果日志存在于一个分离的设备上,用带着no_truncatedump transaction命令卸出被毁坏的或者不可存取的用户数据库事务日志。
2、用下面的查询检查设备分配已毁坏数据库的设备使用情况。
必须为同一目的赋同样的空间块。
下面的查询显示了分配给数据库mydb设备使用和尺寸情况select segmap,size from sysusages where dbid=(select dbid from sysdatabases where name="mydb")3、检查查询的输出。
sybase日志清除
sybase中如何清除日志文件(2009-02-16 14:09:25)dump transaction master with no_loggodump transaction model with no_loggodump transaction sybsystemdb with no_loggodump transaction sybsystemprocs with no_loggodump transaction tempdb with no_loggo我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。
事务是SQL Server的工作单元。
一个事务包含一条或多条作为整体执行的T-SQL语句。
每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。
事务日志自动记录每个用户发出的每个事务。
日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。
一、SYBASE SQL Server 如何记录和读取日志信息SYBASE SQL Server是先记Log的机制。
每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。
一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。
该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。
若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。
这样就保证了整个数据库系统的一致性和完整性。
二、日志设备Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。
一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。
这样做有如下好处:一是可以单独地备份 Backup事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。
【优质】sybase事务日志-word范文模板 (24页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==sybase事务日志篇一:详解Sybase数据库ASE事务日志的管理技巧详解Sybase数据库ASE事务日志的管理技巧SYBASE ASE事务日志SYBASE ASE的每一个数据库,无论是系统数据库(master,model,sybsystemprocs, tempdb),还是用户数据库,都有自己的transactionlog,每个库都有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)值计算出的。
sybase数据库管理
5.备份
数据库备份用来周期性地备份系统使用的数据库,以便在出现系统故障或意外事故时,能顺利地将系统恢复到备份时的状态。
dump database <数据库>; to "<设备名>;" capacity=<设备容量>;, dumpvolume=<卷标>; with init
dump transaction mib with no_log
7.1、数据库事务日志(transaction log)
是数据库运行过程产生的,所有对数据库的写操作,都会在数据库事务日志里做记录。这样就可以保证数据的完整性,也是数据库备份和恢复的基础。该日志的内容对用户不可见,但其容量回随着系统的运行逐步增加,当其容量接近满时,就会阻塞系统的运行。
网管系统设置了对数据库事务日志的自动清除,当数据库事务日志的容量接近满时,就自动清除。
数据库的物理设备选用没有缓冲的字符设备好。这样能减少数据库损坏的可能。
9.3 查看数据库服务器上的数据库、逻辑设备、设备使用情况分别需要查询什么系统表?并写出其中一个查询命令。
分别查询sysdatabases, sysdebices, sysusages系统表。如:
select * from sysdatases
如果还不行,可用:
dump transaction [数据库名] with no_log
Q: 数据库不能正常启动,报告共享内存不够
A: 删除$SYBASE下的*.krg, *.srg0文件
9.习题
9.1 数据库服务器上的master、sybsystemprocs和mib数据库分别起什么作用?
2.常用命令 6
Sybase数据库操作介绍4
if (select max(id) from sysobjects) < 50 print "There are no user-created objects in this database." else select name, type, id from sysobjects where id > 50 and type = "U"
declare @tcount int, @pcount int select @tcount = (select count(*) from titles), @pcount = (select count(*) from publishers) select @tcount, @pcount
在 while 循环的计数器中使用局部变量
2011-3-3
2
13. 用变量编程
Transact-SQL 允许交互地或在操作系统文件中将一 系列语句组合为批处理。 系列语句组合为批处理。也可以使用 Transact-SQL 控制流语言通过编程结构来连接语句。 控制流语言通过编程结构来连接语句。
变量是一个被赋值的实体。 变量是一个被赋值的实体。在使用此变量的批处理或存储过程 的执行期间,此值可以变化。 的执行期间,此值可以变化。Adaptive Server 有两种类型的 变量:局部的和全局的。局部变量是用户定义的, 变量:局部的和全局的。局部变量是用户定义的,而全局变量 是由系统提供并预定义的。 是由系统提供并预定义的。
【最新推荐】sybase日志分析-实用word文档 (17页)
本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==sybase日志分析篇一:sybase数据库启动日志分析$ more errorlog.log首先确定版权问题00:00000:00000:201X/05/2111:29:30.60kernelUselicensefile 内核使用权属文件/export/home/sybase/SYSAM-1_0/licenses/license.dat. 00:00000:00000:201X/05/21 11:29:30.60 kernel Checked out license ASE_SERVER00:00000:00000:201X/05/21 11:29:30.60 kernel Adaptive Server Enterprise Edition00:00000:00000:201X/05/21 11:29:30.61 kernel Using config area from primary master device. 00:00000:00000:201X/05/21 11:29:33.43 kernel Using 1024 file descriptors.显示sybase版本及solaris系统版本00:00000:00000:201X/05/21 11:29:33.44 kernel Adaptive Server Enterprise/12.5.3/EBF 13325 ESD#7/P/Sun_svr4/OS 5.8/ase1253/1951/64-bit/FBO/Fri Mar 24 11:00:22 201X显示sybase具体版权声明00:00000:00000:201X/05/21 11:29:33.44 kernel Confidential property of Sybase, Inc. 00:00000:00000:201X/05/21 11:29:33.44 kernel Copyright 1987, 201X00:00000:00000:201X/05/21 11:29:33.44 kernel Sybase, Inc. All rights reserved.00:00000:00000:201X/05/21 11:29:33.44 kernel Unpublished rights reserved under U.S. copyright laws.提示config文件调用及日志文件情况00:00000:00000:201X/05/21 11:29:33.44 kernel'/export/home/sybase/ASE-12_5/dbserver.cfg' for configuration information. Using00:00000:00000:201X/05/21 11:29:33.44 kernel Logging ASE messages in file '/export/home/sybase/ASE-12_5/install/errorlog.log'.提示启动参数00:00000:00000:201X/05/21 11:29:33.46 kernel Platform TCP network is forced to IPv4-only. 00:00000:00000:201X/05/21 11:29:33.46 kernel SQL Server booted with TCP_NODELAY enabled.00:00000:00000:201X/05/21 11:29:33.46 kernel SSL Plus v3.1.14security modules loaded successfully.00:00000:00000:201X/05/21 11:29:33.46 kernel Network and device connection limit is 1014. 00:00000:00000:201X/05/21 11:29:34.02 server Number of blocks left for proc headers: 199904.00:00000:00000:201X/05/21 11:29:34.12 server Proc header memory allocated 49976 pages for each per engine cache00:00000:00000:201X/05/21 11:29:34.12 server Local cache partition number has been auto tuned to 1 for default data cache cache.00:00000:00000:201X/05/21 11:29:34.58 server Size of the 2K memory pool: 1048576 Kb00:00000:00000:201X/05/21 11:29:34.58 server Memory allocated for the default data cache cachelet 1: 1048576 Kb00:00000:00000:201X/05/21 11:29:34.69 server Size of the 8K memory pool: 262144 Kb 00:00000:00000:201X/05/21 11:29:34.80 server Size of the 2K memory pool: 262144 Kb00:00000:00000:201X/05/21 11:29:34.80 server Memory allocated for the tempdb_cache cachelet 1: 524288 Kb00:00000:00000:201X/05/21 11:29:34.80 kernel Enabling Sun Kernel asynchronous disk I/O提示master虚拟设备启动情况00:00000:00000:201X/05/21 11:29:34.80 kernel Initializing virtual device 0, '/export/home/fy201X/data/master.dat' with dsync 'on'.00:00000:00000:201X/05/21 11:29:34.80 kernel Virtual device 0 started using asynchronous i/o.00:00000:00000:201X/05/21 11:29:34.80 kernel Worker Thread Manager is not enabled for use in SQL Server.00:00000:00000:201X/05/21 11:29:34.80 kernel Either the config parameter 'use security services' is set to 0, or ASE does not support use of external security mechanisms on this platform. The Security Control Layer will not be initialized. No external security mechanisms will be supported.00:00000:00000:201X/05/21 11:29:34.84 kernel Unix interval timer enabled for sysclk interrupts.00:00000:00000:201X/05/21 11:29:34.85 kernel engine 0, os pid 2076 online00:00000:00000:201X/05/21 11:29:34.85 server No active traceflags00:00000:00001:201X/05/21 11:29:34.85 kernel libomni1 - Component Integration Services loaded; version 'libomni1 - ComponentIntegration Services/12.5.3/EBF 13325 ESD#7/P/Sun_svr4/OS5.8/ase1253/1951/64-bit/FBO/Fri Mar 24 11:00:22 201X'.00:00000:00001:201X/05/21 11:29:34.85 kernel libomni1 - Component Integration Services: using 'Sybase Client-Library/12.5.1/P-EBF12809 ESD #10/DRV.12.5.1.4/SPARC/Solaris 2.8/BUILD1251-043/64bit/OPT/Wed Aug 10 21:33:03 201X'00:00000:00001:201X/05/21 11:29:34.85 server Opening MasterDatabase ...00:00000:00001:201X/05/21 11:29:34.87 server Loading SQL Server's default sort order and character set00:00000:00001:201X/05/21 11:29:34.87 server Loaded default Unilib conversion handle. 00:00000:00001:201X/05/21 11:29:34.91 server Recovering database 'master'.00:00000:00001:201X/05/21 11:29:34.91 server Started estimating recovery log boundaries for database 'master'.00:00000:00001:201X/05/21 11:29:34.91 server Database 'master', checkpoint=(4268, 24), first=(4268, 24), last=(4268, 24).00:00000:00001:201X/05/21 11:29:34.91 server Completed estimating recovery log boundaries for database 'master'.00:00000:00001:201X/05/21 11:29:34.91 server Started ANALYSIS passfor database 'master'. 00:00000:00001:201X/05/21 11:29:34.91 server Completed ANALYSIS pass for database 'master'.00:00000:00001:201X/05/21 11:29:34.91 server Started REDO pass for database 'master'. The total number of log records to process is1.00:00000:00001:201X/05/21 11:29:34.91 server Completed REDO pass for database 'master'. 00:00000:00001:201X/05/21 11:29:34.91 server Recovery of database 'master' will undo incomplete nested top actions.00:00000:00001:201X/05/21 11:29:34.91 server Started recovery checkpoint for database00:00000:00001:201X/05/21 11:29:34.95 server Completed recovery checkpoint for database 'master'.00:00000:00001:201X/05/21 11:29:34.98 server Started filling free space info for database 'master'.00:00000:00001:201X/05/21 11:29:35.05 server Completed filling free space info for database 'master'.00:00000:00001:201X/05/21 11:29:35.07 server Started cleaning up the default data cache for database 'master'.00:00000:00001:201X/05/21 11:29:35.25 server Completed cleaning upthe default data cache for database 'master'.00:00000:00001:201X/05/21 11:29:35.26 server Checking external objects.。
SYBASE数据库常见的问题总结
SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结1. SYSLOGS日志满了进不了系统,如何清除日志启动系统2. 数据库日志损坏时重建日志启动数据库的解决办法3. 数据库处于可疑状态的解决方法4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?5.不小心直接删除了日志的设备文件,如何恢复数据库?6.sa密码忘记了导致isql -Usa -P******进不去怎么办?7.关于sybase的配置-(数据库慢的请留意)8.设备路径更改的方法9. dump文件load后数据库访问不了解决办法10.sybase数据库备份方案11.master数据库状态被置为-32768后的处理方法1. SYSLOGS日志满了进不了系统,如何清除日志启动系统业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决:第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。
系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。
1>sp_configure "allow update",12>go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。
电子商务平台中sybase数据库日志满情况的案例分析
在 m a s t e r 数据库 中,系统表 s y s l o g s h o l d为每个数据库记录
了最早活动事务 ( 如果存在 的话 ) 以及复制服务的截断点 ( 如果
存在 的话 ) ,也就是说在该表 中,每个数据库可能存在 0 、1或 2 条记 录。 可以通过查 询 s y s l o g s h o l d表获取最早活动事务的情况。 , 如果其 中 s t a r t t i m e( 最早 的事务开始时间 )距离当前时间很长 , 比如一月 ,则该事务应该是一个不完整的事务 ,可以将该事务对 应 的数据库进程 k i l l 。建议每周检查一次 。
1 ) 定期检查最早活动事务
i 当 设置为 t r u n c l o g o n c h k p t 时 ,每一次 c h e c k p o i n t ,A S E就 会截 断事务 日志。截断 日志 的时 间,是 指截 断到系统 的 “ 最早活 动事务 ”的开始时间 。 最早活动事务 ( t h e o l d e s t a c t i v e t r a n s a c t i o n ) 是指 一个数 据库中的最早未完成 ( 未提交 或未 回滚 )的事务。 i i . 检查点 ( c h e c k p o i n t ) 会将所有脏页 ( 自上一检查点之后 已 经在 内存 中修 改 ,但未在磁盘上修改的页 )写至数 据库设备 中。 Ad a p t i v e S e r v e r的 自动检查点机制确保定期将那些被 已完成的事 Байду номын сангаас所 更改的数 据页从内存高速缓存写入数据库设备。同步数据库 及其事务 F t 志会缩 短在系统出现故障后恢 复数 据库所需 的时间。
详解Sybase数据库ASE事务日志的管理技巧
详解Sybase数据库ASE事务日志的管理技巧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 的频率。
Sybase master库日志管理数据库 电脑资料
Sybase master库日志管理数据库电脑资料Sybase master 库日志满了应该如何去除呢?可以通过以下的方法对master库进行,如果确实没有足够的空间了,可以考虑对 master 库进行扩容操作,Sybase master 库日志满了应该如何去除呢?可以通过以下的方法对master库进行管理,如果确实没有足够的空间了,可以考虑对master库进行扩容操作。
1、简单的情况下 dump trans with nolog 就可以了,master库一般不会满。
1> use master2> go1> checkpoint2> go1> dump tran master with nolog2> go00:00000:00011:xx/02/22 14:53:38.06 server WARNING:***************************00:00000:00011:xx/02/22 14:53:38.06 server Attempt by user 1 to dump xact ondb master with NOLOG00:00000:00011:xx/02/22 14:53:38.06 server Attempt by user 1 to dump xact on00:00000:00011:xx/02/22 14:53:38.06 server WARNING:***************************如果是Unix平台,那么找到RUNyourservername文件上面的启动文件,在行尾加上 -T3067dump tran master with truncateonlyugo1)备份master数据库dump database master to '备份路径及文件名'2)停止sybase效劳shutdown4)使用启动文件启动效劳后,再dump tran master with truncateonly5)这时dump清理日志一般多会成功。
最新sybase数据库经验总结
Sybase数据库维护经验总结1、在sybase中如何重新设置用户的口令为空:使用sa登录Server:isql -Usa -Psa_password -Sserver_name记录当前版本号(以当前版本号12000为例):sp_configure "upgrade version"go修改当前值为492:sp_configure "upgrade version",492go将某用户口令设置为NULL(以sa为例,当前口令为"123456"):sp_password '123456',NULL,sago重新设置当前版本号:sp_configure "upgrade version",12000go2、如何启动和关闭server的服务:一:启动ASE ServerUNIX:以sybase用户登录11.x 版本: cd $SYBASE/install12.x 版本: cd $SYBASE_ASE/installstartserver -f RUN_SYBASE (启动SQL SERVER)startserver -f RUN_SYBASE_back (启动BACK SERVER)startserver -f RUN_SYBASE_mon (启动MONITOR SERVER)NT:通过 Sybase Central通过 Control PanalControl Panal/Service/Sybase SQLServer -> Start (启动SQL SERVER) Control Panal/Service/Sybase BCKServer -> Start (启动BACK SERVER) Control Panal/Service/Sybase MONServer -> Start (启动MONITOR SERVER) 二:关闭ASE ServerUNIX:以sybase用户登录isql -Usa -Pshutdown SYB_BACKUPgoshutdowngoisql -Usa -P -SSYBASE_monsms_shutdowngoNT:通过 Sybase Central通过 Control PanalControl Panal/Service/Sybase SQLServer -> Stop (启动SQL SERVER)Control Panal/Service/Sybase BCKServer -> Stop (启动BACK SERVER)Control Panal/Service/Sybase MONServer -> Stop (启动MONITOR SERVER)3、如何查找数据库启动的失败原因:在实际环境中,数据库Server无法启动的原因很多,下面仅列出了几种常见的情况,供您参考。
Sybase数据库日志的管理
Sybase数据库日志的管理
吉增艳
【期刊名称】《电信技术》
【年(卷),期】2003(000)004
【摘要】@@ Sybase的每一个数据库,无论是系统数据库(如master、model、sybsystemprocs和tempdb等)还是用户数据库,都有自己的事务日志和相应的系统表(syslogs).日志记录用户修改数据库时的操作,如果不用命令清除,log会一直增长直至占满整个表空间.下面笔者结合工作经验谈谈对"九七"系统中Sybase数据库日志的管理.
【总页数】3页(P59-61)
【作者】吉增艳
【作者单位】江苏电信公司扬州分公司,225009
【正文语种】中文
【中图分类】TP311
【相关文献】
1.Sybase数据库的日志管理 [J], 胡雪梅
2.Sybase数据库日志满导致停机的恢复 [J], 胡文
3.Sybase数据库安全性管理,完整性管理及并发控制 [J], 马亨冰;林琦
4.浅议SYBASE数据库与日志库相关问题 [J], 姚昱明
5.在Sybase System损坏的数据库中重建日志 [J], 李文生
因版权原因,仅展示原文概要,查看原文内容请购买。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SYBASE数据库日志详解
开发者在线 更新时间:2007-09-13作者: 来
源:
本文关键词:Sybase数据库日志
我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。
事务是SQL Server 的工作单元。
一个事务包含一条或多条作为整体执行的 T-SQL语句。
每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。
事务日志自动记录每个用户发出的每个事务。
日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。
一、SYBASE SQL Server 如何记录和读取日志信息
SYBASE SQL Server是先记Log的机制。
每当用户执行将修改数据库的语句时,SQL Server就会自动地把变化写入日志。
一条语句所产生的所有变化都被记录到日志后,它们就被写到数据页在缓冲区的拷贝里。
该数据页保存在缓冲区中,直到别的数据页需要该内存时,该数据页才被写到磁盘上。
若事务中的某条语句没能完成,SQL Server将回滚事务产生的所有变化。
这样就保证了整个数据库系统的一致性和完整性。
二、日志设备
Log和数据库的Data一样,需要存放在数据库设备上,可以将Log和Data存放在同一设备上,也可以分开存放。
一般来说,应该将一个数据库的Data和Log存放在不同的数据库设备上。
这样做有如下好处:一是可以单独地备份 Backup 事务日志;二是防止数据库溢满;三是可以看到Log的空间使用情况。
所建Log设备的大小,没有十分精确的方法来确定。
一般来说,对于新建的数据库,Log的大小应为数据库大小的30%左右。
Log的大小还取决于数据库修改的频繁程度。
如果数据库修改频繁,则Log 的增长十分迅速。
所以说Log 空间大小依赖于用户是如何使用数据库的。
此外,还有其它因素影响Log大小,我们应该根据实际操作情况估计Log大小,并间隔一段时间就对Log进行备份和清除。
三、日志的清除
随着数据库的使用,数据库的Log是不断增长的,必须在它占满空间之前将它们清除掉。
清除Log
有两种方法:
1.自动清除法
开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。
此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log
而不做备份。
2.手动清除法
执行命令“dump transaction”来清除Log。
以下两条命令都可以清除日志:
通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。
SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。
为了尽量确保数据库的一致性,你应将它作为“最后一招”。
以上两种方法只是清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_n ame to dumpdevice”命令。
四、管理庞大的事务
有些操作会大批量地修改数据,如大量数据的修改(Update)、删除一个表的所有数据(Delete)、大量数据的插入(Insert),这样会使Log增长速度很快,有溢满的危险。
下面笔者给大家介绍一下如何拆分大事务,以避免日志的溢满。
例如执行“update tab_a set col_a=0”命令时,若表tab_a很大,则此Update动作在未完成之前就可能使Log溢满,引起1105错误(Log Full),而且执行这种大的事务所产生的独占锁(Exclusive Table Lock),会阻止其他用户在执行Update操作期间修改这个表,这就有可能引起死锁。
为避免这些情况发生,我们可以把这个大的事务分成几个小的事务,并执行“dump transaction”动作。
上例中的情况就可以分成两个或多个小的事务:
这样,一个大的事务就被分成两个较小的事务。
按照上述方法可以根据需要任意拆分大的事务。
若这个事务需要备份到介质上,则不用“with
truncate_only”选项。
若执行“dump transaction with truncate_only”命令,应该先执行“dump database”。
以此类推,我们可以对表删除、表插入等大事务做相应的拆分。
查看本文来源。