TIPTOP案例探討- 系統管理table斷開synonym


案例緣由

客戶:柚子的爸實業公司有台中廠和花蓮廠,可是兩端都有各自的IT人員及ERP開發人員,想要在TIPTOP上做到各別獨立控管;也就是台中廠的IT人員不可以去異動花蓮廠的權限、系統帳號…等等的設定。因此IT人員就將台中廠﹝資料庫為 DSTC﹞與系統資料庫﹝DS﹞的synonym全部斷開,開成實體存在的table
台中廠的Alex君某日突然發現,在啟用使用者登入帳號編碼﹝說明:TIPTOP GP 5.x後support﹞作業後突然發生異常無法登入…
案例說明

由於TIPTOP GP出現第一個畫面至使用者登入帳號、密碼輸入完成並驗證成功的過程中,系統真的也還不知道是哪個user要進來,此時當然更不會知道將進入的這個user是台中廠還是花蓮廠的。因此系統的作法是一律指定在系統資料庫﹝DS﹞內作業,直到我可以辨識user真實身份為止。
因此,若斷開各別資料庫與DS系統資料庫的synonym時,很可能就會發生基本設定不同而出現登入異常的情形。
應有作法

TIPTOP GP版本內,z*_file﹝z開頭的﹞及ga*_file / gb*_file / gc*_file 等table均屬系統基本資料表的範圍,切勿隨意移除synonym。否則很容易發生莫名其妙的系統性錯誤。
各廠間的IT人員應該相戶合作,共同維護基本資料,而從設定多組zw資料來進行管理上的切分。
又或者可以將zy_file 及 zxw_file 的synonym斷開,維護不同Database間各群組可用程式不同即可:其它系統table則仍須維持synonym。
若真的要做到完全拆開﹝連作業系統帳號都要做到互不隸屬管理﹞,那是否應該拆成兩組license並分裝在兩台機器上為宜。