sybase备份方法.doc
上传人:sy****28 上传时间:2024-09-13 格式:DOC 页数:4 大小:25KB 金币:14 举报 版权申诉
预览加载中,请您耐心等待几秒...

sybase备份方法.doc

sybase备份方法.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

14 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在实际应用中,我们总结出了两种全量备份方案:一、使用sybase的backupserver(备份服务器),做dump备份转储数据库(dumpdatabase),就是为整个数据库(包括数据、表结构、触发器、游标、存储过程、事务日志等)做一次物理备份。转储数据库时,系统自动执行一次checkpoint,即将日志和数据从缓冲区拷贝到硬盘(只拷贝脏页),把已被分配的页(日志和数据)转储到设备。命令格式为:dumpdatabase数据库名to设备文件名with参数如果备份到硬盘的文件上,可以不预先估算备份文件的大小,只要硬盘有足够的存储空间就可以。如果是备份到dds磁带上,那么就要估算一下备份后的大小,90米的dds磁带压缩存储空间为4g,120米的磁带压缩存储空间为8g,如果数据库的备份文件超过了这个尺寸,就要考虑多文件转储,使用stripe参数。命令格式为:dumpdatabase数据库名to设备文件名1stripeon设备文件名2stripeon设备文件名3……with参数这种数据备份方式是将整个数据库的运行环境完整的复制一份,包括数据库的脏页和碎片,在使用load命令恢复时,只能恢复到同样大小的数据库中(数据和日志的大小都只能和原来完全一致),适用于在每天的日终营业网点下班后的日常备份。优点是数据库完整无误,缺点是不能直接查看备份内容。二、分数据结构和数据记录做两次备份在一般情况下,生产机的数据库都比较庞大,而实验机则相对较小,难以在实验环境中以load命令恢复工作机的内容。所以,在工作实践中,我们摸索出了第二种全量备份方案。1、数据结构备份在windows平台的sybasesqlservermanager(数据库管理)平台中选择serveràgenerateddl则产生整个数据库服务器的所有信息,如果选择databaseàgenerateddl则产生所选定数据库的信息,master库为例,以产生的文件主要包括:config.ddl(配置)、devices.ddl(设备)、database.ddl(数据库)、logins.ddl(用户)、remote.ddl(远程)、cache.ddl(缓冲)、segment.ddl()、group.ddl(用户组)、user.ddl(用户)、default.ddl(确省)、rule.ddl(规则)、udt.ddl、table.ddl(表)、view.ddl(视图)、proc.ddl(存储过程)、triger.ddl(触发器)。2、数据记录备份将数据库各表以sybase自代的bcp(bulkcopy)工具的方式导成一定格式的文本文件,命令格式:bcp表名out路径名文件名-c-t分隔符-u(用户名)-p(密码)-s(服务器名)如果将一个数据库中的所有表都做一个bcp备份,就需要针对每一个表都做一次bcp,在一般情况下,一个数据库有100多个表,工作量比较大。可以利用数据库中的系统表信息做一个bcp备份脚本。原理是每一个用户表在系统表中都有信息记载,可以通过isql语句查询得到。现举一例说明:1)、先编辑一个名为mkbcpout.sql的文件,内容如下:select"echobcp''"+name+"out……………………''"+"bcp"+name+"out./+"name+".table-c-t''|''-uuser-ppassword-sserver"fromsysobjectswheretype=''u''go2)、执行isql命令,以此文件作为输入,执行结果输出到另外一个文件里:isql-uuser-ppassword-sserver-imkbcpout.sql-obcpout3)、对bcppout文件稍微修改,增加可执行权限chmod+xbcpout4)、执行bcpout,导出数据文本./bcpout3、数据库恢复业务生产机可能为小型机,而实验开发环境的硬件环境为pcserver,安装好winnt或scounix下的sybase服务器后,根据需要创建空间足够大的数据库和tempdb(系统临时数据库),创建数据库用户,并将其更改为此数据库的所有者,要注意两点:1)此数据库允许bcp拷贝,2)此数据库自动清除log。命令格式为:1>sp_dboptiondatabasedbname,"selectinto/bulkcopy",true2>go1>sp_dboptiondatabasename,"trunclogonchkpt",tr