转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 数据库 >> SyBase >> 正文
Adaptive Server Anywhere 7.0网上培训教材         ★★★★

Adaptive Server Anywhere 7.0网上培训教材

作者:闵涛 文章来源:闵涛的学习笔记 点击数:7845 更新时间:2009/4/22 23:09:43
where数据库 
7、恢复出现含有数据库文件或事务日志介质故障后的Adaptive Server Anywhere数据库 
8、删去一个Adaptive Server Anywhere数据库文件 
9、缩和解压缩Adaptive Server Anywhere数据库文


内容 
1、保护数据的预防措施 
2、备份数据库 
3、故障恢复 
4、Adaptive Server Anywhere的日志 
5、系统故障的恢复 
6、介质故障的恢复 
7、其它的维护手段 

保护数据的要点:

1、按着规定经常备份数据库 
2、把事务日志放在份开的设备上 
3、对至关重要的数据采用放在份开设备上的事务日志镜象 

备份数据库:

1、两种格式 
完全备份 --数据库及日志 
增量备份 --仅备份日志 

2、两种方法 
联机 (每周 7天,每天 24小时均可进行 )
完全备份 
增量备份 


备份策略 :

1、考虑因素: 
数据丢失会造成的危险 
那种数据丢失风险是可接受的 
不同的备份策略各有什么优缺点 
对数据可用性的要求 

备份和恢复策略 
1、备份和恢复策略必须是相容的 
检查备份和恢复策略 
它们是否能像所期望的那样工作? 
是否能获得正确的结果? 
是否能满足业务要求?

完全备份 
1、对数据库及事务日志都做拷贝 
2、是最简单的备份策略 
3、常用于相对小的数据库 
4、对大型数据库是不切合实际的 

增量备份 
1、使用周期 
完全备份数据库和事务日志文件 随后只备份事务日志 定期地重新开始这个周期 
2、周期过长则增加了数据丢失的风险,因为事务日志的备份有可能会丢失或损坏。重要的是要把日志备份存储在可靠的介质上 

3、通常用于大型数据库 


联机备份 :
1、无须停止数据库引擎就可完成 
2、提供一致性的数据库快照 
3、通常用于要求高可用性的数据库 
4、可进行完全备份或增量备份 


脱机备份 
1、要在数据库引擎停机后来完成 
2、当允许数据库引擎常规地停机时可采用此办法 
3、可进行完全备份或增量备份 




实施备份 
1、Adaptive Server Anywhere提供实用程序dbbackup来完成联机备份 2、脱机备份要利用操作系统中的文件拷贝命令完成 
3、在实施备份之前,应当利用实用程序 dbvalid 对数据库进行合理性校验。 如果该数据库是不合理的: 
 把它复原到最近的完好的备份 
 利用事务日志施加恢复 
 再立即对其作备份 


联机备份的实施 
语法: 
dbbackup [开关] 目录 
-c 设置连接参数 
-d 仅备份数据库文件 
-r 重命名日志并启动新的一个 
-t 仅备份日志 
-x 删去日志并启动新的一个 



故障类型 :

1、系统故障 
数据库不可用了,它并未遭破坏 
无须人工干预 
系统能自其故障处进行恢复 
恢复可能要花费一些时间 
2、介质故障 
数据可能被损坏了 
要使用数据库文件备份来解决 
把主数据库文件和事务日志文件散布在不同的物理设备设备上 


Adaptive Server Anywhere的自动恢复

利用日志和事务恢复机制 
仍需要实施常规的数据库文件备份才能有效 
应把数据库文件与事务文件放在不同的物理设备上 


Adaptive Server Anywhere日志:
校验点日志 
回滚日志 
事务日志 
事务日志镜象


校验点日志 :
其中包含自最近一个校验点以来所有的被修改的物理数据页(脏页)的前映象 
在Cache 中包含脏页的后映象 

每个数据库有一个校验点日志,直到下一校验点出现,它一直存在于数据库中。 


校验点:

1、刷新 cache 中所有的脏页并把它们写入数据库文件中 

2、出现的时机: 
在数据库引擎停机时 
自最近一个校验点之后 > CHECKPOINT_TIME 
估算恢复所用时间 > RECOVERY_TIME 
数据库引擎已空闲了足够的时间 
事务中发出CHECKPOINT命令 
未利用用事务日志而把事务提交给数据库时


校验点数据库选项:

1、利用 SET OPTION设定 当数据库引擎再次启动时起作用 

2、CHECKPOINT_TIME 校验点之间的最大间隔 缺省值 = 60 分钟 

3、RECOVERY_TIME 
自失败到完成恢复经过的最大时间间隔
缺省值 = 2 分钟 

回滚日志:

1、储存已修改了的数据的前映象及 SQL 需要复旧的修改 
2、每个打开的连接有一个回滚日志 
当事务被提交或回滚之后被释放
3、在内存中被建立,当出现校验点时被拷贝到数据库文件。 


事务日志 :

1、对数据库的每一个修改,都按其发生的次序在事务日志中储存一条记录。
各数据库使用一个激活的事务日志
还可能存在着其它的归档(archive)日志

2、应当把它建立在与数据库文件使用不同的控制器的另外的设备上 
当出现介质故障时能提供最好的可恢复性 

改变事务日志的位置 

1、利用 Sybase Central 或 dblog 实用程序

2、必须在数据库停止状态下才能改变日志位置

3、推荐: 
设备分开  设备分开 

4、实例   dblog -t d:\newdir\mydata.log c:\mydata.db


利用 Sybase Central改变日志位置:

1、打开 Utilities 文件夹 
2、双击 Change Log File Information 
3、 输入数据库文件位置 
4、选择 Create new or rename existing log file 并打入新的位置 
5、 如有必要,可输入镜象日志位置 
6、 如有必要,可改变 Transaction Log offsets。 
7、 设置选项 
8、 选择是否删去老的日志文件 



事务日志镜象 :
1、是对事务日志的全同拷贝 与事务日志同时被写入
2、应当放置在分开的物理设备上 
3、语法— 增加一个事务日志镜象 dblog -m mirror-name 
4、在 Sybase Central中,利用修改日志信息的实用程序。 

事务日志有效性?


事务日志和镜象恢复 :

依次执行以下几步: 
1、确定哪些部分出了毛病 
2、备份完好的文件 
3、把完好的文件拷贝到出毛病的文件 
4、重新启动数据库引擎 


识别有问题的文件 :
1、拷贝数据库备份
2、传送事务日志和镜象 
完好文件能不出问题的完成
出毛病的文件会产生错误消息
3、比较两个事务日志
4、使用磁盘实用程序来找出毛病
5、语法: dbtran log-file output-file 
6、Sybase Central
打开 Utilities文件夹
双击 Translate Log
指明要传送的日志文件
指明输出文件 
给定选项 


系统故障的恢复 :
1、运行磁盘验证实用程序
2、重新启动数据库引擎 
   根据校验点日志把数据复原到最近的校验点状态 
   根据事务日志把自校验点到出故障之间完成的修改都再实施一次 
   根据回滚日志把未提交的事务回滚 

介质故障的恢复 :

1、修复故障设备 
2、修复数据库
修复手段取决于数据库或日志设备是否受损



数据库文件的介质故障 :
1、一个事务日志 
自最后一次完全数据库备份以来从未做过备份 
2、多个事务日志 
自最后一次完全数据库备份以来已做过备份


利用一个日志进行恢复:
1、对当前的事务日志做系统文件拷贝 
2、复原最新的对数据库文件的完全备份 
3、启动数据库时采用 –a 开关并给出用以恢复的日志的名字 
4、对已恢复的数据库作备份 
5、再利用一个新的事务日志启动数据库引擎 
6、实例: 
dbsrv7 mydata.db -a mydata.log

利用多个日志进行恢复:

1、对当前的事务日志做系统文件拷贝 
2、复原最新的对数据库文件的完全备份 
3、针对早期的多次日志,多次启动数据库引擎每次都采用开关 -a ,但按时间次序份别给出不同的日志名字。 
4、备份已恢复的数据库 
5、再利用新的事务日志启动数据库引擎 
   另一种作法是,把最新的日志名重命名为恰当的名字。 

6、实例:
 dbeng7 class.db -a d:\oldlogs\mon.log 
 dbeng7 class.db -a d:\oldlogs\tue.log 
 dbeng7 class.db -a d:\oldlogs\wed.log 
 dbeng7 class.db -a d:\backup\class.log


存放事务日志的介质故障 :
1、数据丢失的可能性非常大
事务日志的介质故障之后的系统故障会导致损坏日志 

2、应当使用放在分开设备上的日志镜象

3、备份完好的数据库文件 

4、删除事务日志 

5、利用 –f (无日志)开关重新启动完好的数据库 

把数据库复原到最近的校验点处 
对该校验点之前未提交的一切事务都进行回滚 
启动一个新的事务日志 

6、备份已恢复的数据库

7、利用新的事务日志重新启动数据库 



恢复未提交的修改 :

1、利用带 -a 开关的dbtran 实用程序把事务日志的内容转换为一些可读的SQL 语句 

2、留神:回退事务常常是不完整的,未必需要恢复所有的未提交的事务。 

3、例如:
   dbtran -a class_db.log changes.sql 
     恢复未提交的事务 
   在输出文件中包含回滚事务 
   输出文件change.sql是可读的 SQL 文件 
   你可对其进行编译,使其仅包含你打算回滚的未提交事务。 

用于数据库维护的其它实用程序 :

1、dberase 
删去数据库文件 
2、dbshrink 
把数据库文件压缩为一个压缩了的,只读格式 
3、dbexpand 
把被压缩的数据库展开 
4、dbwrite 
把对一个只读数据库所作的修改都储存在一个新建的可写入文件中 
日后可利用该可写入文件再对压缩了的数据库进行修改: 
Translating the write log (.WLG)
Applying the resultant SQL to the database



删去数据库 :

1、交互式SQL语法  DROP DATABASE 文件名

实例 : 这个语句是不进行再次确认的删去数据库 mydata.db : 
 DROP DATABASE 'c:\mydata.db' 

2、dberase (命令行) 
这个命令是不做再次确认的删去数据库 mydata.db : 
 dberase -y c:\mydata.db 


删去数据库文件 :

Sybase Central 
1. 打开 Utilities 文件夹 
2. 在右半边, 双击 Erase Database. 
3. 点击 Next. 
4. 必要时,改变数据库连接。 
5. 点击 Next. 
6. 打入你要删去的数据库或可写入文件的名字. 
7. 点击 Next. 
8. 点击 Finish 则删去数据库 


压缩数据库文件:

压缩数据库文件 
压缩后的数据库文件是只读的 
被压缩后的数据库文件能紧缩 40-60%  
利用 dbwrite来搜集对已压缩数据库的修改 
利用 dbexpand进行解压 


实际应用 :
准备发送给客户的含有定货项目和其价格的数据库 
可把该数据库存放在 CD-ROM这类只读介质上

dbshrink:

语法:dbshrink [switches] database-file [compressed-database-file] 

实例:

dbshrink –q mydata.db 
-q — 静止模式,抑制消息。
此时,压缩文件的缺省名为:mydata.cdb

利用 Sybase Central 压缩数据库:

1. 打开 Utilities 文件夹 
2. 在右半边双击 Compress Database 
3. 点击 Next 
4. 必要的话,改变你的数据库连接。 
5. 点击 Next 
6. 输入要压缩的数据库名及存储已压缩数据库文件的位置 
7. 点击 Finish  


dbexpand:

语法: 
dbexpand [switches] compressed-database-file  [database-file ]

实例 :
dbexpand –o uncompress.msg  mydata.cdb mydata_big.db 

-o — 把消息输出到名为 uncompress.msg 的文件中 
展开后的数据库文件名为 mydata_big.db

利用 Sybase Central展开数据库:

1. 打开 Utilities 文件夹 
2. 在右半边,双击 Uncompress Database 
3. 点击 Next 
4. 必要的话,改变你的数据库连接。 
5. 点击 Next 
6. 输入要展开的数据库名及存储已展开数据库文件的位置 
7. 点击 Finish  

记录对只读数据库所做的修改 :

1、把对压缩的或只读的数据库的修改写入到一个可写入文件中 
这种修改被记录在该可写入文件的事务日志中 
日后可把该事务日志文件内容传输出来实施对数据库的修改 
当用户查询只读数据库文件时,能把存放在可写入文件中的修改一起得到。 
2、利用实用程序dbwrite能建立一个可写入文件。


dbwrite:

语法: dbwrite [switches] database-file  [write-name ] 

实例:

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  下一页


[聊天工具]企业邮件系统的利器----FoxMail Server  [系统软件]OPEN SERVER 5.0.5安装EXP300阵列柜
[系统软件]关于Windows2000Server的灾难恢复  [常用软件][网络]下载服务革命性风暴Poco Server评测
[C语言系列]动态创建SQL Server数据库、表、存储过程等架构信…  [C语言系列]SQL Server到DB2连接服务器的实现
[C语言系列]SQL Server到SYBASE连接服务器的实现  [C语言系列]SQL Server到SQLBASE连接服务器的实现
[C语言系列]SQL Server连接VFP数据库的实现  [C语言系列]ASP+SQL Server之图象数据处理
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Sql Server  · MySql
    · Access  · ORACLE
    · SyBase  · 其他
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台