SYBASE全库备份方案

1.1         方案简介
方案通过WINDOWS2003系统中的计划任务结合SYBASE远程网络备份实现数据库的自动全库备份。自动批处理的命令是通过SYBASE的全库备份备份命令,将SYBASE数据库的电量数据备份到在网络上的另外一台WINDOWS备份服务器上。时间的备份策略可以通过WINDOWS的计划任务随时更改。
1.2         具体原理
使用Sybase的Backup Server(备份服务器),做Dump备份
转储数据库(Dump database),就是为整个数据库(包括数据、表结构、触发器、游标、存储过程、事务日志等)做一次物理备份。转储数据库时,系统自动执行一次checkpoint,即将日志和数据从缓冲区拷贝到硬盘(只拷贝脏页),把已被分配的页(日志和数据)转储到设备。
命令格式为:
dump database 数据库名 to 设备文件名 with 参数
如果备份到硬盘的文件上,可以不预先估算备份文件的大小,只要硬盘有足够的存储空间就可以。由于SYBASE数据库的备份文件非常大,就要考虑多文件转储,使用stripe参数。
命令格式为:
dump database 数据库名 to 设备文件名1 stripe on 设备文件名2  stripe on 设备文件名3……  with 参数
这种数据备份方式是将整个数据库的运行环境完整的复制一份,包括数据库的脏页和碎片,在使用load命令恢复时,只能恢复到同样大小的数据库中(数据和日志的大小都只能和原来完全一致),适用于日常备份。优点是数据库完整无误,缺点是不能直接查看备份内容。
1.3         现场具体实施的两个步骤
安装备份服务器
需要安装了一台备份服务器,硬盘要足够大。安装了WINDOWS 2003的操作系统,并安装了SYBASE备份服务器。并定义了任务计划,定时执行DUMP备份语句。
2.定义备份的策略.
在WINDOWS 2003计划任务里定时将全部的电量数据备份在WINDOWS2003备份服务器上的本地磁盘上。
1.4         恢复数据
恢复数据需要有相同的环境:
步骤如下:
先增加用户数据库xx_data(需要查看已经用的设备文件和日志文件),并创建xxxx的用户。并将设备及日志增加到xx_data数据库中
在小型机器上执行以下命令
#su – sybase
$ isql -Usa –P  –Sxxxx_zjb
1>load database xx_data from "/xx/xxdata1.dat"
Backup Server session id is: 6. Use this value when executing the
'sp_volchanged' system stored procedure after fulfilling any volume change
request from the Backup Server. (显示部分)
Backup Server: 6.28.1.1: Dumpfile name 'xx_data0520112753' section number 1
mounted on disk file '/xx/xxdata1.dat'
Backup Server: 4.58.1.1: Database xxfk_data: 144278 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 274280 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 403898 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 533900 kilobytes LOADed.
Backup Server: 4.58.1.1: Database xxfk_data: 678176 kilobytes LOADed
Redo pass for database 'xxfk_data': 223288 records done (64%); 120241 records left.
Redo pass for database 'xxfk_data': 240464 records done (69%); 103065 records left.
Redo pass for database 'xxfk_data': 257640 records done (74%); 85889 records left.
Redo pass for database 'xxfk_data': 274816 records done (79%); 68713 records left.
Redo pass for database 'xxfk_data': 291992 records done (84%); 51537 records left.
Redo pass for database 'xxfk_data': 309168 records done (89%); 34361 records left.
Redo pass for database 'xxfk_data': 326344 records done (94%); 17185 records left.
Redo pass for database 'xxfk_data': 343520 records done (99%); 9 records left.
Redo pass of recovery has processed 84054 committed and 0 aborted transactions.
Completed REDO pass for database 'xxfk_data'.
Use the ONLINE DATABASE command to bring this database online; SQL Server will
not bring it online automatically.
2> quit

你可能感兴趣的:(SYBASE全库备份方案)