Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104546798
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Sybase

2008-04-10 20:04:08

  来源:IT 专家网 

数据库日常维护工作是系统管理员的重要职责。其内容主要包括以下几个部分:

  一、备份系统数据

  sybase 系统的备份与恢复机制保证了在系统失败时重新获取数据的可能性。sql server 提供了两种不同类型的恢复机制:一类是系统自动完成的恢复,这种措施在每次系统启动时都自动进行,保证了在系统瘫痪前完成的事务都写到数据库设备上,而未完成的事务都被回退;另一类是人工完成的恢复,这是通过 dump 和 load 命令来执行人工备份和恢复工作。因此定期备份事务日志和数据库是一项十分重要的日常维护工作。

  1、备份数据库

  每一个数据库都应在创建之后卸出,从而提供一个装入基点。在此之后按排定的时间周期表卸出。比如每周五卸出数据库。对一般数据库系统卸出数据库周期建议为每周一次。

  除了按计划周期卸出数据库之外,还需在每次运行没有日志的操作后卸出数据库。例如:

  ·每次强制地运行了 dump tran with no_log (因为数据库的磁盘空溢出);

  ·每次用 sp_dboption 允许 select into/bulkcopy 做快速拷贝,或用 select into 命令创建一个永久性的表,或使用了 writetext 命令。

  卸出数据库的命令为:

  dump database database_name

  to dump_device

  database_name 是要卸出的数据库名称,dump_device 是卸出设备的名称。用系统过程 sp_helpdevice 可以获得设备的信息。

  下面一条命令用来卸出数据库 my_db :

  dump database my_db

  to db_bk_dev

  2、备份事务日志

  如果事务日志与数据库放在同一个设备上,则事务日志不应与数据库分开备份。master 数据库和小于 4m 的用户数据库就是这种情况。一般数据库系统的数据库和日志分别放在不同的设备上,因此,可以用 dump tran 命令单独备份日志。

  备份事务日志的周期直接影响数据的恢复程度,因此建议每天备份。

  备份事务日志的命令格式为:

  dump transaction database_name

  [to dump_device]

  [with truncate_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 命令刷新日志 。

  下面一条命令备份数据库 db160 的事务日志到备份设备上:

  dump transaction db160

  to db_log_bk_dev

  with truncate_only

阅读(514) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~