Sybase_926数据库挂起、3414错误解决方法
- 格式:doc
- 大小:33.00 KB
- 文档页数:3
Sybase 926数据库挂起、3414错误解决方法(Error: 926 Error: 3414)一、查看错误日志 errorlog 发现了这段记录00:00000:00001:2009/04/28 16:13:36.46 server Error: 926, Severity: 14, State: 100:00000:00001:2009/04/28 16:13:36.46 server Database 'FD_JXC' cannot be opened. An earlier attempt at recovery marked it 'suspect'. Check the SQL Server errorlog for information as to the cause.00:00000:00002:2009/04/28 16:13:36.46 kernel network name200.100.101.100, type ether, port 5000, filter NONE00:00000:00003:2009/04/28 16:13:36.48 kernel network name yzserver, type ether, port 5000, filter NONE00:00000:00001:2009/04/28 16:13:36.48 server Unable to proceed with the recovery of dbid <4> because of previous errors. Continuing with the next database.明显的 926 数据库挂起错误,即先将数据库状态修改为 -32768 然后再修改为0/* 1、将 'allow updates' 从 0 改为 1 允许修改系统表*/sp_configure "allow updates", 1/* 2、将数据库状态修改为 -32768 即 bypass recovery */update sysdatabases set status = -32768 Where name="FD_JXC"这时需要停止Sybase服务并且重新启动Sybase/* 3、将数据库状态修改为正常 status=0 */update sysdatabases set status=0 where name="FD_JXC"sp_configure "allow updates", 0第二次停止Sybase服务并且重新启动Sybase这步完成后一般重新设置数据库选项(例如"select into","trunc log on chkpt"等)exec sp_dboption FD_JXC, 'select into/bulkcopy' ,trueexec sp_dboption FD_JXC, 'trunc. log on chkpt' ,true运行dbcc命令检查数据库的一致性dbcc checkdb(FD_JXC)备份用户数据库dump database FD_JXC to "D:\backup\FD_JXC0428.dump"晕死,眼看胜利在望,服务器蓝屏,无语,破机器,只好非法关机重新启动,启动好后数据库还是无法正常使用,再查看错误日志 errorlog ,我的神啊,竟然变成3414错误了,肯定是刚才蓝屏的时候,数据库在恢复日志被中断了,这样就要重建数据库日志了190197: Master device size: 30 megabytes, or 15360 virtual pages. (A virtual page is 2048 bytes.)00:00000:00001:2009/04/28 16:40:14.75 server Error: 3414, Severity: 21, State: 100:00000:00001:2009/04/28 16:40:14.75 server Database 'FD_JXC' (dbid 4): Recovery failed. Check the SQL Server errorlog for further information as to the cause.Error: 3414, Severity: 21, State: 1 Database 'FD_JXC' (dbid 4): Recovery failed. Check the SQL Server errorlog for further information as to the cause.解决办法: 重建数据库日志,方法如下:/* 1、赋予sa用户sybase_ts_role的角色 (这步最重要,我一开始没搞,费了不少工夫) */sp_role "grant","sybase_ts_role",sa/* 2、将数据库状态修改为 -32768 即 bypass recovery */sp_configure "allow updates",1update master..sysdatabases set status =-32768 Where name="FD_JXC" 这时需要停止Sybase服务并且重新启动Sybase/* 3、rebuild数据库日志 */dbcc rebuild_log(FD_JXC,1,1)第二次停止Sybase服务并且重新启动Sybase/* 4、将数据库状态修改为正常 status=0 */update master..sysdatabases set status=0 Where name="FD_JXC"sp_configure "allow updates", 05、还要第三次停止并重启Sybase服务,如果数据库恢复正常,rebuild log工作将会成功完成,否则要恢复数据库备份,使用dump database或bcp命令。
数据库连接异常的解决过程嘿,朋友们!咱今儿就来唠唠这数据库连接异常的事儿。
你说这数据库啊,就好比是一个大宝藏,咱得想法子和它顺利搭上关系,才能拿到里面的宝贝呀。
可有时候呢,它就闹起脾气来,连接就异常啦!就好像你要去一个特别重要的地方,结果路给堵住了,你着急不着急?这时候咱就得冷静下来,好好找找解决办法。
咱先看看是不是网络的问题呀。
就跟你走路一样,路不通畅,你咋能到目的地呢?检查检查网络连接,看看是不是有啥地方松了呀,或者是不是被啥东西给干扰啦。
再想想是不是账号密码的事儿。
这就好比是开门的钥匙,你钥匙不对,咋能进得去那扇门呢。
仔细核对核对,可别马虎了。
还有啊,数据库的配置也得瞅瞅。
这就像是给宝藏设置的规则,规则不对,那肯定不行呀。
看看各种参数啥的,是不是都整对了。
要是这些都没问题,那咱就得往深了挖一挖了。
是不是服务器那边出啥状况啦?这服务器就像是宝藏的守护者,它要是不舒服了,那咱也不好办呀。
有时候啊,解决这个问题就跟解谜一样,得一层一层地剥开,才能找到真正的原因。
你说这像不像玩一个特别有挑战性的游戏?咱得有耐心,有细心,才能通关呀。
比如说,我之前就遇到过一次数据库连接异常。
哎呀,那可把我急坏了。
我就按照上面说的这些方法,一个一个地排查呀。
先看网络,没问题;再看账号密码,也对;然后检查配置,嘿,还真发现了个小错误。
我赶紧给它修正了,嘿,你猜怎么着,连接成功啦!当时那心情,就跟找到了宝藏的入口一样兴奋。
所以啊,朋友们,遇到数据库连接异常别慌张,咱一步一步来,肯定能找到解决办法的。
就像那句话说的,办法总比困难多嘛!咱可不能被这点小困难给打倒了,咱得和这数据库好好较较劲,让它乖乖听话,为咱服务!你说是不是这个理儿?反正我是这么觉得的,大家也都好好琢磨琢磨吧!。
Sybase编程中出现的错误及其解决办法-电脑资料SYBASE 数据库是当今在UNIX环境下最为流行的大型数据库之一,本人在SYBASE下开发和维护软件的过程中,发现了一些SYBASE 的内部规则,在程序设计中极易造成误解,而达不到预期的目的,。
下文将本人所发现的几个问题及其解决办法叙述如下:1、在sybase11.5中,组合两个定长的char(x)="aaa",char (y)="bbb"; char(x)+char(y)!="aaabbb"declare @val_1 char(8)declare @val_2 char(1)select @val_2 = 'x'select @val_1 = "0000"select @var_1= @val_1 + @val_2select @var_1我们期望的结果为0000x,而实际上其结果为0000。
解决方法一:当我们将"select @var_1=@val_1+@val_2",改为"select @var_1=rtrim(@var_1)+@var_2"时,我们便看到了我们所期望的结果。
为什么呢?在有的SYBASE版本中存储一个char(n)时,在其真实值后补上了相应数量的空格,在本例中,存储在@var_1中的是0000 (在0000后有四个空格)。
你可以加上如下两句来验证:declare @val3 char(10)select @val3 = @val_1 + @val_2select @val3这时你会得到的结果为0000 x (在0000后有四个空格)。
解决方法二:将char 改为 varchar 也可以达到预期的目的,电脑资料《Sybase编程中出现的错误及其解决办法》(https://www.)。
2、用alter table 增加表结构时,虽然用sp_recompile tablename 重编译了所影响的数据库对象,但在运行某些包含"select * from tablename"的存储过程时,存储进程仍不认识用alter table 增加的列。
数据库故障排除方法与常见问题解决数据库是现代应用程序的关键组成部分。
它们存储和管理应用程序的数据,确保数据的安全性、可靠性和一致性。
然而,由于各种原因,数据库可能会出现故障,导致应用程序停止工作或数据丢失。
在本文中,我们将探讨一些常见的数据库故障和排除方法。
常见的数据库故障包括数据库服务器崩溃、硬件故障、网络问题和错误的配置。
这些问题可能会导致数据库无法启动、应用程序无法访问数据库或数据库性能下降。
以下是一些排除这些问题的方法:1. 检查日志文件:数据库通常会生成日志文件,记录发生的事件和错误。
检查日志文件可以帮助我们确定故障的原因。
日志文件通常位于数据库服务器的特定目录中,根据数据库管理系统的不同而有所不同。
通过查看日志文件,我们可以找到与故障相关的错误消息,例如数据库连接错误或索引损坏。
2. 检查数据库连接:数据库连接问题是常见的故障原因之一。
确保应用程序正确配置和使用正确的连接字符串。
还可以尝试使用数据库管理工具连接到数据库。
如果连接成功,那么问题可能在应用程序中,否则可能是数据库服务器配置或网络问题。
3. 检查硬件和网络:硬件故障和网络问题可能导致数据库故障。
确保数据库服务器的硬件正常运行,并且没有任何故障指示灯。
检查网络连接是否正常,并且没有丢包或延迟。
在特定的网络故障条件下,可能需要联系网络管理员以解决问题。
4. 检查数据库配置:如果数据库无法启动,可能是由于配置错误。
检查数据库服务器的配置文件,确保数据库的基本设置以及应用程序所需的设置正确配置。
这些设置可能包括存储路径、内存分配和并发连接数。
5. 数据库备份和恢复:数据库备份是应对数据丢失的重要措施。
如果数据库发生故障且无法修复,则可以尝试从最近的备份中恢复数据。
确保定期进行数据库备份,并且备份文件存储在不同的位置以防止数据丢失。
6. 数据库优化:数据库性能下降可能是由于查询慢、索引丢失或数据库结构不良引起的。
通过重新设计查询、重建索引、优化数据库结构等方法,可以提高数据库的性能和响应能力。
Sybase服务故障的分析及解决办法一、问题的起因国库业务系统用DELL服务器原为国库核算系统、国库统计系统、国库综合业务报表系统、国债兑付管理系统四套业务系统的工作机,自2003年以来就投入运行,因使用时间较长,期间做过不少次系统配置更改及业务系统升级换代,因此运行速度越来越慢,且常出现些小问题,为此笔者新装了一台HP DX2000计算机作为生产机,而把DELL服务器改作备份机,以便于有充裕的时间对其进行系统的整理维护,提高其整体性能。
前些天,国库业务人员因为业务问题需要使用备份机,发现国库综合业务系统无法正常登录,查询服务功能,发现NTRS服务没有启动,如是采用手工启动的方法,结果出现如下错误提示:“在本地计算机,无法启动Sybse SQLServer_ntrs服务并未返回错误。
这可能是一个Windows内部错误或服务内部。
如果问题持续存在,请与您的系统管理员联系。
”二、处理的过程为解决此故障,笔者反复多次启动服务,乃至重新启动机器,但问题依然如此,联想到新装HP DX2000计算机更改IP地址时也出现过如此问题,而且Sybase Config也经常出现启动错误,需要到Sybase 系统目录中找到对应文件直接执行才能解决问题,因此认为Sybase本身可能存在某些问题,需要手工更改其他配置。
如是笔者打电话咨询总行信息技术支持中心,答复这个问题咨询的电话较多,每周都有好几个,这属于Sybase系统本身的不完善问题,而总行已经解除了与Sybase公司的服务协议,因此没有办法解决,只能删除NTRS服务再重建。
辛辛苦苦建立的NTRS服务,怎忍心一删了事,而且国库统计系统、国库综合业务报表系统、国债兑付管理系统三套系统都使用此服务,到时恢复起来也较费事。
抱定不到黄河心不死,见到棺材也不落泪的心里,笔者广泛查找资料,多方电话咨询Sybase方面的专家,经过连续数天的实践摸索,终于查明是Sybse服务配置的冲突所至,需要通过Sybase Dsedit更改系统配置或手工清理、修改SQL.ini文件。
错误消息按Sybase 错误代码进行索引Sybase 错误代码是一组错误代码集,用于所有Sybase 产品,包括Adaptive Server Enterprise。
Adaptive Server Anywhere 所返回的每个Sybase 错误代码,都有与之匹配的Adaptive Server Anywhere 错误代码。
在许多情况下,Adaptive Server Anywhere 错误代码比对应的Sybase 错误代码更详细,因此,下表中的某些Sybase 错误代码并不是唯一的。
Sybase 错误代码Adaptive Server AnywhereSQLCODE错误消息0 –631 RAISERROR 被执行:%1102 –171 打开游标时出错102 –199 在游标上的INSERT/_delete 只能修改一个表102 –933 IQ 数据库需要日志102 –275 在运行时服务器中不支持触发器和过程102 –273 在触发器动作中不允许执行COMM IT/ROLLBACK 102 –131 '%1' 附近有语法错误%2102 –687 语法错误,未指定IQ PATH 时不能指定IQ 特定选项102 –875 无法连接到'%1'102 –145 未找到外键名'%1'102 –271 触发器定义与现有触发器冲突102 –272 触发器定义中的REFERENCES 子句无效102 –635 不允许在视图上对列权限GRANT102 –151 子查询只允许一个选择列表项102 –269 不能删除或重命名触发器定义中引用的列103 –250 标识符'%1' 过长104 –854 ORDER BY 子句中对'%1' 的函数或列引用无效108 –152 ORDER BY 说明无效133 –262 未找到标签'%1'134 –261 已有名为'%1' 的变量137 –260 未找到变量'%1'154 –623 过程或触发器中不允许数据定义语句155 –200 无效的选项'%1' —不存在PUBLIC 设置174 –154 函数'%1' 的参数数目错误176 –611 不支持的Transact-SQL 功能176 –148 未知函数'%1'182 –159 无效的列号201 –639 调用过程'%1' 时参数名遗失201 –615 在过程'%2' 中未找到参数'%1'201 –737 签名'%1' 与过程参数不匹配205 –153 UNION、INTERSECT 或EXCEPT 中的_select 列表长度不匹配207 –124 从表'%1' 中删除的列多于定义的列207 –143 未找到列'%1'208 –142 未找到相关名'%1'209 –144 在多个表中找到列'%1' —需要相关名209 –163 派生表'%1' 没有列%2 的名称213 –207 _insert 的值数目错误217 –274 过程或触发器调用嵌套太深220 –158 值%1 超出了目标的范围230 –191 无法修改表'%2' 中的列'%1'230 –190 不能更新表达式233 –195 表'%2' 中的列'%1' 不能为NULL233 –733 已超出所允许的NULL 的列数限制257 –157 无法将%1 转换为%2257 –705 从过程'%1' 返回的void 类型不能在任何表达式中使用262 –121 权限被拒绝:%1264 –637 重复的插入列285 –708 READTEXT 或WRITETEXT 语句无法引用视图301 –147 出现多种将'%1' 连接到'%2' 的方法301 –680 Transact-SQL 外连接的WHERE 子句中的表达式无效301 –146 无法将'%1' 连接到'%2'305 –681 Transact-SQL 外连接中使用的连接类型无效311 –295 无法唯一标识游标中的行314 –122 操作将引起组循环315 –136 表'%1' 在外连接循环中315 –137 表'%1' 需要唯一的相关名401 –134 未实现功能'%1'401 –135 语言扩充401 –156 '%1' 附近的表达式无效401 –994 函数或过程'%1' 的参数过多404 –890 语句大小或复杂程度超过服务器限制409 109 集合函数中的空值已删除409 –90 过程'%2' 的参数'%1' 不能为空504 –265 未找到过程'%1'509 –140 用户ID '%1' 不存在512 –186 子查询不能返回多个行518 103 无效的数据转换532 104 上次读取后行已更新532 106 表'%2' 中列'%1' 的值已更改538 –627 在'%1' 附近的语法中检测到不允许的语言扩充546 –194 表'%2' 中的外键'%1' 没有主键值547 –198 表'%1' 中行的主键被表'%3' 中的外键'%2' 引用547 –677 表'%1' 有带参照动作的外键548 –196 表'%2' 的索引'%1' 将不唯一548 –209 违反了约束'%1':表'%3' 中列'%2' 的值无效549 –729 无法强制使用指定的外键(%1)550 –632 在基表'%1' 中插入/更新时违反了WITH CHECK OPTION553 –264 FETCH 中的变量数错误554 –208 上次读取后行已更改—操作被取消557 –853 游标未处于有效状态557 –170 尚未声明游标558 –172 游标已打开559 –180 游标未打开560 100 未找到行560 –197 没有当前的游标行573 –738 口令至少必须有%1 个字符590 111 语句无法执行601 –642 无效的SQL 描述符名708 –80 无法启动数据库服务器708 –86 没有足够的内存来启动708 –679 分配给Java 虚拟机用于远程访问的内存不足709 –996 找不到指定的本地连接。
数据库故障处理总结在当今数字化的时代,数据库作为企业和组织存储和管理关键信息的核心组件,其稳定运行至关重要。
然而,由于各种原因,数据库故障不可避免。
及时、有效地处理这些故障,对于保障业务的连续性和数据的完整性具有重要意义。
接下来,我将对数据库故障处理的相关内容进行总结。
一、常见的数据库故障类型1、硬件故障硬件故障是数据库故障中较为严重的一种。
例如,服务器的硬盘损坏、内存故障、电源故障等。
这些问题可能导致数据库服务突然中断,数据丢失或损坏。
2、软件故障数据库软件本身可能存在漏洞或错误,如数据库系统的崩溃、补丁安装失败、升级过程中的问题等。
3、网络故障网络连接不稳定、网络延迟过高或网络中断都可能影响数据库的正常访问和数据传输。
4、人为操作失误这是比较常见的故障原因之一。
例如,误删除数据、错误的配置更改、未遵循标准操作流程等。
5、数据损坏数据可能由于病毒攻击、存储介质老化、系统错误等原因而损坏。
二、数据库故障的监测与预警为了能够及时发现数据库故障,我们需要建立有效的监测与预警机制。
1、性能指标监控定期监控数据库的关键性能指标,如 CPU 使用率、内存利用率、磁盘 I/O 速度、连接数等。
当这些指标超过预设的阈值时,及时发出警报。
2、日志分析仔细分析数据库的日志文件,包括错误日志、事务日志等。
通过对日志的分析,可以提前发现潜在的问题。
3、数据备份与恢复验证定期对数据备份进行恢复验证,确保备份数据的可用性和完整性。
4、监控工具的使用利用专业的数据库监控工具,如 Nagios、Zabbix 等,它们可以提供更全面、实时的监控和报警功能。
三、数据库故障处理的流程1、故障报告与确认当发现数据库故障时,相关人员应及时报告。
负责处理故障的人员需要对故障进行确认,明确故障的类型、影响范围和严重程度。
2、紧急处理对于严重影响业务的故障,应采取紧急措施,如暂时切换到备用系统、暂停相关业务操作等,以减少损失。
3、故障分析对故障进行深入分析,查找故障的根本原因。
SYBASE数据库的使用及日常问题的解决方法中兴通讯固网南京用服部辛国成摘要:介绍sybase数据库的基础知识和核心系统SQL Server的基本特征以及sybase软件重要组成、系统库和用户数据库主要部分,sybase数据库各种问题的处理。
关键词: SQL Server 数据库备份BCP表操作1 Sybase基础知识1.1 Sybase软件的组成Sybase软件可划分为以下三个部分:(1)进行数据管理与维护的联机关系数据库管理系统Sybase SQL Server;( 2 )支持数据库应用系统的建立和开发的一组前端工具软件Sybase SQL Tools;(3)可把异构环境下其他厂商的应用软件和任何类型的数据连接在一起的接口软件Open Client/Open Server。
SQL Server是个可编程的数据库管理系统(DBMS),它是整个Sybase产品的核心软件,起着数据管理、高速缓冲区管理、事务管理的作用。
1.2 SQL Server的基本特征SQL Server是个关系数据库管理系统,它具有如下一些基本特征:(1)SQL Server可以放在若干个磁盘设备上,初始安装时所需的磁盘空间根据版本不同需要的空间不同。
(2)SQL Server支持多库结构,也就是说Sybase系统中可以有多个数据库。
Sybase可以管理多个数据库。
(3)SQL Server可以编译和运行T-SQL语句,并可返回客户程序所要求的结果。
T-SQL语句是标准SQL的扩充,它除了有数据定义语句、数据操纵语句和数据控制语句之外,主要增加了流程控制语句。
(4)SQL Server可以管理多个用户并具有较高的事务吞吐量和较低的事务响应时间。
1.3 客户/服务器体系结构Sybase系统是一种建立在客户/服务器体系结构上的数据库管理系统。
那么什么是客户/服务器体系结构?从硬件角度看,客户/服务器体系结构是指将某项任务在两台或多台机器之间进行分配,其中客户机(Client)用来运行提供用户接口和前端处理的应用程序,服务器机(Server)提供客户机使用的各种资源和服务。
SQL server数据库代码错误926与945与5003解决办法一如何解决数据库置疑的问题(错误代码:926)A.我们使用默认方式建立一个供恢复使用的数据库(如zqsys)。
可以在SQL Server Enterprise Manager(即企业管理器)里面建立。
B.停掉数据库服务器。
C.将刚才生成的数据库的日志文件zqsys_log.ldf删除,用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件zqsys_data.mdf。
D.启动数据库服务器。
此时会看到数据库zqsys的状态为"置疑"。
这时候不能对此数据库进行任何操作E.设置数据库允许直接操作作系统表。
此操作可以在SQL Server Enterprise Manager里面选择数据库服务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统目录直接修改"一项选中。
也可以使用如下语句来实现。
use mastergosp_configure 'allow updates',1goreconfigure with overridegoF.设置zqsys为紧急修复模式update sysdatabases set status=-32768 where dbid=DB_ID('zqsys')此时可以在SQL Server Enterprise Manager里面看到该数据库处于"只读\置疑\脱机\紧急模式"可以看到数据库里面的表,但是仅仅有系统表G.下面执行真正的恢复*作,重建数据库日志文件dbcc rebuild_log('zqsys','C:\Program Files\Microsoft SQL Server\MSSQL\Data\zqsys_log.ldf') 执行过程中,如果遇到下列提示信息:服务器: 消息5030,级别16,状态1,行1未能排它地锁定数据库以执行该*作。
如何修复Sybase数据库对于数据库的恢复,一直是用户比较头痛的一个问题,特别是Sybase数据库,由于该数据库本身构架比较复杂,所以大多数用户对Sybase数据库一知半解,当Sybase数据库出现问题时,用户很难及时对数据库采取有效的修复,从而造成了数据库文件丢失的情况。
就目前而言,当Sybase数据库出现故障数据丢失时,大家要如何对其进行恢复呢?当Sybase数据库出现各种故障问题时,最好的解决方法不是根据网上的解决方法一个个尝试,而是直接咨询专业的数据恢复机构,让专业的数据库修复专家帮助修复数据库故障,恢复数据库丢失的各种数据。
(1)系统崩溃只剩下数据文件的情况下的恢复,甚至数据库文件不存在而只有损坏得备份文件情况下得恢复。
(2)误Delete、Drop、Truncate操作的数据库修复。
(3)各种sybase错误的修复。
(4)sybase数据库被标记为可疑,不可用等情况。
(5)由于坏块无法启动或无法使用的数据库修复。
(6)sybase数据库无数据文件但有有日志的情况下的恢复。
(7)sybase数据库只有设备数据文件没有任何日志的情况下的恢复。
(8)sybase数据文件被误删除情况下的恢复。
(9)磁盘阵列上的sybase数据库被误格式化情况下的恢复。
(10)Sybase IQ各种IO错误的数据库修复等等。
提醒:1)不要试图用网上各种软件自行恢复,也不要随意使用网上所说的恢复方法,盲目的操作最终可能会让数据库故障更加严重,数据也会遭到二次破坏。
2)不要再往硬盘上写入任何数据。
在数据丢失后进行任何操作都可能导致数据永久丢失无法恢复。
3)不要重建数据库,不要作任何操作。
4)不要交由不具有技术和能力的公司或个人恢复,一定要将其交给专业的数据恢复机构,让专业的数据库恢复专家进行数据库修复。
数据库故障排除的常见问题与解决办法数据库是现代信息系统中不可或缺的组成部分,而数据库故障的出现可能导致系统停摆,甚至影响到企业的正常运营。
因此,了解常见的数据库故障以及相应的解决办法,对于保证数据库的稳定性和可靠性至关重要。
本文将介绍一些常见的数据库故障,并提供可能的解决办法。
1. 数据丢失或损坏数据库中的数据可能会因为各种原因而丢失或损坏,例如硬件故障、人为操作失误、软件故障等。
这种情况下,最好的解决办法是恢复备份的数据。
数据库管理员应该定期备份数据库,并确保备份文件的完整性和可用性。
在数据丢失或损坏的情况下,可以使用备份文件进行数据恢复。
2. 数据库性能下降数据库性能下降可能是由于数据库中的数据量过大、索引失效、数据库配置不当等原因引起的。
首先,可以通过优化查询语句来改善数据库性能。
这包括重构查询语句、使用索引来加速查询等。
其次,可以通过优化数据库配置来改善性能。
例如增加内存、调整缓冲区大小等。
另外,定期进行数据库维护和清理也是提升数据库性能的有效手段。
3. 数据库连接问题数据库连接问题是常见的数据库故障之一。
可能会出现连接超时、连接池满、连接断开等问题。
这种情况下,可以尝试增加连接池的最大连接数来解决连接池满的问题。
此外,及时关闭不再使用的数据库连接可以释放资源。
对于连接超时的问题,可以尝试增加超时时间。
4. 死锁死锁是指两个或多个事务互相等待对方释放资源,导致进程无法继续执行的情况。
数据库中的死锁问题可能会导致性能下降或请求超时等问题。
为了解决死锁问题,可以通过增加锁的超时时间、调整事务隔离级别等方式来减少死锁发生的概率。
另外,及时提交或回滚事务,释放锁资源也是解决死锁问题的有效方法。
5. 数据库安全问题数据库安全是数据库管理工作中不可忽视的部分。
数据库可能会受到未经授权的访问、数据泄露、数据篡改等安全威胁。
为了保护数据库的安全,首先需要实施严格的访问控制策略,例如限制用户权限、使用强密码等。
Sybase数据库故障处理方法一、Sybsystemprocs 库“挂起”解决办法1.修改文件,修改Sybase 数据库可以修改系统参数.2.$ vi查找“allow updates” ,将其修改为1.(缺省值为0).既allow updates to system tables=1重新启动系统.3.用 isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为-32768.$isql –Usa –P1>update master..sysdatabases2>set status = -32768 where name =”sybsystemprocs”1>go1>shutdown with nowait2>go关闭数据库重新启动.4.用 isql 登录到sql server 中,修改master库中sysdatabases 表中sybsystemprocs 库对应的status 的值为0.$isql –Usa –P1>update master..sysdatabases2>set status = 0 where name =”sybsystemprocs”3>go1>shutdown with nowait2>go关闭数据库重新启动.5.将中的”allow updates to system”的值改为0.二、如何恢复master数据库ASE can't setup and has no valid dump of master1、编辑RUN_servername在命令行最后加入:-T36072、单用户模式启动ASE$cd install$startserver -f RUN_servername -m3、bcp out系统表$bcp master..sysdevices out /devs -Usa -P -c$bcp master..sysdatabases out /dbs -Usa -P -c$bcp master..sysusages out /usages -Usa -P -c$bcp master..syslogins out /logins -Usa -P -c$bcp master..sysconfigures out /configures -Usa -P -c$bcp master..syscharsets out /charsets -Usa -P -c4、shutdownASE5、创建新master设备$buildmaster -d<path_to_new_master_device> -s<new_master_device_size>(new_master_device_size以2K为单位)6、编辑RUN_servername将指定master设备指定为新创建的master设备,并删除在第1步中增加的参数。
sybase常见错误在用isql连接数据库的时候,比较常见的错误有:服务没启动报错,报密码错误,报服务名不存在。
分别为:服务名不存在:CT-LIBRARY error:ct_connect(): directory service layer: internal directory control layer error: Requested server name not found.服务没有启动:CT-LIBRARY error:ct_connect(): network packet layer: internal net library error: Net-Lib protocol driver call to connect two endpoints failed密码错误:Msg 4002, Level 14, State 1:Server 'TEST':Login failed.CT-LIBRARY error:ct_connect(): protocol specific layer: external error: The attempt to connect to the server failed.在执行isql命令连接数据库的时候,报密码错误和服务名称不存在这两个错误的情况下,反映很快。
也就是说:在isql命令行后敲入回车后很快就给你提示服务名不存在或密码错误。
但是在报因服务没有启动导致的错误时,要等一段时间才有结果。
因为 isql 需要等待 ASE 服务器的响应。
连接sybase数据库的时候将依次尝试sql.ini文件中相应服务名下面的所有监听信息。
如果所有的监听信息都连接失败后,才给出无法连接的提示信息。
sybase尝试连接一个监听地址端口需要花费多长时间?失败后将继续尝试几次?以后再总结。
SYBASE解决数据库被标记为“suspect”的方法 (转载)现象: Error 926 Severity Level 14 Error Message Text Database "xx" cannot be opened - it has been marked SUSPECT by recover Explanation 当你使用Transact_SQL命令操作这个数据库的数据时,出现这个信息,这是一个严重的错误,如果你要使用这个数据库的数据,必须改正这个错误。
用SQL Advantage登录到SQL Server,须用sa帐号sp_configure "allow updates", 1goreconfigure with overridegoupdate master..sysdatabases set status =-32768 Where name="database_name"/*database_name 是你的数据库名*/goshutdown with nowaitgo 这时重新启动SQL Server,再有SA帐号注册到SQL Server。
update master..sysdatabases set status=0 Where name="database_name"/*database_name 是你的数据库名*/gosp_configure "allow updates" ,0goreconfigure with overridego 如果你的数据库原来有dboption,你需要重新设置这些选项。
可以参考《系统管理员手册》。
SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结 (1)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统 (1)2. 数据库日志损坏时重建日志启动数据库的解决办法 (3)3. 数据库处于可疑状态的解决方法 (5)4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库? (8)5.不小心直接删除了日志的设备文件,如何恢复数据库? (13)6.sa密码忘记了导致isql -Usa -P******进不去怎么办? (15)7.关于sybase的配置-(数据库慢的请留意) (15)8.设备路径更改的方法 (19)9.dump文件load后数据库访问不了解决办法 (20)10.sybase数据库备份方案 (20)11.master数据库状态被置为-32768后的处理方法 (26)1. SYSLOGS日志满了进不了系统,如何清除日志启动系统业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决:第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。
系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。
1>sp_configure "allow update",12>go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。
SYBASE 数据库常见问题总结SYBASE 数据库常见问题总结1. SYSLOGS日志满了进不了系统,如何清除日志启动系统2. 数据库日志损坏时重建日志启动数据库的解决办法3. 数据库处于可疑状态的解决方法4.Sybase系统崩溃了,没有备份,但设备文件还存在,如何恢复数据库?5.不小心直接删除了日志的设备文件,如何恢复数据库?6.sa密码忘记了导致isql -Usa -P******进不去怎么办?7.关于sybase的配置-(数据库慢的请留意)8.设备路径更改的方法9. dump文件load后数据库访问不了解决办法10.sybase数据库备份方案11.master数据库状态被置为-32768后的处理方法1. SYSLOGS日志满了进不了系统,如何清除日志启动系统业务系统数据库不能正常启动,对于这一类问题,我们按照如下步骤解决:第一步,启用allow updates to system tables,这样可以使具有系统管理员角色的用户能够改变系统表并可创建和修改系统表的存储过程,其中系统表包括master数据库中所有Sybase提供的表以及用户数据库中所有以“sys”开头的表和在sysobjects表中其ID值小于或等于100的表。
系统表的不正确变更会导致数据库损坏和数据丢失,修改系统表时务必要使用begin transaction来保护数据库不受可能损坏数据库的错误影响,完成修改后应立即禁用allow updates to system tables。
1>sp_configure "allow update",12>go第二步,Adaptive Server中的每个数据库在sysdatabases中都有相应的一行,安装Adaptive Server后,master数据库、model数据库、sybsystemprocs和tempdb数据库在sysdatabases中都将有相应的条目,如果已经安装审计功能,sybsecurity数据库也将在其中有相应的条目。
Sybase 926数据库挂起、3414错误解决方法(Error: 926 Error: 3414)一、查看错误日志 errorlog 发现了这段记录
00:00000:00001:2009/04/28 16:13:36.46 server Error: 926, Severity: 14, State: 1
00:00000:00001:2009/04/28 16:13:36.46 server Database 'FD_JXC' cannot be opened. An earlier attempt at recovery marked it 'suspect'. Check the SQL Server errorlog for information as to the cause.
00:00000:00002:2009/04/28 16:13:36.46 kernel network name
200.100.101.100, type ether, port 5000, filter NONE
00:00000:00003:2009/04/28 16:13:36.48 kernel network name yzserver, type ether, port 5000, filter NONE
00:00000:00001:2009/04/28 16:13:36.48 server Unable to proceed with the recovery of dbid <4> because of previous errors. Continuing with the next database.
明显的 926 数据库挂起错误,即先将数据库状态修改为 -32768 然后再修改为0
/* 1、将 'allow updates' 从 0 改为 1 允许修改系统表*/
sp_configure "allow updates", 1
/* 2、将数据库状态修改为 -32768 即 bypass recovery */
update sysdatabases set status = -32768 Where name="FD_JXC"
这时需要停止Sybase服务并且重新启动Sybase
/* 3、将数据库状态修改为正常 status=0 */
update sysdatabases set status=0 where name="FD_JXC"
sp_configure "allow updates", 0
第二次停止Sybase服务并且重新启动Sybase
这步完成后一般重新设置数据库选项(例如"select into","trunc log on chkpt"等)
exec sp_dboption FD_JXC, 'select into/bulkcopy' ,true
exec sp_dboption FD_JXC, 'trunc. log on chkpt' ,true
运行dbcc命令检查数据库的一致性
dbcc checkdb(FD_JXC)
备份用户数据库
dump database FD_JXC to "D:\backup\FD_JXC0428.dump"
晕死,眼看胜利在望,服务器蓝屏,无语,破机器,只好非法关机重新启动,启动好后数据库还是无法正常使用,再查看错误日志 errorlog ,我的神啊,竟然变成3414错误了,肯定是刚才蓝屏的时候,数据库在恢复日志被中断了,这样就要重建数据库日志了
190197: Master device size: 30 megabytes, or 15360 virtual pages. (A virtual page is 2048 bytes.)
00:00000:00001:2009/04/28 16:40:14.75 server Error: 3414, Severity: 21, State: 1
00:00000:00001:2009/04/28 16:40:14.75 server Database 'FD_JXC' (dbid 4): Recovery failed. Check the SQL Server errorlog for further information as to the cause.
Error: 3414, Severity: 21, State: 1 Database 'FD_JXC' (dbid 4): Recovery failed. Check the SQL Server errorlog for further information as to the cause.
解决办法: 重建数据库日志,方法如下:
/* 1、赋予sa用户sybase_ts_role的角色 (这步最重要,我一开始没搞,费
了不少工夫) */
sp_role "grant","sybase_ts_role",sa
/* 2、将数据库状态修改为 -32768 即 bypass recovery */
sp_configure "allow updates",1
update master..sysdatabases set status =-32768 Where name="FD_JXC" 这时需要停止Sybase服务并且重新启动Sybase
/* 3、rebuild数据库日志 */
dbcc rebuild_log(FD_JXC,1,1)
第二次停止Sybase服务并且重新启动Sybase
/* 4、将数据库状态修改为正常 status=0 */
update master..sysdatabases set status=0 Where name="FD_JXC"
sp_configure "allow updates", 0
5、还要第三次停止并重启Sybase服务,如果数据库恢复正常,rebuild log工作将会成功完成,
否则要恢复数据库备份,使用dump database或bcp命令。
6、重新设置数据库选项(例如"select into","trunc log on chkpt"等)
exec sp_dboption FD_JXC, 'select into/bulkcopy' ,true
exec sp_dboption FD_JXC, 'trunc. log on chkpt' ,true
运行dbcc命令检查数据库的一致性
dbcc checkdb(FD_JXC)
备份用户数据库
dump database FD_JXC to "D:\backup\FD_JXC0428.dump"。