sybase数据库恢复
一、对tempdb的恢复
测试:在数据库运行状态下,在系统中rm删除了扩展的tempdb设备tempdbdev.dat,
启动数据库后提示:
Initializing virtual device 6, '/syb_data/tempdbdev.dat'…………..
Error: 822, Severity: 20, State: 2
恢复:停止数据库服务,在原来设备目录下,手工创建和删除设备同样名字的文件,
启动数据库,SYBASE自动初始化了该设备文件,tempdb正常。
二、对sybsystemprocs的恢复
测试:在数据库运行状态下,在系统中rm数据库sybsystemprocs对应设备
sysproc.dat。重新启动SERVER后提示:
Error: 840, Severity: 17, State: 1
evice 'sysprocsdev' (with physical name '/syb_data/sybproc.dat', and virtual device
number 1) has not been correctly activated at startup time
恢复:
1)单用户模式启动
startserver –f RUN_SYBASE –m
2)SQL处理
允许更改系统表
1>sp_configure ‘allow updates to system tables’,1
2>go
删除sybsystemprocs库
1> use master
2> go
1> drop database sybsystemprocs
2> go
OR
1> dbcc dbrepair(sybsystemprocs,dropdb)
2> go
OR
1> delete sysdatabases where dbid=4
2> go
3> delete sysusages where dbid=4
4> go
删除sysdevices表中sybproc.dat设备的定义
1> begin tran
2> delete sysdevices where name= 'sysprocsdev'
3> commit
OR
4> rollback
3)重新启动SQL SERVER
startserver –f RUN_SYBASE –m
4)重新初始化sybsystemprocs设备
1>disk init
2>name='sysprocsdev',
3>physname='/syb_data/sybproc.dat',
4>vdevno=1,
5> size=51200 新建设备100M
6> go
5)重建sybsystemprocs系统库
1>create database sybsystemprocs on sysprocsdev=90
2>go
6)重新启动SQL SERVER
&