简单介绍Sybase数据库的备份与恢复
2008-05-16 15:10:42 来源:WEB开发网使用DUMP备份数据库
备份数据库时会备份此数据库的全部——它的系统表、用户定义的目标,以及事务日志。数据库卸出的格式是特殊的,它只能用Sybase装载程序装入(即用LOAD DATABASE 命令)。
对于master数据库或其数据与日志放在同一逻辑设备上的小型数据库(小于4M)使用DUMP DATABASE 命令备份数据库和事务日志。
对于大型数据库而言,应当把数据与事务日志放在不同的数据库设备上。(在建数据库时用CREATE DATABASE ON ……LOG ON……来实现)这样可以作到单独备份数据与日志。
除了按计划备份数据库外,在对数据库作大量修改之前或在对数据库作了不记日志的操作(如执行了DUMP TRAN WITH NO_LOG)之后,都要对数据库作备份。
命令的使用
DUMP DATABASE 的语法:
DUMP DATABASE database_name to dump_device
DUMP DATABASE database_name to dump_device1 stripe on
dump_device2 stripe on device3 ...{stripe on...}
数据库备份时会产生多个文件,做恢复时的文件个数要与之对应。
备份事务日志
当数据与日志是放在不同的设备时,可用DUMP TRANsaction
命令单独备份日志。卸出日志要比备份数据库花更少的时间和存储空间。与备份数据库相同,日志的备份同样可在数据库活动时发生。
日志在备份后将会被删除,所以在下一次数据库备份之前的日志备份需要连续保存才会有意义。
命令的使用:
DUMP TRANsaction database_name [to dump_device]
[WITH TRUNCATE_ONLY|WITH NO_LOG|WITH NO_TRUNCATE]
注意:DUMP DATABASE只备份数据库,并不清除日志,若不使用DUMP
TRAN命令删除日志,日志会越来越大。
Sybase数据库在线流式备份和恢复
⒈启动在线备份
可以执行整个数据库服务器或特定数据库的在线备份
以model 库为例:
# nsrsybsv -Uname -Ppassword -lFull -s
NetWorker_Server_Name
SYBASE:/SQL_SERVER_NAME/model
⒉采用Schedule备份
(1)Full backup: dump database, dump the transaction log
for the database, trancates the tracsaction log
(2)Incremental:dump transaction log, trancates the
tracsaction log
注意此方式要求:
数据库和事物日志建立在不同设备上;
不选择 select into/bulk copy 选项;
不选择truncate log on checkpoint 选项
⒊数据库的恢复
* 必须使用nsrsybrc 来做;
* 如果想恢复数据到新的数据库,必须先使用 for load 选项创建新库;
* nsrsybrc
不创建数据库,如果必要,应该先创建数据库再使用nsrsybrc程序。Sybase建议保留数据库定义和设备分配的硬拷贝,以便于再建。
更多精彩
赞助商链接