SDE連接超出最大數(shù)及自動剔除SDE死連接解決辦法一、問題: 在我們平常的應用中, 特別是給多用戶的實施過程中。 有時會出現(xiàn)圖形庫莫名的連接不上,如果用ARCMAP或ARCCATALOG連接的時候還會提示錯誤信息 “Failed to connect to database. Maximum number of conections to instance exceeded”。 錯誤提示非常清晰, 可是怎么解決呢? 很多時候的解決辦法都是重啟SDE服務或刪除SDE服務所在機器上的GSRVR.EXE進程。 這雖然可以解決當前的問題,但過一段時間后又會出現(xiàn)同樣的狀況, 不勝其擾。 二、解決步驟: 1、修改最大連接數(shù),并開啟連接檢測。 1)連接數(shù)的確認。在修改之前我們需要清楚多大的連接數(shù)比較合適。我們可以通過敲入如下命令查看當前SDE的一些基本設置參數(shù):sdemon –o info –I config。也可以通過命令查看當前用戶連接數(shù):sdemon –o info –I users, (在sdemon命令后加上?就可以查看該命令的所有參數(shù)信息)。 在為用戶設置最大連接數(shù)的時候, 需要預估一下在同一時間最多可能會有多少個連接進程。在SDE中開啟的進程數(shù)和連接用戶數(shù)是隨著實例計算的, 如一臺機器打開N個ARCMAP并連上數(shù)據(jù)庫后, 就有N個連接進程和N個連接用戶的記錄。 2)方法一。 用PLSQL或TOAD打開SDE用戶下的表SEVER_CONFIG,編輯字段CONNECTIONS值為你的最大連接數(shù)。設置字段TCPKEEPALIVE值為TRUE(或者是改為1)。 3)方法二。 打開SDE的安裝目錄下的(一般安裝路徑為C:\arcgis\ArcSDE\sqlexe\etc)giomgr.defs文件進行編輯,設置CONNECTIONS參數(shù)為你的最大連接數(shù)。然后設置TCPKEEPALIVE參數(shù)為TRUE。 通過命令導入到數(shù)據(jù)庫中:sdeconfig –o import –f C:\arcgis\ArcSDE\sqlexe\etc\giomgr.defs –i esri_sde(數(shù)據(jù)庫實例名) –s (ServerName) –u sde(用戶名) –p sde(密碼) 。 設置好后需要重啟SDE服務才能生效。 2、設置KeepAliveTime參數(shù)值 在 注冊表\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\TCPIP\Parameters\KeepAliveTime.設置值為300000。這里的300000指的是毫秒單位 3、設置連接所需分配內存大小 Windows為每個服務分配了一個固定大小的內存(默認512K)。每個sde進程大約需要9K內存,因此sde默認的連接數(shù)為512/9約等于48??梢孕薷倪@個內存數(shù),將512k改為1024,如果連接數(shù)超過250,可以改成2048。 需要修改注冊表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems\Windows 項目中的SharedSection,并將原SharedSection=1024,3072,512中的第三項改為1024或2048等數(shù)即可修改系統(tǒng)的默認最大連接數(shù)”。
|
|
來自: 昵稱25644627 > 《網(wǎng)絡》