在皕杰報(bào)表使用數(shù)據(jù)源的時(shí)候,超過數(shù)據(jù)庫最大連接數(shù)導(dǎo)致訪問不成功。如何修改常用數(shù)據(jù)庫的的最大連接數(shù)?
這實(shí)際上是數(shù)據(jù)庫本身的設(shè)置,下面僅就oracle、MySQL、sqlserver加以說明。
1. oracle
鏈接信息
SELECT * FROM v$session;
主要字段含義:
Username:連接用戶名
Program:應(yīng)用程序名
machine:機(jī)器名
Osuser:操作系統(tǒng)用戶
logon_time:登錄時(shí)間
STATUS:session狀態(tài)( Achtive:正執(zhí)行SQL語句,Inactive:等待操作.Killed:被標(biāo)注為刪除)
連接總數(shù)
SELECT COUNT (*) FROM v$session;
正在執(zhí)行sql語句的連接數(shù)
SELECT COUNT (*) FROM v$session where status = 'ACTIVE';
某用戶的連接數(shù)
SELECT COUNT (*) FROM v$session where status = 'ACTIVE' AND username = 'xxxx';
查看允許的最大鏈接數(shù)
select value from v$parameter where name = 'processes';
修改最大連接數(shù)
alter system set processes = 300 scope = spfile;
2. Mysql
查看mysql的最大連接數(shù):
show variables like '%max_connections%';
查看服務(wù)器響應(yīng)的最大連接數(shù):
show global status like 'Max_used_connections';
修改最大連接數(shù)
set GLOBAL max_connections=256;
方法2
修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
max_connections=256
重啟mysql服務(wù)即可。
Mysql5.5 mysql5.6 mysql5.7:默認(rèn)的最大連接數(shù)都是151,上限為:100000
Mysql5.0版本:默認(rèn)的最大連接數(shù)為100,上限為16384
3. Sqlserver
查詢最大連接數(shù)
SELECT value_in_use
FROM sys.configurations c
WHERE c.name = 'user connections';
默認(rèn)值為:0,即無限制。
查詢當(dāng)前連接數(shù)
select count(distinct(login_time)) from sys.sysprocesses
設(shè)置最大連接數(shù)
exec sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OVERRIDE
GO
exec sp_configure 'user connections', 300
GO
RECONFIGURE WITH OVERRIDE
GO
設(shè)置過后需要重啟數(shù)據(jù)庫才會生效。