sybase数据库常见的问题总结.doc

上传人:F****n 文档编号:102867049 上传时间:2019-10-04 格式:DOC 页数:14 大小:71KB
返回 下载 相关 举报
sybase数据库常见的问题总结.doc_第1页
第1页 / 共14页
sybase数据库常见的问题总结.doc_第2页
第2页 / 共14页
sybase数据库常见的问题总结.doc_第3页
第3页 / 共14页
sybase数据库常见的问题总结.doc_第4页
第4页 / 共14页
sybase数据库常见的问题总结.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《sybase数据库常见的问题总结.doc》由会员分享,可在线阅读,更多相关《sybase数据库常见的问题总结.doc(14页珍藏版)》请在金锄头文库上搜索。

1、SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结11. SYSLOGS日志满了进不了系统,如何清除日志启动系统12. 数据库日志损坏时重建日志启动数据库的解决办法23. 数据库处于可疑状态的解决方法34Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?45不小心直接删除了日志的设备文件,如何恢复数据库?66sa密码忘记了导致isql -Usa -P*进不去怎么办?77关于sybase的配置(数据库慢的请留意)78设备路径更改的方法99 dump文件load后数据库访问不了解决办法1010sybase数据库备份方案1011master数据库状态被置为-32768

2、后的处理方法131. SYSLOGS日志满了进不了系统,如何清除日志启动系统 业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决: 第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,

3、完成修改后应立即禁用allow updates to system tables。 1sp_configure allow update,1 2go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。修改sysdatabases表,将testdb的状态修改为-32768,然后在关闭Adaptive Server

4、后重新启动Adaptive Server。 1 update sysdatabases set status=-32768 where name = testdb 2go1 shutdown2 go 第三步,由于事务日志已经很满,不能使用常规方法转储此事务日志,如果使用了dump transaction或dump transaction with truncate_only命令,而命令又由于日志空间不足失败时,可以使用dump transaction的特殊选项with no_log,此选项可截断事务日志而不记录转储事务事件。所有dump tran with no_log都将在Adaptive

5、Server错误日志中进行报告,这些消息包括执行此命令的用户ID、指示成功或失败的消息,no_log是唯一生成错误日志消息的转储选项。但是这个选项(包括with truncate_only)没有提供任何方法可恢复自从上次例行转储后提交的事务。 1 use testdb 2 go1 dump tran testdb with no_log 2 go第四步,修改sysdatabases表,将testdb的状态恢复为0,然后禁用allow updates to system tables。 1 use master 2 go1 update sysdatabases set status = 0 w

6、here name = testdb 2 go1 sp_configure allow update,02 go2. 数据库日志损坏时重建日志启动数据库的解决办法 首先判断错误为页损坏或者索引损坏,根据Adaptive Server failed to retrieve a row via its RID in database escourt5 because the requested RID has a higher number than the last RID on the page. Rid pageid = 0x1c88a8; row num = 0x27. Page poin

7、ter = 0x261CA000, pageno = , status = 0x1, objectid = 8, indexid = 0, level = 0.判断其中:objectid = 8 表示日志段有问题解决方法一:截断日志先把sysdatabases 的status 修改成-32768 然后重新启动数据库1update sysdatabases set status = -32768where name = escourt54go登陆数据库1 dump transaction escourt5 with truncate_only2 goMsg 921, Level 14, Stat

8、e 1:Line 1:Database escourt5 has not been recovered yet - please wait and try again.1 dump transaction escourt5 with no_log2 goMsg 921, Level 14, State 1:Line 1:Database escourt5 has not been recovered yet - please wait and try again.说明这种发不起作用解决方法二:重做日志1 sp_role grant,sybase_ts_role,sa2 goAll the ro

9、les specified to be granted in the grant role statement have alreadybeen granted to grantee sa.Authorization updated.(return status = 0)1 use master2 go1 dbcc rebuild_log(escourt5,1,1)2 goDBCC execution completed. If DBCC printed error messages, contact a user withSystem Administrator (SA) role.1 sh

10、utdown with nowait2 goServer SHUTDOWN by request.The SQL Server is terminating this process.重启服务后把status修改成0后再重启服务。服务启动正常最好是通过dbcc checkdb(databasename)检查一下数据一致性。3. 数据库处于可疑状态的解决方法如何解决数据库被挂起的问题 现象:Error 926 Severity Level 14 Error Message Text Database xx cannot be opened - it has been marked SUSPECT

11、 by recover Explanation (1) 当你使用Transact_SQL命令操作这个数据库的数据时, 出现这个信息, 这是一个严重的错误, 如果你要使用这个数据库的数据, 必须改正这个错误. (2) 启动Backup Server, 后备master数据库 1dump database master to /usr/sybase/master.dup 2go (3) 用isql登录到SQL Server, 须用sa帐号 (本文以escourt5数据库为例) 1sp_configure allow updates, 1 2go 1begin tran 2go 1use maste

12、r 2go 1update sysdatabases 2set status = -32768 3Where name=escourt5 4go 如果得到(1 row affected),则 1commit 2go 否则 1rollback 2go (4)重新启动SQL Server. 注:SQL Server重新启动之后,当发现数据库本身存在不可恢复的问题时,如数据页损坏等,且没有完好的数据库备份,一定要用bcp.out备份用户数据库数据。此时,以下步骤省略,并按照“如何删除坏的用户数据库”文章删除此数据库。之后重建此数据库,恢复备份。 否则,按以下步骤继续操作: 用sa帐号注册到SQL S

13、erver. 1begin tran 2go 1use master 2go 1update sysdatabases 2set status=0 3Where name=escourt5 4go 如果得到(1 row affected),则 1commit 2go 否则 1rollback 2go 1sp_configure allow updates ,0 2go (5)重新启动SQL Server. (6) 如果你的数据库原来有dboption(例如select into,trunc log on chkpt等), 你需要重新设置这些option. (7) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照“如何检查数据库中数据一致性”文章) (8) 备份用户数据库 例如: 1dump database escourt5 to /usr/sybase/pubs2.dup 2go 4Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库? 有的时候,系统崩溃了,手上也没有数据库的备份或者是备份太旧了,但侥幸的是设

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号