ArcSDE賬戶頻繁被鎖定(Oracle顯示12560協議適配器錯誤)
最近遇到了一個比較奇葩的問題,啟動系統的時候無法顯示地圖服務,查找原因時發現無法連接Oracle。出現以下錯誤:
之前遇到這種問題,通常是由於同時安裝了64位和32位Oracle客戶端,且二者的環境變量順序不正確(應該為64位環境變量在前,32位環境變量在後),但是這次並不是由於這個問題,而是由於登錄的sde賬戶被鎖定。
發現問題後將sde賬戶進行解鎖並設置了密碼不過期(解除鎖定詳見之前的隨筆 Oracle使用筆記(三))
順利登錄sde賬戶後打開查看地圖服務,發現sde賬戶又被鎖定了。
Oracle賬戶被鎖定的原因有兩種,一種是密碼已過期,一種是賬戶頻繁登錄失敗造成鎖定。
可能造成ArcSDE頻繁被鎖定的原因:
1、ArcSDE賬戶密碼已過期
解決方法:修改ArcSDE賬戶密碼並設置永不過期,之後解除鎖定
(解除鎖定詳見之前的隨筆 Oracle使用筆記(三))
由於剛才已經設置了賬戶密碼不過期,在進行新一輪測試修改的過程一直尋找可能通過sde賬戶登錄Oracle的應用和接口:
2、Arcmap中數據庫連接過期
解決方法:重新連接數據庫,之後解除鎖定
3、Arcgis Server註冊數據庫過期
解決方法:重新註冊數據庫,之後解除鎖定
(重新註冊數據庫詳見之前的隨筆 發布要素服務需要已註冊數據庫解決方法)
4、其他第三方應用或接口頻繁通過ArcSDE賬戶登錄系統
解決方法:修改通過ArcSDE賬戶登錄Oracle的應用和接口並修改賬戶密碼,之後解除鎖定
在進行以上操作後,仍舊發現ArcSDE賬戶頻繁被鎖定。。。
5、檢查Arcgis Server許可是否過期
解決方法:通過許可文件重新進行許可
6、現有ArcSDE賬戶密碼與發布地圖服務時的ArcSDE賬戶密碼不同
解決方法:更改ArcSDE賬戶密碼為創建ArcSDE服務時的密碼或重新創建ArcSDE服務
就在我黔驢技窮的時候,想起來前段時間同事更換過ArcSDE賬戶的密碼,與之前的密碼不同,抱著試一試的態度將ArcSDE賬戶密碼更改為原密碼,沒想到成功了。
由此可以得出ArcSDE賬戶密碼對於ArcSDE服務是有影響的
如果用戶使用Windows自動啟動ArcSDE服務的方式,就肯定有影響,因為Windows自動啟動ArcSDE服務是記錄了SDE用戶的密碼,這個密碼在註冊表裏面可以看到
上圖中的SDE_DBA_PASSWORD就是相關密碼,那麽用戶的SDE用戶密碼修改過後,服務肯定啟動不了。
解決方法:
方法一(推薦):將ArcSDE賬戶密碼改為創建ArcSDE服務時的密碼
方法二(推薦):停止服務、刪除ArcSDE服務、重新創建ArcSDE服務
方法三:用戶自己來使用命令行啟動服務,這樣肯定沒有問題,因為用戶輸入的密碼就是最新的密碼
ArcSDE賬戶頻繁被鎖定(Oracle顯示12560協議適配器錯誤)