oracle資料庫斷開連接
A. oracle ora 12537 報錯連接關閉!
問題分析:
由於之前出現過由於資料庫的監聽突然掛掉,導致連接異常,雖然那時通過PL/sql工具連接時報的異常不是這個,但是為了排除這方面的原因,還是檢查了下資料庫的監聽情況。
通過命令lsnrctl status,查看到資料庫的監聽是正常的。
因為無法通過PL/SQL連接工具連接資料庫,所有就想通過DBA系統用戶,連接資料庫,進行檢查。在資料庫伺服器上,執行「sqlplus / as sysdba」命令後,出現如下圖異常:
.jpg
看到這個ERROR,才明白,是資料庫的連接數被佔用完了,導致連接關閉的錯誤了。
問題解決:
馬上讓開發那邊的同事,關掉連接這個資料庫測試用戶,釋放一些連接。然後通過PL/SQL工具,連接上資料庫,查看當前資料庫伺服器所佔用的連接數。
select username,count(username) ,machine from v$session group by username,machine
.jpg
發現某個機器的連接數巨大,檢查對應伺服器的後台日誌,發現這些連接數都是由於程序中沒有及時釋放導致。
聯系開發人員,優化代碼。
B. 區域網內連接服務端oracle資料庫,用資料庫工具例如(obj9 ,plsql)連接一定時間就斷開了,怎麼保持連接
idle時斷開:
可能1:
每個資料庫用戶會對應一個profile,profile中有一項叫做IDLE_TIME,這項控制最大連續空閑時間,當用戶連接空閑時間超過這個限制時就自動斷開了。
可能2:
資料庫啟用了resource manager。資源管理器中有一項叫做max_idle_time,這項控制單個連接的總空閑時間,當用戶連接空閑時間超過這個限制時就自動斷開了。
可能3:
資料庫啟用了resource manager。資源管理器中有一項叫做max_idle_blocker_time,這項控制連接處於idle狀態且阻塞了其他連接的最大時間,當用戶連接處於idle狀態且阻塞了其他連接的時間超過這個限制時就自動斷開了。
運行時斷開:
可能1:
同上,profile或者resource manager中對應項限制的用戶連接使用的資源總量,當用戶執行的程序使用資源總量超過限制時就被斷開了。
可能2:
遇到資料庫bug或者第三方軟體與oracle的不兼容問題。
C. 由於突然斷電,oracle 資料庫無法啟動 提示ORA-01092:oracle實例終止。強制斷開連接 然後查看alter日誌如
SQL>conn / as sysdba;
SQL>shutdown immediate;
SQL>startup mount;
SQL>show parameter undo;(這里可以查看undo的表空間管理方式應該是auto)
SQL>alter system set undo_management=manualscope=spfile;
SQL>shutdown immediate;
SQL>startup;
我們的思路是新建一個undo表空間,替換原來損壞的表空間.刪除掉原來的壞的undo表空間.如果不放心,還可以建個和以前損壞的表空間同名的undo表空間再替換回來.這里設新建undo表空間名為undo2,原來環掉的表空間名為undotbs1.
SQL>create undo tablespace undo2 datafile'd:\oracle\oradata\orcl\undo2.dbf' size 200M;
SQL>alter system set undo_tablespace=undo2scope=spfile;
SQL>drop tablespace undotbs1 including contents anddatafiles;
SQL>create undo tablespace undotbs1datafile 'd:\oracle\oradata\orcl\undotbs01.dbf' size 200M;
SQL>alter system set undo_tablespace=undotbs1scope=spfile;
SQL>drop tablespace undo2 including contents anddatafiles;
到這里原來的undo表空間就恢復了.記得把管理方式設置為auto.很簡單不再羅嗦.
D. plsql developer 榪炴帴榪滅▼Oracle鏁版嵁搴撴椂錛屼竴瀹氭椂闂村唴涓嶆搷浣滄暟鎹搴撴椂灝變細鑷鍔ㄦ柇鎺夎繛鎺ワ紝鎬庝箞璁╁畠淇濇寔榪炴帴
瑕佷慨鏀歸厤緗鏂囦歡鐨
鎴戜篃鏈夎繃綾諱技鎯呭喌
鍦ㄧ敤鏃犵嚎璺鐢辮繛鎺ユ暟鎹搴撶殑鏃跺欏氨浼氬嚭鐜版帀綰匡紝浣嗘槸鐢ㄧ綉綰跨洿鎺ョ殑璇濓紝灝變笉浼氬嚭鐜版帀綰匡紝褰撴椂榪樼湡娌℃湁濂界殑瑙e喅鍔炴硶