急,换硬盘恢复sybase,在线等待

由于更换硬盘,系统重装,原系统为NT4.0,Sybase 11.5,现需要将原数据库中的内容全部还原在新系统中,我是新手,望各位提供详细步骤,谢谢!
---------------------------------------------------------------

恢复Master
本实验描述了如何在master数据库毁坏的情况下,如何重建主设备,恢复master数据库,得以重新恢复系统。
这里假定:
· Master数据库已损坏,或主设备已损坏。
· 有系统表的最新打印输出。
· 主设备只包括master数据库、tempdb和model
· 有master数据库的最新备份,且上次转储master数据库后没有初始化任何设备或创建、变更任何数据库。
关于恢复过程
· 将主设备重建为第一次安装服务器时的缺省状态;
· 将master数据库恢复为缺省状态;
· 将master数据库恢复为上次备份时的状态;
注意:在恢复master数据库的早期阶段,不能使用系统存储过程。
恢复步骤
步骤1:查找系统表
查找已保存到文件的系统表sysdatabases、sysdevices、sysusages、sysloginroles和syslogins的副本。用这些副本可以保证在此过程结束时系统已经全部恢复。
步骤2:建立新的主设备
如果Adaptive Server正在运行,关闭它,然后重建主设备。重建主设备时,必须指定设备大小。开始重建前,记住以下几点:
· 保留旧设备,以防遇到问题,旧设备可提供至关重要的信息。
· 使用buildmaster命令之前应关闭Adaptive Server。
· 不同操作系统上创建主设备的命令有所不同,如:buildmast(unix)、bldmaster(windows NT),并安装通用master数据库的副本。
· 命令中给出主设备的全名和大小。
示例:重建一个30兆(15360个2k的页)
在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系统表的书面副本,如果有多行dbid=1的记录,则需要增加master的大小以便装载转储。最简单情况下,对master进行额外分配只需要使用alter database即可。复杂情况,必须为其它数据库分配空间,以便重新构造恢复master所需的正确的vstart值。
示例:

alter datbase master on master=2
步骤5:检查Backup Server和sysservers系统表信息。
使用空口令以“sa“用户登录服务器(如果Backup Server的网络名不是SYB_BACKUP,则必须更新sysservers以便Adaptive Server可以与其Backup Server通信)。
· 检查interfaces文件中Backup Server的名称;
· 并发出下面的命令:
select * from sysservers
where srvname=”SYB_BACKUP”
· 检查此命令中输出结果的srvnetname。是否与服务器的backup Server的interfaces文件条目匹配,若匹配跳过步骤5;
· 如不同,则必须更新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的当前备份
· 如果发出最新的disk init、create database或alter database命令以后已备份了master数据库,则sysusages、sysdatabases、和sysdevice的内容将与书面副本匹配。
· 如果副本中的任何设备未包含在已恢复的sysdevices中,则上次备份以后已添加了设备,必须运行disk reinit和disk refit。
步骤11:重新启动Adaptive Server
以常规(多用户)模式重新启动Adaptive Server
步骤12:检查Adaptive server
· 将sysusages的书面副本与新联机版本比较
· 将sysdatabase的书面副本与新联机版本比较
· 在每个数据库上运行dbcc checkalloc
· 检查每个数据库中重要的表
完全恢复master数据库并运行全部的dbcc完整性检查后,使用常规转储命令备份此数据库。

方法二:
(3)master数据库的恢复
A、保存系统表的拷贝:sysdatabases、sysdevices、sysusages、sysloginroles和Syslogins。
B、转储主设备上的用户数据库。
C、关闭SQL Server并使用buildmaster建立新的master数据库或主设备。
Buildmaster -m ...仅重建master数据库
Buildmaster ...重建主设备
D、已单用户模式启动SQL Server( Master-Recover )
Startserver -f RUN_服务器名 -m
E、若master数据库用alter database 命令扩展过,严格重建它在sysusages中的分配。
F、若Backup Server 的网络名(接口文件中的名字)不是SYB_BACKUP,在sysservers中改动网络名。
Update sysservers set srvnetname="PRODUCTION_BSRV" where srvname="SYB_BACKUP"
G、使用showserver查看,检查确保Backup Server正运行,若有必要,重启Bakup Server
H、装载master的备份。
Load database master from 'master.bak'
Load database执行成功后,SQL Server 自动关闭。
I、若自master的上次转储以来增加过数据库设备,执行disk reinit命令以重建sysdevices。
J、若执行了disk reinit,或自上次转储以来使用过create database或alter database,执行disk refit 重建sysusages和sysdatabases表,执行完毕后SQL Server自动关闭。
K、检查一致性:比较sysusages和sysdatabases的备份和新的联机版本,对每个数据库执行dbcc checkalloc, 并检查每个数据库中重要的表;若发现错误重新执行disk reinit和disk refit。
L、若恢复了整个主设备,则恢复model数据库。
Cd $SYBASE/scripts
Setenv DSQUERY 服务器名
Isql -Usa -P口令 -S服务器名 M、重新装载所有受影响的用户数据库。
N、恢复服务器用户ID。
O、以多用户模式重新启动SQL Server。
(4)恢复model 数据库
Buildmaster -d/设备名 -x
(5)恢复sybsystemproces数据库
A、删除sybsystemproces数据库(若物理磁盘损坏,删除设备,使用Disk init 重建设备)
B、重建数据库
Create database sybsystemporces on 设备名=数据库大小
C、恢复数据库
Cd $SYBASE/scripts
Setenv DSQUERY 服务器名
Isql -Usa -P口令 -S服务器名 九、几个实用程序
1、bcp
以用户指定的形式将数据库表拷贝到操作系统文件中,或从操作系统文件中拷贝一个数据库表。提供了在数据库表和操作系统文件之间传递数据的一个方便、快速的方法。
bcp [[database-name.]owner.]table_name {in &brvbarout} datafile [各种开关]
其中,table_name是想要拷贝的数据库表名;{in/out}为拷贝方向,in表示从文件到数据库的拷贝,out表示从数据库到文件的拷贝;datafile是操作系统文件的全路径名。
常用的开关有:
-f formatfile----存有上次使用bcp处理同一表时得到的应答文件的全路径名,格式文件名的扩展名为.fmt。使用格式文件,省去了再重复回答前面的问题。
-U username----允许用户指定一个注册名。
-P password----允许用户指定当前的SQL Server口令。如果未使用-P选项,bcp将提示输入一个口令。
-S Server----允许用户指定与其相连的SQL Server的名字。
例:在客户端备份tele114数据库中code_1th表,按照code_1th.fmt的格式
c> bcp tele114..code_1th out code_1th.txt -杅code_1th.fmt 朥sa 朠
2、 isql
与SQL Server交互的SQL句法分析器。
isql [各种开关]
常用的开关有:
-U username----允许用户指定一个注册名。
-P password----允许用户指定当前的SQL Server的口令。
-S Server----允许用户指定与其连接的SQL Server的名称。
-i输入文件
-o输出文件
终止一条命令:go
清除查询缓冲:reset
调用编辑器:vi
执行一条操作系统命令:!!命令
退出isql:quit或exit

Published At
Categories with 数据库类
Tagged with
comments powered by Disqus