博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Sybase数据库异常紧急恢复
阅读量:4481 次
发布时间:2019-06-08

本文共 1446 字,大约阅读时间需要 4 分钟。

现象:Error 926 
     Severity Level 14 
     Error Message Text 
     Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation 
   (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误. 
   (2) 启动Backup Server, 后备master数据库
  1>dump database master to "/usr/sybase/master.dup"
  2>go
   (3) 用isql登录到ASE, 须用sa帐号 (本文以pubs2数据库为例)
  1>sp_configure "allow updates", 1 
  2>go 
  1>begin tran 
  2>go 
  1>use master
  2>go
  1>update sysdatabases 
  2>set status = -32768 
  3>Where name="pubs2" 
  4>go
   如果得到(1 row affected),则
  1>commit
  2>go
   否则
  1>rollback
  2>go
(4)重新启动ASE. 
注:ASE重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp...out备份用户数据库数据。
否则,按以下步骤继续操作:
  用sa帐号注册到ASE. 
  1>begin tran 
  2>go 
  1>use master
  2>go
  1>update sysdatabases 
  2>set status=0 
  3>Where name="pubs2" 
  4>go 
  如果得到(1 row affected),则
  1>commit
  2>go
   否则
1>rollback
  2>go
  1>sp_configure "allow updates" ,0
  2>go 
   (5)重新启动ASE.
(6) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option.
(7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性。
--------------------------------------------------------------------------------------
如果发现数据库不可恢复,则
1、通过BCP指令,将数据库中的所有数据BCP到文本文件中
2、然后再建立相同库表结构的数据库
3、将导出的数据再BCP回建立的数据库中
4、重新建立主键、索引
   (8) 备份用户数据库
   例如:
  1>dump database pubs2 to "/usr/sybase/pubs2.dup"

  2>go

    事实上,我们很悲剧地遇到了第二种情况,使得恢复数据库的过程显得非常漫长。但是,庆幸的是:我们的数据没有发生丢失。

 

转载于:https://www.cnblogs.com/o0JSP/p/3513074.html

你可能感兴趣的文章
UVA GCD - Extreme (II)
查看>>
完成个人中心—导航标签
查看>>
【C++】C++中变量的声明与定义的区别
查看>>
前端性能优化
查看>>
static
查看>>
属性动画
查看>>
Swift 字符串
查看>>
Python 生成器 Generator 和迭代器 Iterator
查看>>
实现icon和文字垂直居中的两种方法-(vertical-align and line-height)
查看>>
[CareerCup] 3.6 Sort Stack 栈排序
查看>>
Beta版总结会议
查看>>
Cocos2d-x中使用的数据容器类
查看>>
创建ORACLE 查询用户
查看>>
jzoj3297. 【SDOI2013】逃考
查看>>
通过例子学python(2.1)
查看>>
高效率场景-内存映射
查看>>
Python基础——0前言
查看>>
机器学习三剑客之Numpy
查看>>
django路由转发
查看>>
HBase环境搭建随笔
查看>>