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
                startserver –f  RUN_SYBASE
              7)允许更改系统表
                1>sp_configure ‘allow updates to system tables’,0
                2>go
              8)重建存储过程
                isql –Usa –P –SSYBASE –n –i /syb_inst/scripts/installmaster

三、对sybsystemdb的恢复
     
         情况类似sybsystemprocs库的修复情况     
1)  删除定义
2)  初始化设备
      3)重建sybsystemdb库

猜你喜欢

转载自yakar.iteye.com/blog/1520608