logo
关于我们

技术分享

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

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

2021-06-08


  情况一、所有设备,包括 master ,均是完整的:

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

   情况二、应用的设备是完整的,但没有master了:

方法一、

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

方法二、

1.       重新创建 master 设备

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

这里假定:

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

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完整性检查后,使用常规转储命令备份此数据库。

  


云祺备份软件,云祺容灾备份系统,虚拟机备份,数据库备份,文件备份,实时备份,勒索软件,美国,图书馆
  • 标签:
  • 云计算

您可能感兴趣的新闻 换一批

现在下载,可享30天免费试用

立即下载