Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?

  状况1、全部设备,包括 master ,均是完整的:sql

  这种状况是最简单的,只须要先备份设备文件(包括mastercopy 到安全的地方),而后从新安装系统,建服务(保持页面大小、编码和排序与之前同样),而后中止服务,按原目录将全部设备文件拷贝回来,再重启服务便可。新建的服务名可与旧服务不一样。建议把 服务名.cfg也复制过来,省掉参数配置。数据库

   状况2、应用的设备是完整的,但没有master了:windows

方法1、安全

这种状况下要恢复数据库就须要原来的设备使用状况表了。从新安装系统,建服务,而后按原设备状况建设备(大小、位置保持和原来一致),接下来根据记录下来的设备使用状况建库,顺序以及占用的空间要和之前的一致。而后停服务,将应用的数据库设备复制回来,重启服务便可。请参考Sybase ASE 系统管理员平常维护指南的建议,按期备份 master 数据库。服务器

方法2、网络

1.       从新建立 master 设备并发

本实验描述了如何在master数据库毁坏的状况下,如何重建主设备,恢复master数据库,得以从新恢复系统。ui

这里假定:编码

l Master数据库已损坏,或主设备已损坏。spa

l有系统表的最新打印输出。

l主设备只包括master数据库、tempdbmodel

lmaster数据库的最新备份,且上次转储master数据库后没有初始化任何设备或建立、变动任何数据库。

关于恢复过程

l将主设备重建为第一次安装服务器时的缺省状态;

lmaster数据库恢复为缺省状态;

lmaster数据库恢复为上次备份时的状态;

注意:在恢复master数据库的早期阶段,不能使用系统存储过程。

恢复步骤

步骤1:查找系统表

查找已保存到文件的系统表sysdatabasessysdevicessysusagessysloginrolessyslogins的副本。用这些副本能够保证在此过程结束时系统已经所有恢复。

步骤2:创建新的主设备

若是Adaptive Server正在运行,关闭它,而后重建主设备。重建主设备时,必须指定设备大小。开始重建前,记住如下几点:

l保留旧设备,以防遇到问题,旧设备可提供相当重要的信息。

l使用buildmaster命令以前应关闭Adaptive Server

l不一样操做系统上建立主设备的命令有所不一样,如:buildmastunix)、bldmasterwindows NT),并安装通用master数据库的副本。

l命令中给出主设备的全名和大小。

示例:重建一个30兆(153602k的页)

Window NT上:

bldmastr d d:\devices\master.dat s15360

步骤3:以主恢复方式启动Adaptive Server

使用-m选项以主恢复方式启动Adaptive Server。在Window NT上,使用sqlsrvr命令从命令行启动Aadaptive Server

Sqlsrvr.exe –d:\devices\master.dat –sserver_name –ed:\sybase\install\errorlog –id:\sybase\ini –MD:\sybase –m

说明:以主恢复方式启动Adaptive Server时,只容许一个用户(系统管理员)登陆。

步骤4:重建master的设备分配

检查sysusages系统表的书面副本,若是有多行dbid1的记录,则须要增长master的大小以便装载转储。最简单状况下,对master进行额外分配只须要使用alter database便可。复杂状况,必须为其它数据库分配空间,以便从新构造恢复master所需的正确的vstart值。

示例:

alter datbase master on master=2

步骤5:检查Backup Serversysservers系统表信息。

使用空口令以“sa“用户登陆服务器(若是Backup Server的网络名不是SYB_BACKUP,则必须更新sysservers以便Adaptive Server能够与其Backup Server通讯)。

l检查interfaces文件中Backup Server的名称;

l并发出下面的命令:

select * from sysservers

where srvname=”SYB_BACKUP”

l检查此命令中输出结果的srvnetname。是否与服务器的backup Serverinterfaces文件条目匹配,若匹配跳过步骤5

l如不一样,则必须更新sysservers

示例:

begin tranaction

updata sysserver

set srvnetname=”backupserver_name”

where srvname=”SYB_BACKUP”

 

l核实该命令,若是updata修改了多行,或者修改了不该修改的行,则发出rollback tranaction命令,而后尝试再次更新。

若是该命令正确修改了Backup Server的行,则发出commit transaction命令。

步骤6:核实Backup Server正在运行

Window NT平台上,本地安装的Sybase Central和服务管理器能够显示Backup Server是否正在运行。

步骤7:装载master数据库的备份

Window NT上:

load database master from “d:\device\master.bck”

load database成功完成后,Adaptive Server将关闭。

步骤8:更新number of devices配置参数

仅当使用的数据库设备比缺省值多时才执行此步骤。

步骤9:以主恢复方式方式从新启动Adaptive Server

Sqlsrvr.exe –d:\devices\master.dat –sserver_name –ed:\sybase\install\errorlog –id:\sybase\ini –MD:\sybase –m

注意:装载master的备份将使“sa”账号恢复到之前的状态。若是sa账号有口令,则口令恢复。

步骤10:检查系统表以检验master的当前备份

l若是发出最新的disk initcreate databasealter database命令之后已备份了master数据库,则sysusagessysdatabases、和sysdevice的内容将与书面副本匹配。

l若是副本中的任何设备未包含在已恢复的sysdevices中,则上次备份之后已添加了设备,必须运行disk reinitdisk refit

步骤11:从新启动Adaptive Server

以常规(多用户)模式从新启动Adaptive Server

步骤12:检查Adaptive server

lsysusages的书面副本与新联机版本比较

lsysdatabase的书面副本与新联机版本比较

l在每一个数据库上运行dbcc checkalloc

l检查每一个数据库中重要的表

彻底恢复master数据库并运行所有的dbcc完整性检查后,使用常规转储命令备份此数据库。

相关文章
相关标签/搜索