Oracle forms 12c:更新fmx後無法開啟

 在最近有遇到兩個案例,最後解決的方法的一樣的,所以記錄下來。


### 案例一:

人事系統是用Oracle forms 12c開發的,作業平台是Windows Server,開發人員在修正程式之後,編譯成.fmx並上傳到Server。

此時發現程式無法開啟,也沒有出現錯誤訊息,而新程式已有測試過是正常的。


###案例二:

用FTP上傳修改過後的.fmx時發現無法更新,Server上程式的更新日期還是舊的,但是可以更名。

將程式更名備份後,再上傳新的.fmx,此時上傳成功,但是系統卻變成無法開啟該.fmx,但是將備份程式還原名稱後,又變成正常的。


上述兩種就是要檢查.fmx是不是被frmweb給佔住了,雖然佔住了,但是還是可以更名,但是frmweb一樣會咬住原本的.fmx,有點像是快取。

如果直接刪除原本的.fmx時,系統就會提示程式已經被開啟,無法刪除了。

打開「工作管理員」 -> 「效能」的頁面 -> 下方的「開啟資源監視器」(PerfMon)或是從「開始」 -> 「Windows系統管理工具」 -> 「資源監視器」



打開「資源監視器」後,到「CPU」的頁面,在「關聯控制代碼」的右邊,有一個可以搜尋的輸入框,輸入forms的名稱,例如:APF001.fmx


按下搜尋後就可以找到開啟APF001.fmx的frmweb程式,再將frmweb刪除後即可。


ora-38029: object statistics are locked