`
splinter_2
  • 浏览: 58962 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Sybase ASE数据库不能恢复的解决办法及分析

阅读更多

数据库不能恢复或是恢复很慢,通常都是由于系统down机,或是在事务很忙时由于某种原因(如日志满)重新启动了数据库。如何处理数据库不能恢复的问题,如何加快数据库的恢复,如何删除不能恢复的数据库,下面就一些例子进行分析。 系统down机,数据库被标记为suspect Database 'xx' cannot be opened - it has been marked SUSPECT by recover Explanation (1) 用ISQL 登录 到ASE, 须 用SA 帐 号 1>sp_configure "allow updates", 1 2>go 1>update master..sysdatabases 2>set status =-32768 3>Where name="database_name" database_name是你 的 数 据库 名 4>go 1>shutdown with nowait 2>go (2)这 时 重 新 启动SQL Server, SA 帐 号 注 册 到SQL Server. 1>update master..sysdatabases 2>set status=0 3>Where name="database_name" database_name 是 你 的 数据 库名 4>go (3)重新启动Sybase 注意:在做update时,一定要注意加上where 条件 当某一正常运行的大事务(例如:update、delete操作)被终止,且重新启动server后,运行该事务的数据库处于恢复状态,通常这种状态会持续很长时间,当在此恢复过程中没有出现任何异常时,建议用户耐心等待恢复过程完成。同时我们提供以下方法来终止此恢复过程,但请用户注意这些操作将带来数据的不一致性。必要时,希望用户用完整、可靠的数据库备份恢复此数据库。    (1) 启动Backup Server, 后备master数据库  1>dump database master to "/usr/sybase/master.dup"   2>go    (2) 用isql登录到SQL Server, 须用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    (3)这时重新启动SQL Server, 再用sa帐号登录到SQL Server.   1>dump tran pubs2 with no_log   2>go   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    (4) 如果你的数据库原来有dboption(例如"select into","trunc log on chkpt"等), 你需要重新设置这些option..    (5) 当数据库已经恢复可使用状态后,运行dbcc命令检查数据库的一致性(参照"如何检查数据库中数据一致性"文章)    (6) 后备用户数据库例如:  1>dump database pubs2 to "/usr/sybase/pubs2.dup"   2>go  如果数据库始终不能恢复,但用户有备份,这时需要删除不能恢复的数据库。如何删除坏的用户数据库(以pubs2为例)   当使用drop database无法删除数据库时,使用本文所示方法可以删除。   (1)使用isql以sa注册SQL server    (2)设置允许修改系统表  1>sp_configure "allow updates",1   2>go    (3)把 要删除的用户数据库置为"suspect"状态  1>use master   2>go   1>begin tran   2>go   1>update sysdatabases set status=256   2>where name="pubs2"   3>go     如果得到(1 row affected),则  1>commit   2>go     否则  1>rollback   2>go    (4)重启server,并用isql以sa注册。   (5)删除数据库  1>dbcc dbrepair(pubs2,dropdb)   2>go    (6)恢复允许修改系统表  1>sp_configure "allow updates",0   2>go   问题现象:用户通过dblibrary 调用存储过程,完成insert 操作,insert 效率很差,1000条数据需要3分钟以上。如果使用isql 进行插入操作则insert 效率很好,当insert 每行的实际插入字节长度较小的使用,效率很好,insert 每行的实际插入字节长度达到400byte 左右时,性能有很大的下降。 解决办法: 调用 dblibrary 中设置网络包大小的函数 DBSETLPACKET(login, 1024) LOGINREC *login; short packet_size; insert 速度恢复正常。 分析: 该问题没有被及时发现主要是混淆了ASE的两个参数概念: default network packet size : 该参数我们通常叫做“默认网络包大小”。但实际上这个作用只是在ASE启动的时候,在内存池中为用户可以使用的默认网络包分配内存,并不指当用户申请连接的时候系统默认使用的网络包的大小,换句话说在用户连接时不指定网络包的大小,无论default network packet size如何调整,系统都将使用512 byte 作为一个网络包的大小。该参数的大小对占用内存的影响不仅和该参数本身有关,而且和系统所配置的用户连接数有关 (number of user connetion),内存占用与 default network packet size * number of user connection 成正比。 Max network packet size : 指定用户可以使用的最大网络包 。该参数的调整对于内存的影响很小。该参数必须大于等于 default network packet size 测试:针对于 default network packet size 、max network packet size 、isql –A 参数设置做了如下测试,供参考。 (1) Default network packet size = 1024 、Max network packet size =1024 、Isql –A =2048 时 连接不能建立 (2)Default network packet size = 1024 、Max network packet size =4096 、Isql –A =2048 连接可以建立,但使用的网络包大小不确定。所使用的网络包大小 总是大于等于default network packet size 的值(测试时有时会使用1536 或者1024)。 结论: 由于用户申请连接的时候并不能使用默认的 default network packet size 值作为网络包的大小,而需要显示的指定。在我们工作中遇到需要调整网络包大小的问题,不仅需要修改max network packet size && default network packet size 的参数值,还需要更改用户的连接语句: 1. 对于isql 或者 bcp 使用-A 参数,对于isql 或者bcp 的脚本文件则需要修改原有脚本; 2. 对于Dblibrary 程序,需要在连接申请的时候加入DBSETLPACKET(login, packsize) ,或者修改原有语句中“size”的值; 3. 对于Ctlibrary 程序,需要在连接申请的时候加入CS_PACKETSIZE=size ,或者修改原有语句中“size”的值; 对于2 & 3 需要修改后重新编译程序。 4.对于ODBC 需要调整客户端的packet size 选项。 5.对于Borland BDE 引擎需要调整客户端 TDS pack size 选项 (for sybase)

分享到:
评论

相关推荐

    sybase数据库无法删除解决办法

    8. **系统恢复模式**:在极端情况下,可能需要启动Sybase服务器到单用户模式或恢复模式来删除数据库。启动参数通常在`sybserver.ini`配置文件中设置。 9. **Sybase文档和社区资源**:如果以上方法都无法解决问题,...

    Sybase ASE12.5附带的Sybase Central完整免安装版

    **Sybase Central** 是一个图形化的管理工具,用于管理和监控Sybase ASE数据库服务器以及相关的数据库对象。在ASE12.5的时代,Sybase Central提供了一个用户友好的界面,使得DBA(数据库管理员)和开发者可以更轻松...

    Sybase ASE 数据库维护快速参考手册

    ### Sybase ASE 数据库维护快速参考手册知识点概览 #### 1. 基本概念篇 ##### 1.1 什么是Sybase Adaptive Server Enterprise (ASE)? Sybase Adaptive Server Enterprise (ASE) 是一款高性能的关系型数据库管理...

    sybase ase 版本功能对比

    Sybase Adaptive Server Enterprise(简称 ASE)是 Sybase 公司推出的高性能、可扩展的企业级数据库管理系统。为了满足不同规模企业和应用的需求,Sybase ASE 提供了多个不同的版本,每个版本在功能、性能以及许可...

    SYBASE_ASE 15.7.0 for windows 64bit 客户端

    **SYBASE_ASE 15.7.0 for Windows 64bit客户端**是一款高性能的企业级数据库管理系统软件,它专为Windows 64位操作系统设计,能够提供强大的数据处理能力和高度的数据安全性。该版本主要面向那些需要处理大量数据并...

    Sybase ASE v12.5 系统管理指南

    该指南旨在帮助IT专业人员理解和掌握ASE数据库系统的运维与优化,从而确保系统的高效、稳定运行。 ASE,即Sybase Adaptive Server Enterprise,是一款高性能的关系型数据库管理系统,广泛应用于企业级数据存储和...

    Sybase ASE参考手册(中文版,全4卷)

    **Sybase ASE参考手册概述** Sybase Adaptive Server Enterprise...通过这四卷全面的参考手册,读者将能够深入理解Sybase ASE的功能、特性和最佳实践,从而更好地管理和优化数据库系统,解决实际工作中的各种挑战。

    sybase+ase+administration+guide+15.7

    《Sybase ASE Administration Guide 15.7》是针对Adaptive Server Enterprise 15.7版本的一份详尽系统管理指南,旨在帮助管理员理解和掌握Sybase ASE数据库服务器的管理和优化。该指南分为两卷,分别为Volume 1和...

    SybaseASE、IQ文档

    - **SybaseASE15_install_ZHS.pdf**:ASE 15的中文安装指南,详细说明了安装和配置ASE的步骤。 通过这些文档,你可以深入了解Sybase ASE和IQ的使用、管理和优化,无论是安装过程还是日常运维,都能提供宝贵的指导。...

    Sybase ASE快速参考手册

    13. **锁**:Sybase ASE中的锁用于控制并发访问,有表锁、页锁、行锁等多种类型,防止数据冲突和不一致。 14. **数据库备份与恢复**:备份是为了防止数据丢失,恢复则是在出现问题时还原数据到备份时的状态。 **...

    SYBASE 数据库ASE15.5管理指南

    ### SYBASE 数据库ASE15.5管理指南 #### 系统管理基础知识 **系统管理概述** 本章节主要介绍Adaptive Server Enterprise (ASE) 15.5版本中系统管理员的基本职责及其执行的关键任务。 ##### AdaptiveServer管理...

    如何单独在备份机上启动Sybase ASE12.5

    Sybase Adaptive Server Enterprise (ASE) 是一款高性能的关系型数据库管理系统。版本12.5虽然较老,但在某些特定环境下仍被广泛使用。在本篇文章中,我们将详细介绍如何在备份服务器上单独启动Sybase ASE 12.5。 #...

    sybase ase 15 操作指南

    Sybase ASE 15 作为一款成熟稳定的企业级数据库解决方案,在金融、电信等多个领域得到了广泛应用。通过详细了解其安装配置流程和技术特点,可以帮助用户更好地利用这款强大的工具来管理数据资源。希望本文档能够为您...

    Sybase-ASE-15.7安装指南高清版

    Sybase ASE 15.7的安装指南还包括了关于数据库的备份和恢复的指导,这对于保证数据库的安全性和数据完整性至关重要。文档指导用户如何使用二进制覆盖文件来安装ASE,以及如何创建和使用响应文件进行无人值守安装。 ...

    SAPSYBASEASE数据库备份还原手册范本.pdf

    SAP SYBASE ASE数据库备份还原手册是指在SAP SYBASE ASE数据库管理系统中对数据库备份和恢复的操作手册。该手册旨在指导数据库管理员对SAP SYBASE ASE数据库进行备份和恢复操作,确保数据库的安全和可靠性。 一、...

    专题资料(2021-2022年)ASE 数据库服务器维护手册sybase公司.doc

    **ASE数据库服务器安装篇** 在安装ASE数据库服务器时,首先需要考虑合适的硬件和软件环境。例如,手册中提到的示例使用了IBM RS6000 H85双机,配备了双CPU和1GB内存,并运行IBM AIX 5.1.0.0操作系统。数据库系统选用...

    Sybase ASE快速参考手册.pdf

    1. **Sybase ASE**:Sybase ASE(Adaptive Server Enterprise)是一个高性能的关系型数据库管理系统,用于处理大规模的数据存储和事务处理工作负载。 2. **Server类型**:Sybase提供了多种服务器,包括Backup ...

    Oracle向Sybase ASE迁移指南

    - **数据一致性检查**:对比源Oracle和目标Sybase ASE数据库中的数据,确保没有数据丢失或损坏。 - **功能测试**:执行一系列的功能测试来验证所有业务逻辑和功能是否仍然正确无误。 - **性能基准测试**:通过模拟...

Global site tag (gtag.js) - Google Analytics