很糾結的導資料問題ora 12524位址被占用

2021-08-31 07:55:17 字數 846 閱讀 3776

今天從sqlserver2005資料庫匯入到oracle 10g資料庫中,開始報 jvm堆記憶體不夠,修改最大記憶體後還是報錯。

報的是網路連線中斷,每次只能導4000多條資料,20多2萬的資料得手動執行多少次才行啊?手動執行也就罷了,可氣的是

每次執行中斷後還得等一會才能繼續導資料,糾結了乙個多小時後偶爾發現oracle報錯為 ora-12542: tns位址被占用,有個正

常的報錯提示還算可以,上網找了找原因,重要找到原因。

這主要是由於 作業系統的 臨時埠 不夠用而引起的。 一般系統的 臨時埠為 1024-5000,這在多使用者的環境下,3000多

個oracle鏈結就用光了。由於每個鏈結斷開以後,還要有乙個等待時間,例如在 windows 系統中,這個時間是 120秒。   

這就導致了乙個現象: 一會可以聯通,一會又出現 ora-12542 address in used 。如果有臨時埠可以使用,可以聯通

oracle;如果暫時埠沒有了,就連不通了。  

一下是在 windows 系統下的解決辦法。 

1 進入登錄檔編輯器(regedit),在

hkey_local_machine\system\currentcontrolset\services\tcpip\parameters 裡,編譯-> 新增->

maxuserport (型別 reg_dword ), 值中填寫 65534,(可以的範圍是5000-65534). 

2 退出 登錄檔編輯器,重新啟動機器.  

這樣設定, 臨時埠的範圍從 1024-5000,增大到 1024-65534, 足夠一般使用者的使用,不會再出現ora-12542.  

其他系統也可以做類似的設定.  

Map基礎知識引起的很糾結的問題

首先面臨這樣一段 根據注釋 的意思是根據childr篩選資料 suppresswarnings unchecked public static list getlist string orgid,string userid,list child if null list list.length 0 ...

Map基礎知識引起的很糾結的問題

首先面臨這樣一段 根據注釋 的意思是根據childr 篩選資料 suppresswarnings unchecked public static list getlist string orgid,string userid,list child if null list list.length 0...

最近導資料庫的問題

需要制定相同的表空間。一 以管理員身份鏈結資料庫 cmd執行sqlplus,輸入語句system as sysdba 按兩次回車登入。二 建立表空間語句 注意表空間名稱必須為v3sns 大小為10g createtablespace v3sns datafile e projects dspace ...