### SYBASE使用技巧详解 #### 一、解决数据库被标记为“suspect”的问题 **问题背景**: 在使用SYBASE数据库的过程中,有时会遇到数据库被标记为“suspect”的情况,这通常是因为数据库遇到了无法自动恢复的问题。一旦数据库被标记为“suspect”,将无法正常使用,需要采取一系列步骤来修复。 **解决方案**: 1. **现象描述**: - 错误代码: Error 926 - 严重级别: Level 14 - 错误消息: “Database 'xx' cannot be opened - it has been marked SUSPECT by recover.” 2. **解决步骤**: - **第一步**: 启动Backup Server并备份master数据库。 ```sql dump database master to "/usr/sybase/master_dump.19991201"; go ``` - **第二步**: 使用`isql`登录到SQL Server,并确保使用的是`sa`账户。 - 允许更新配置: ```sql sp_configure "allowupdates", 1; go ``` - 开启事务: ```sql begin tran; go ``` - 更新数据库状态: ```sql update master..sysdatabases set status = -32768 where name = "pubs2"; go ``` - 如果得到`(1 row affected)`,则提交事务;否则回滚事务。 ```sql commit; go ``` - **第三步**: 重新启动SQL Server,并再次使用`sa`账户登录。 - 更新数据库状态: ```sql begin tran; go update master..sysdatabases set status = 0 where name = "pubs2"; go ``` - 提交或回滚事务: ```sql commit; go ``` - 禁用更新配置: ```sql sp_configure "allowupdates", 0; go ``` - **第四步**: 如果原来的数据库有特定的`dboption`(例如`selectinto`, `trunclogon chkpt`等),需要重新设置这些选项。 - **第五步**: 运行`dbcc`命令来检查数据库的一致性。 - 创建并执行`dbcc.sql`文件: ```sql dbcc checkdb("pubs2"); go dbcc checkalloc("pubs2"); go dbcc checkcatalog("pubs2"); go ``` - 使用`isql`执行`dbcc.sql`文件: ```bash isql -U sa -P id < dbcc.sql > dbcc.out ``` - 检查输出结果: ```bash grep Msg dbcc.out ``` - **第六步**: 备份用户数据库: ```sql dump database pubs2 on "/usr/sybase/pubs2_dump.19991201"; go ``` 3. **扩展解决方案** (针对设备损坏的情况): - **第一步**: 恢复数据库设备及其读写权限。 - **第二步**: 执行与基本解决方案相同的Backup Server和master数据库备份步骤。 - **第三步**: 使用`isql`登录SQL Server,并使用`sa`账户进行以下操作: ```sql sp_configure "allowupdates", 1; go begin tran; go update master..sysdatabases set status = status - 256 where name = "pubs2"; go ``` - 如果得到`(1 row affected)`,则提交事务;否则回滚事务。 ```sql commit; go ``` - **第四步**: 重新启动SQL Server,并重复第五步中的`dbcc`命令一致性检查。 - **第五步**: 再次备份用户数据库。 #### 二、解决ASE 11.5装载或备份数据库报3230的错误 **问题背景**: 在SYBASE ASE 11.5版本中,如果删除了逻辑设备后没有重启服务器,而是重用了该设备的虚拟设备号创建新的设备和数据库,则在进行数据库的装载或备份时可能会遇到错误3230。 **解决方案**: 1. **根本原因**: 这是一个已知的ASE 11.5版本中的BUG,当旧的虚拟设备号未被释放时,即使没有明显的错误提示,也会影响后续的数据库操作。 2. **解决步骤**: - **重启服务器**: - 关闭所有的数据库实例和服务。 - 重启服务器。 - **验证错误是否解决**: - 尝试再次进行数据库的装载或备份操作。 - 如果仍然出现问题,请参考官方文档或联系技术支持获取进一步的帮助。 通过上述步骤,可以有效地解决数据库被标记为“suspect”以及在ASE 11.5中遇到的3230错误问题,确保数据库系统的稳定运行。
剩余18页未读,继续阅读
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助