修改Sybase数据库最大连接数

原创 2011年01月19日 18:11:00

今天有一家客户说数据库产生了错误,让我看一下。

Error: 1601, Severity: 17, State: 3 There are not enough 'user connections' available to start a new process. Retry when there are fewer active users, or ask your System Administrator to reconfigure SQL Server with more user connections.

经分析,认为是连接数太小导致,需要修改数据库的最大连接数。

1、查看最大连接数

sp_configure 'number of user connections'

结果如下:

Parameter Name                 Default     Memory Used Config Value Run Value   Unit                 Type      

--------------                 -------     ----------- ------------ ---------   ----                  ----      

number of user connections              25        2372          25           25 number               dynamic

Sybase的数据库默认最大连接数为25,当连接数不够用的情况下,需要修改数据库配置。

2、修改为200

sp_configure 'number of user connections',200

报如下错误:

Server Message: Number 7415, Severity 10

Procedure 'sp_configure', Line 606:

The transaction log in database master is almost full. Your transaction is being suspended until space is made available in the log.

看来是由于日志空间将满导致,需清除日志。

清除Log有两种方法:

1>自动清除法

开放数据库选项 Trunc Log on Chkpt,使数据库系统每隔一段时间自动清除Log。此方法的优点是无须人工干预,由SQL Server自动执行,并且一般不会出现Log溢满的情况;缺点是只清除Log而不做备份。

2>手动清除法

执行命令“dump transaction”来清除Log。以下两条命令都可以清除日志:

dump transaction with truncate_only

dump transaction with no_log

通常删除事务日志中不活跃的部分可使用“dump transaction with trancate_only”命令,这条命令写进事务日志时,还要做必要的并发性检查。SYBASE提供“dump transaction with no_log”来处理某些非常紧迫的情况,使用这条命令有很大的危险性,SQL Server会弹出一条警告信息。为了尽量确保数据库的一致性,你应将它作为“最后一招”。

以上两种方法只清除日志,而不做日志备份,若想备份日志,应执行“dump transaction database_name to dumpdevice”命令。

3、清除日志,选用第一种方法

dump transaction melinets with truncate_only

清除后执行sp_configure 'number of user connections',200

发现依然存在该错误

Server Message: Number 7415, Severity 10

Procedure 'sp_configure', Line 606:

The transaction log in database master is almost full. Your transaction is being suspended until space is made available in the log.

4、看来还需要清除一下master的日志文件

dump transaction master with truncate_only

再次执行sp_configure 'number of user connections',200

结果报如下错误,提示'max memory'值不够大

Server Message: Number 5861, Severity 16

Procedure 'sp_configure', Line 606:

The current 'max memory' value '23552', is not sufficient to change the parameter 'number of user connections' to '200'. 'max memory' should be greater than 'total logical memory' '26606' required for the configuration.

(1 row affected)

(return status = 1)

5、根据失败提示信息,修改'max memory'为需要的值

sp_configure 'max memory',26606

执行结果

Parameter Name                 Default     Memory Used Config Value Run Value   Unit                 Type      

--------------                 -------     ----------- ------------ ---------   ----                 ----      

max memory                           23552       53212       26606        26606 memory pages(2k)     dynamic   

Configuration option changed. The SQL Server need not be rebooted since the option is dynamic.

Changing the value of 'max memory' to '26606' increases the amount of memory ASE uses by 10 K.

(1 row affected)

(return status = 0)

6、重新修改连接数,终于成功

sp_configure 'number of user connections',200

结果如下:

 

Parameter Name                 Default     Memory Used Config Value Run Value   Unit                 Type      

-------------                 -------     ----------- ------------ ---------   ----                 ----      

number of user connections              25       17347         200          200 number               dynamic

Configuration option changed. The SQL Server need not be rebooted since the option is dynamic.

Changing the value of 'number of user connections' to '200' increases the amount of memory ASE uses by 19534 K.

(1 row affected)

(return status = 0)

7、重启数据库服务。

刚发表这篇日志,那个客户就来找我,说中午人少的时候把数据库服务期重启了,然后所有的系统都不能用了。晕哦,有点严重,马上远程连接看了下,ping也ping不通,看了一下服务也没有启,请教了一下老员工,说可能是由于内存比较小,承受不了200个连接,要改小一点。于是在sybase根目录下找到sybase.cfg,将number of user connections的值由200改为100,然后就可以启动数据库服务了。所以,改连接数的时候还要充分考虑内存的问题。

 

相关文章推荐

修改Sybase最大连接数

修改Sybase最大连接数的方法有两种,如下:       一、 进Sybase central, 鼠标右键选择数据库服务器(要处理的服务器),然后选择右键菜单中的配置选项,修改其中的number o...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

sybase数据库offline修改

isql连接数据库时,1> use hkschdb2> go出现提示sybase Database hkschdb is currently offline.解决办法:isql连接数据库,以sa用户登...

windows xp 修改最大连接数

  • 2008年09月24日 11:10
  • 32KB
  • 下载

修改MYSQL最大连接数的3种方法

  • 2009年06月12日 14:43
  • 2KB
  • 下载

C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase数据库的代码集

C#连接六类数据库的代码集 本文列出了C#连接Access、SQL Server、Oracle、MySQL、DB2和SyBase六种不同数据库的程序源码...

jdbc连接sybase数据库的问题

问题:开发jsp应用,测试用的sqlserver数据库,

Delphi用DBExpress连接sybase数据库(原创)

====================================================== 注:本文源代码点此下载 =============================...

Sybase数据库的连接,JNDI,Hibernate配置

最近的一个项目就是移植老项目的代码,有一个模块用的是Sybase数据库,我表示从来没接触过,更不用说怎么用了。再者这东西都是几乎被淘汰的东西了,而且网上搜到的东西简直了,全是复制粘贴的。  一、使用工...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:修改Sybase数据库最大连接数
举报原因:
原因补充:

(最多只允许输入30个字)