Database 版 (精华区)

发信人: joy ( 雨送黄昏花易落), 信区: Database
标  题: SYBASE的日常维护
发信站: 紫 丁 香 (Sun Jul 26 10:26:52 1998), 转信

    Sybase数据库备份
    目前Sybase数据库已经在不少单位使用,而其日常维护力量比较
薄弱。一般来说,应用单位的维护开发人员平日打交道的都是PowerBu
ilder、Visual C等面向对象的开发工具,而往往忽视了Sybase数据库
的存在,缺少必要的日常维护工作。笔者曾见过某单位的CIMS系统,采
用Sybase数据库、Windows NT网,以PowerBuilder为前端开发工具,该
系统已正常运行两年之久,然而Sybase库却从不做DUMP备份库,后来遇
上库损坏,就束手无策,造成生产管理上的重大损失。那么如何作数据
日志和数据库的备份呢?

    1.首先增添转储设备,在ISQL中执行
    sp—addumpdevice"disk",设备名,物理名
    如在c:\users\default\下建立一个名为yh—0404的用户数据设
备,命令为sp—addumpd isk","yh—0404","c:\users\default\yh—0
404.dat",然后就可以作数据备份。
    dump database数据库名to转储设备名
    如将用户数据库yh作备份,即dump database yh to yh—0404。
    应该说,作数据库备份是相当占空间的,而转储一个事务日志占空
间就少得多,因此,可更多地作事务日志备份。
    dump transaction数据库名to转储设备名with no—truncate
   不过需要注意的是:作事务日志备份时,事务日志与数据库必须在
不同设备上。
    2.数据库的恢复
    load database数据库名from转储设备名
    如要恢复用户数据库yh,即load database yh from yh—0404,即
可恢复1997年4月4日的用户数据库yh的数据。装载事务日志的语句为
:
    load transaction数据库名from转储设备名
    执行此命令必须在数据库用其备份重储后,此时,用户可将一个或
多个事务日志按转储的先后次序依次装载进去。

    3.如何作异服务器数据库的备份
    在同一操作系统下的两个联网服务器,只需将转储数据库的物理
文件复制到另一服务器上,要恢复时,只需将该文件复制回原服务器的
原路径上。这样就可避免服务器硬盘损坏时数据库数据无从恢复的情
况发生。

    表结构变动和大批量数据更新
    我们知道,在Sybase数据库中,表结构变动比较麻烦,字段及其长
度只允许增加不允许减少。而表结构又和数据窗口密切相关,另建立
表的时候很可能要重新设数据窗口。通常采用在原有表中增加所需字
段的方法来解决该问题,而在表结构多次变动后会产生很多无用字段,
浪费许多空间。如何消除这些"废"字段呢?首先打开表,File处Save R
ows As作.dbf(或.tt )数据即可。然后采用在PowerBuilder数据库画
笔中,Objects处Export Table/View Syntx ToLog,Save Log As复制
表结构,形成.sql文件,其后在DB administration画笔处生成结构, 
最后打开表,在Rows处import追加.dbf(或.txt)数据备份。这样就可以删去多余的字段,节省库空间。
    就Sybase数据库而言,若是在大数据库中遇上大批量数据替换会
令人伤脑筋,经过长时间的等待后,屏幕上出现日志文件已充满的信息
,当清除日志后再执行还会是同一结果。笔者采用先卸下数据生成.db
f的方法,而在FOX中,大批量数据变更是很容易的,再也用不着考虑日
志文件是否已满。然后分批将.dbf数据追回即可。

--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: 202.118.229.129]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.261毫秒