Excel 自動報表遇 ora-12516 錯誤排除

在更新公司的營運報表(Excel直接讀取資料庫)時會出現 ORA-12516 TNS:listener could not find available handler with matching protocol stack 的錯誤,但每一個 SQL 指令去分別執行時都很正常,詢問過資料庫維護廠商後給我們的答案是 Oracle Client Driver 異常,這點我覺得不太可能是,應該是出在我在短時間對幾個不同的 DB 下查詢指令,而這些資料庫都是透過 Oracle DB 做 DBLink 連結到大陸的子公司去,造成極短時間負荷過大 (Processes 及 Sessions 被吃光),所以調整一下 Excel 的查詢規則

如果也遇到大量查詢時出現上述的錯誤,可以試著把 “啟用幕後執行更改作業” 的勾取消,這樣不免的會導致 Excel 查詢這些SQL指令同時間只會執行一個,但是可以降低系統的負荷就不會產生這個錯誤.

簡易 Oracle 資料同步問題, 使用 Materialized View

環境

公司使用的 ERP 系統是屬於單一家公司單一個 Schema,在大陸工廠因速度的問題所以把資料庫都建置在當地,所以就變成台灣一個資料庫,大陸兩個工廠各有一個資料庫。

 

需求

部門在前兩年開始自行開發電子簽核系統,初期只針對台灣公司導入及開發,今年度開始嘗試把大陸兩廠納入到支援的範圍,當然程式必須要針對新的公司別(主要是資料庫的緣故)做不同幅度的調整,但是最令人頭痛的是調整後的執行速度。

影響速度的因素有三點,第一是兩岸間的網路速度,當時我們僅利用 Untangle 的 OpenVPN 把兩邊串起來,速度當就沒有辦法保障,第二點是我們為了開發程式(當然還有其他用途)方便,跟大陸資料庫的連結是使用 DB Link 的方式進行,轉一手的速度自然比較慢,最後一點是Web Server 是放置在台灣,所以只要是由大陸連結都要看到由台灣傳過去的畫面,再加上資料的往返,這樣自然快不起來。

這樣導致簽核速度的低落,更慘的是簽核最後一關通常都是高階長官,而簽核的內容都必須回填 ERP 系統上某些欄位,執行速度上最差可以到30-45秒,開始測試時就被罵得半死,在不影響整個程式的邏輯上 (因為整個翻寫成本太大),只能靠資料的功能來加速整個過程。

Continue reading “簡易 Oracle 資料同步問題, 使用 Materialized View”

快速變更 Excel 查詢資料庫密碼

最近公司開始做共用帳號密碼的變更作業,先前幫很多同事做了 Excel 自動撈取 Database 的自動更新報表,一但要變更帳號就會變得很痛苦,依照該 Excel 表內用了幾個SQL查詢,就需要變更幾次密碼,坐下來沒有幾個小時做不完。

還好 Excel 還有功能可以直些列出所有使用到的資料連線,其路徑為 資料 -> 連線 就會顯示如下,Double-click 個別的連線就可編輯這個內容。

Excel Data connect list

Excel Data connect list

Continue reading “快速變更 Excel 查詢資料庫密碼”

調整 Oracle Home 順序

因近日公司內自行開發軟體的主機需要軟體升級, 目標是把 Oracle Client 端由 10g 升級到 11g, 同時開發套件也把 Framework 由 2.0 升級到 4.0, 透過 VMWare 的 Clone 機制新產生一個測試平台, 透過軟體升級後偶而出現 Oracle connection 的錯誤訊息, 重新開機或重新啟動 IIS 都可能會恢復正常, 但一下子這個錯誤訊息就會跑出來.

網路上找得到 IIS 500.19 的錯誤訊息都跟這個錯誤無關, 最後只好由最基本的除錯開始研究, 首先利用 Oracle 的 Net Manager 把所有的連線刪除掉重新連結並確認連線正常, 重啟 IIS 執行軟體, 還是遇到同樣的錯誤.

腦筋思考了一下或許是因為在同一台機器上安裝了 10g, 11g, 及 11g ODAC (Oracle Data Access Components) 等三個 Oracle Home 讓系統搞不清楚, 更重要的是 ODCA 最後裝, 但沒有地方可以設定 TNS, 或許問題就出在找不到 TNS 上面吧.
Continue reading “調整 Oracle Home 順序”

P2V 經驗談

最近開始執行 P2V 的計畫, 目的要把一台網頁主機(WWW)及一台資料庫備用主機(DB-BACK)虛擬化, 前者方便備份整合, 後者因使用量較小可以節省公司的資源.

首先兩台主機都使用 VMWare Converter 來轉換, 但是都發生了一些異常的現象導致失敗, 最後只好靠 Acronis TrueImage Server standalone 版本來轉檔; 該軟體可以先在 Server 裝好後, 直接在線上備份而不會影響到正在提供的服務, 轉檔成 TIB 格式的檔案後, 就複製到有安裝 VM Converter 的機器上來執行轉檔動作, 這樣就可以很快速的把實體主機轉製成虛擬主機.

Continue reading “P2V 經驗談”