电脑技术学习

Sybase数据库:日志过大导致不能启动

dn001

 问:有个问题问一下,关于SYBASE的:我打开数据库总是提醒:cannot open transaction log file-----cannot use log file "hms2000.log" since it is shorter than experted。我直接删除了日志,也不能正常启动,说找不到文件。请问这是怎么回事啊?附上出错的日志记录:

I. 10/09 09:58:38. Sybase Adaptive Server Anywhere Network Server Version 7.0.2.1402
I. 10/09 09:58:38. This software contains confidential and trade secret information of
I. 10/09 09:58:38. Sybase, Inc. Use, duplication or disclosure of the software and
I. 10/09 09:58:38. documentation by the U.S. Government is subject to restrictions set forth
I. 10/09 09:58:38. in a license agreement between the Government and Sybase, Inc. or other
I. 10/09 09:58:38. written agreement specifying the Government's rights to use the software
I. 10/09 09:58:38. and any applicable FAR provisions, for example, FAR 52.227-19.
I. 10/09 09:58:38. 
I. 10/09 09:58:38. Copyright 1989-2000 Sybase, Inc. All rights reserved.
I. 10/09 09:58:38. All unpublished rights reserved.
I. 10/09 09:58:38. 
I. 10/09 09:58:38. Sybase, Inc. 6475 Christie Avenue, Emeryville, CA 94608, USA
I. 10/09 09:58:38. Networked Seat (per-seat) model. Access to the server is limited to 99 seat(s).
I. 10/09 09:58:38. This server is licensed to:
I. 10/09 09:58:38.  lb
I. 10/09 09:58:38.  
I. 10/09 09:58:38. 10240K of memory used for caching
I. 10/09 09:58:38. Minimum cache size: 10240K, maximum cache size: 230848K
I. 10/09 09:58:38. Using a maximum page size of 1024 bytes
I. 10/09 09:58:38. Starting database "XXXXXXX" (C:Program Filessybase数据服务器XXXXXXX.db) at Sun Oct 09 2005 09:58
I. 10/09 09:58:38. Database recovery in progress
I. 10/09 09:58:38.  Last checkpoint at Sat Oct 08 2005 19:15
I. 10/09 09:58:38.  Checkpoint log...
I. 10/09 09:59:03.  Transaction log: XXXXXXX.LOG...
E. 10/09 09:59:03. Error: Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
I. 10/09 09:59:03. Error: Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
E. 10/09 09:59:03. Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
I. 10/09 09:59:04. Database server stopped at Sun Oct 09 2005 09:59
I. 10/09 10:58:33. Sybase Adaptive Server Anywhere Network Server Version 7.0.2.1402
I. 10/09 10:58:33. This software contains confidential and trade secret information of
I. 10/09 10:58:33. Sybase, Inc. Use, duplication or disclosure of the software and
I. 10/09 10:58:33. documentation by the U.S. Government is subject to restrictions set forth
I. 10/09 10:58:33. in a license agreement between the Government and Sybase, Inc. or other
I. 10/09 10:58:33. written agreement specifying the Government's rights to use the software
I. 10/09 10:58:33. and any applicable FAR provisions, for example, FAR 52.227-19.
I. 10/09 10:58:33. 
I. 10/09 10:58:33. Copyright 1989-2000 Sybase, Inc. All rights reserved.
I. 10/09 10:58:33. All unpublished rights reserved.
I. 10/09 10:58:33. 
I. 10/09 10:58:33. Sybase, Inc. 6475 Christie Avenue, Emeryville, CA 94608, USA
I. 10/09 10:58:33. Networked Seat (per-seat) model. Access to the server is limited to 99 seat(s).
I. 10/09 10:58:33. This server is licensed to:
I. 10/09 10:58:33.  lb
I. 10/09 10:58:33.  
I. 10/09 10:58:33. 10240K of memory used for caching
I. 10/09 10:58:33. Minimum cache size: 10240K, maximum cache size: 230848K
I. 10/09 10:58:33. Using a maximum page size of 1024 bytes
I. 10/09 10:58:33. Starting database "XXXXXXX" (C:Program Filessybase数据服务器XXXXXXX.db) at Sun Oct 09 2005 10:58
I. 10/09 10:58:33. Database recovery in progress
I. 10/09 10:58:33.  Last checkpoint at Sat Oct 08 2005 19:15
I. 10/09 10:58:33.  Checkpoint log...
I. 10/09 10:58:55.  Transaction log: XXXXXXX.LOG...
E. 10/09 10:58:55. Error: Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
I. 10/09 10:58:55. Error: Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
E. 10/09 10:58:55. Cannot open transaction log file -- Can't use log file "XXXXXXX.LOG" since it is shorter than expected
I. 10/09 10:58:57. Database server stopped at Sun Oct 09 2005 10:58

  答:首先要确定的一点:直接删除日志的方法是不可取的。您的这个问题,是因为日志没有及时整理导致自身过大,使数据库不能正常启动。

   我们知道,SYBASE SQL Server用事务(Transaction)来跟踪所有数据库的变化。事务是SQL Server的工作单元。一个事务包含一条或多条作为整体执行的T-SQL语句。每个数据库都有自己的事务日志(Transaction Log),即系统表(Syslogs)。事务日志自动记录每个用户发出的每个事务。日志对于数据库的数据安全性、完整性至关重要,我们进行数据库开发和维护必须熟知日志的相关知识。