Chinaunix首页 | 论坛 | 博客
  • 博客访问: 77618
  • 博文数量: 15
  • 博客积分: 1420
  • 博客等级: 上尉
  • 技术积分: 160
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-12 18:50
文章分类

全部博文(15)

文章存档

2010年(2)

2009年(1)

2007年(12)

我的朋友

分类: Sybase

2007-07-26 14:57:27

三、备份和恢复

灾难的发生是不可预料的,作为数据库管理员,可以通过备份数据来抵御这些风险。创建备份和还原计划可能需要大量的时间和精力,但这是值得的,否则一旦灾难发生,后果真的不堪设想。因此定期备份数据库是一个重要的任务,也是一个极好的习惯。

 

备份的策略和类型:一天备份一次数据库和备份多次事务日志是个值得推荐的选择,实际上,很多系统管理员也是这样执行的。数据库备份是完全备份,而事务日志的备份是增量备份,在做一个恢复备份计划时,将完全备份和增量备份结合起来是十分必要的。

 

备份:在ASE10以前的版本,备份是由数据库服务器直接执行,这会对导致大量的系统资源争用而引起服务器处理性能下降。备份服务器是服务器上的一个单独Open server应用程序,该程序可以直接访问数据库设备,在数据库服务器运行一个备份服务器 backup server,定会带来很多额外的好处。所幸的是我们在安装 sybase ASE 12_5时已经把备份服务器默认安装好了,这里只需要启用它(.sybase用户登陆系统,执行命令 #/opt/sybase/ASE-12_5/install/startserver –r RUN_SYBASE_BACKUP启动sybase备份服务器)。

备份的过程还是有点繁复,我们还是分步骤来进行吧!

1、创建备份存储设备。为安全起见,最好把数据库备份到另外的磁盘,为此,准备一个大的,分好区后(一个分区)把它挂接到文件系统,再进行创建设备的操作。当然sybase也支持直接使用原始设备。

[sybase@root /]# mkdir –p /sybbackup

[sybase@root /]# chown  sybase.sybase /sybbackup

[sybase@root /]# mount /dev/sdc1 /sybbackup   //挂接新的硬盘分区到///sybbackup

[sybase@root /]# su sybase

[sybase@sybase sybase]$ cd /sybbackup

[sybase@sybase sybbackup]$ touch bk_mydatabase.dat

[sybase@sybase sybbackup]$ touch bk_log.dat

 

[sybase@sybase sybase]$ cd ASE-12_5/install

[sybase@sybase install]$ ./startserver      //启动sybase服务器

[sybase@sybase sybase]$ cd /OCS-12_5/bin

[sybase@sybase bin]$ ./isql –U sa –S SYBASE –P dr5623H

1>sp_addumpdevice ‘disk’,‘bk_mydatabase’,‘/sybbackup/bk_sybbackup.dat’

1>     go           //创建备份设备bk_mydatabase

1>     sp_addumpdevice  ‘disk’ , ‘bk_log’ , ‘/sybbackup/bk_log.dat’

2>     go           //日志文件的存储位置

2、备份数据库。使用dump database  命令备份数据库数据。

1>     dump database mydatabase to ‘bk_mydatabase’ with init

2>     go

3、  备份事务日志。使用命令dump transaction.

1>     dump transaction mydatabase to ‘bk_log’

2>     go

  如果有多个数据库,则需要多次执行备份数据库和备份事务日志操作。备份完成后,非常有必要对备份数据进行验证,如果不这样做将可能发生可怕的后果。笔者在此建议把备份文件多做几份拷贝,放置在不同的地理位置,就算某天失火把服务器和备份烧毁了也可起死回生。

 

数据库恢复:可能需要经常备份数据库和事务日志,但不必经常进行数据库恢复操作。只有在数据库发生意外、数据库移植、试验等情况下才需要进行恢复操作。与备份相对应,恢复也可分几步进行。需要注意的是,在数据库恢复期间,不要让用户连接数据库。

1、             创建数据库。与要恢复的数据库同名,如果是原数据库损坏,需要先把数据库删除,然后再创建同名数据库。

2、             恢复数据库。使用命令load database命令来恢复数据库。

1>     load database mydatabase from ‘bk_mydatabase

2>     go

3、             恢复事务日志。使用命令load transaction命令来恢复事务日志。

1>     load transaction mydatabase from ‘bk_log’

2>     go 

4、             联机数据库。事务日志装载完毕之后,才可以使数据库成为联机状态。

1>     online database mydatabase

2>     go

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