-- DB
invalid object
blocking lock
unusable index
enable but invalid trigger
top 5 event
long running session
session count
tablespace free status
tablespace space compare with the previous day
segment space compare with the previous day
-- AP
concurrent program enable run alone
concurrent program enable trace
diable User Has Pending concurrent request
concurrent request running but completed
concurrent request running
concurrent manager queue status
2015年1月4日 星期日
2014年7月10日 星期四
2.4 Form Management
目前絕大多數的公司已經採用Sun Jre的方式進入Oracle ERP,但是我們家的環境因為特殊原因,所以一直無法升級,仍然是沿用Oracle Jinitiator的方式進入ERP,而我們家Jinitiator目前的版本是1.3.1.21,但是當IE升級到IE8之後,發生了form無法開啟的悲劇,幸運的是,我在網路上依然找到了類似的事故,以下是我處理的方式:
1. IE瀏覽器
1.1 下載Sun JDK 1.5的最新版本,解壓縮之後,到 "C:\Program Files\Java\jdk1.5.0_22\jre\bin\server" 擷取 jvm.dll
1.2 關閉ERP
1.3 開始 => 設定 => 控制台 => Jinitiator 1.3.1.21 => 代理程式 => "使用瀏覽器設定值" 取消打勾
1.4 copy jvm.dll 到 C:\Program Files\Oracle\JInitiator 1.3.1.21\bin\hotspot\
1.5 開啟ERP
2. Firefox瀏覽器
2.1 下載Sun JDK 1.5的最新版本,解壓縮之後,到 "C:\Program Files\Java\jdk1.5.0_22\jre\bin\server" 擷取 jvm.dll
2.2 關閉ERP
2.3 開始 => 設定 => 控制台 => Jinitiator 1.3.1.21 => 代理程式 => "使用瀏覽器設定值" 取消打勾
2.4 copy jvm.dll 到 C:\Program Files\Oracle\JInitiator 1.3.1.21\bin\hotspot\
2.5 copy C:\Program Files\Oracle\JInitiator 1.3.1.21\bin\NPJinit13121.dll to C:\Program Files\Mozilla Firefox\plugins\
2.6 開啟ERP
2.3 開始 => 設定 => 控制台 => Jinitiator 1.3.1.21 => 代理程式 => "使用瀏覽器設定值" 取消打勾
2.4 copy jvm.dll 到 C:\Program Files\Oracle\JInitiator 1.3.1.21\bin\hotspot\
2.5 copy C:\Program Files\Oracle\JInitiator 1.3.1.21\bin\NPJinit13121.dll to C:\Program Files\Mozilla Firefox\plugins\
2.6 開啟ERP
如果公司有使用Oracle Application Server 10g,也可以使用相同方式解決。
大多數人可能會遇到 form的 Timeout 問題,以及Application Server Sizing問題,先說Sizing問題。
我的經驗是,每個session給15M,假設有200個user同時上線,可能會有600個session,那就是600*15MB=9000MB,再加上可能有30個Concurrent processing,一個占用300MB,那就是30*300MB=9000MB,所以total給個24GB的記憶體應該是夠用了。
再來是 timeout問題。
1. 設定system profile
system administrator(responsibility) > profile > system > profile輸入ICX:Session Timeout >
輸入60,表示Invalid session經過60 min後過期
2. 設定session.timeout in zone.properties
在檔案 $IAS_ORACLE_HOME/Apache/Jserv/etc/zone.properties 中搜尋session.timeout
數值須和 ICX:Session Timeout 設定的相同 3600000 (millisecond)
3. 修改xml file
在檔案 $APPL_TOP/admin/$CONTEXT_NAME.xml 搜尋 s_sesstimeout 將數值設定成3600000 (millisecond)
1. 設定system profile
system administrator(responsibility) > profile > system > profile輸入ICX:Session Timeout >
輸入60,表示Invalid session經過60 min後過期
2. 設定session.timeout in zone.properties
在檔案 $IAS_ORACLE_HOME/Apache/Jserv/etc/zone.properties 中搜尋session.timeout
數值須和 ICX:Session Timeout 設定的相同 3600000 (millisecond)
3. 修改xml file
在檔案 $APPL_TOP/admin/$CONTEXT_NAME.xml 搜尋 s_sesstimeout 將數值設定成3600000 (millisecond)
2.1 Start and Stop Oracle ERP
假設環境是AP Server有ap1 and ap2,Database Server有 db1 and db2,其中db1 and db2是RAC架構,SID是PROD
1. Start Database
login db1 as oracle user
開啟Database
# srvctl start database -d PROD
檢查 listener 是否開啟,如果沒有,請開啟 listener
# srvctl start listener -n db1
# srvctl start listener -n db2
如果是非RAC的環境
# sqlplus "/as sysdba"
SQL> startup
開啟db console
# emctl start dbconsole
檢查db console
# emctl status dbconsole
2. Start Oracle ERP
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adstrtal.sh.sh
3. Stop Oracle ERP
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adstpall.sh
2. Stop AP
先關閉 Concurrent Manager
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adcmctl stop apps/<password>
再關閉 Form Service
login ap1 and ap2 as applmgr user
# adalnctl.sh stop APPS_PROD (Application 服務的 Oracle Net8 Listener)
# adapcctl.sh stop (Apache 服務,如果Form是走 servlet 架構,該指令會連 Form Service一併關閉)
# adfrmctl.sh stop (如果Form是走 CGI 架構,必須下該指令關閉 Form 服務)
# adtcfctl.sh stop (TCF Socket 服務)
3. Start AP
先開啟 Form Service
login ap1 and ap2 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adalnctl.sh start APPS_PROD
# adapcctl.sh start (如果Form是走 servlet 架構,該指令會連 Form Service一併帶起)
# adfrmctl.sh start (如果Form是走 CGI 架構,必須下該指令開啟 Form 服務)
# adtcfctl.sh start
# adcmctl start apps/<password>
1. Start Database
login db1 as oracle user
開啟Database
# srvctl start database -d PROD
檢查 listener 是否開啟,如果沒有,請開啟 listener
# srvctl start listener -n db1
# srvctl start listener -n db2
如果是非RAC的環境
# sqlplus "/as sysdba"
SQL> startup
開啟db console
# emctl start dbconsole
檢查db console
# emctl status dbconsole
2. Start Oracle ERP
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adstrtal.sh.sh
3. Stop Oracle ERP
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adstpall.sh
4. Stop Database
login db1 as oracle user
關閉db console
# emctl stop dbconsole
檢查db console
# emctl status dbconsole
關閉db console
# emctl stop dbconsole
檢查db console
# emctl status dbconsole
關閉Database
# srvctl stop listener -n db1
# srvctl stop listener -n db2
# srvctl stop database -d PROD -o immediate
如果是非RAC的環境
# sqlplus "/as sysdba"
# shutdown immediate
使用指令 ipcs 檢查是否memory有殘存oracle的 process,如果有,使用指令 ipcrm 清除
# ipcrm -m <number>
# ipcrm -s <number>
# srvctl stop listener -n db1
# srvctl stop listener -n db2
# srvctl stop database -d PROD -o immediate
如果是非RAC的環境
# sqlplus "/as sysdba"
# shutdown immediate
使用指令 ipcs 檢查是否memory有殘存oracle的 process,如果有,使用指令 ipcrm 清除
# ipcrm -m <number>
# ipcrm -s <number>
執行AP服務啟動時,我相信大多數人不會像上面一樣所有的服務全開,但是關的時候下adstpall.sh 是快速且偷懶的做法。
像我們家的系統,就會這麼作:
1. Pre-Action
提早2小時通知user不要跑執行過久的報表
1. Pre-Action
提早2小時通知user不要跑執行過久的報表
2. Stop AP
先關閉 Concurrent Manager
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adcmctl stop apps/<password>
再關閉 Form Service
login ap1 and ap2 as applmgr user
# adalnctl.sh stop APPS_PROD (Application 服務的 Oracle Net8 Listener)
# adapcctl.sh stop (Apache 服務,如果Form是走 servlet 架構,該指令會連 Form Service一併關閉)
# adfrmctl.sh stop (如果Form是走 CGI 架構,必須下該指令關閉 Form 服務)
# adtcfctl.sh stop (TCF Socket 服務)
3. Start AP
先開啟 Form Service
login ap1 and ap2 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME
# adalnctl.sh start APPS_PROD
# adapcctl.sh start (如果Form是走 servlet 架構,該指令會連 Form Service一併帶起)
# adfrmctl.sh start (如果Form是走 CGI 架構,必須下該指令開啟 Form 服務)
# adtcfctl.sh start
再開啟 Concurrent Manager
login ap1 as applmgr user
# cd $COMMON_TOP/admin/scripts/$CONTEXT_NAME# adcmctl start apps/<password>
4. 檢查服務
4.1 開啟 Form 是否正常
4.2 檢查 Concurrent Manager 服務是否全數開啟
4.3 執行 "Active User" 是否能正常執行
4.4 "View Log" and "View Output" 是否正常
4.5 "Copy File" 功能是否能夠正常使用
4.6 Form Export 功能是否能夠正常使用
4.7 Menu 樹狀結構展開功能是否能夠正常使用
建議在做維護時,要有一份執行計畫,如下圖所示,如此才不會手忙腳亂。
淺談Oracle ERP 系統管理
最近在做對新人的Oracle ERP系統管理教育訓練,也趁此機會review自己所知道的東西是否有遺漏。
基本上我會分成以下這幾個項目:
1. Profile (系統側寫)
2. Administration (系統管理)
3. Patch (修補程式)
4. Purge (資料生命週期管理)
5. Clone (系統複製)
6. Printer (印表機處理)
7. Workflow (工作流程管理)
8. Alert (警示系統管理)
9. Privilege Control (權限管理)
10. Program Release (程式上版)
98. Event Monitor (監控機制)
98. Event Monitor (監控機制)
99. Health Check (健檢報告)
其中 2. Administration (系統管理) 可分成:
2.1 Start and Stop Oracle ERP
2.2 Backup and Recovery
2.3 Space Management
2.4 Form Management
2.5 Concurrent Manager Management
2013年5月21日 星期二
升級成IE8 之後,無法登入Oracle ERP Web 畫面
Login 頁面左下角顯示 "網頁發生錯誤",雙擊後錯誤如下:
元素找不到
Common2_2_24_1.js
行: 2722
字元: 1
程式碼: 0
URI: http://<hostname.domain>/OA_HTML/cabo/jsLibs/Common2_2_24_1.js
解決方法:修改Regedit鍵值
路徑
HKEY_CLASSES_ROOT/TypeLib/{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}/1.1/0/win32
值由
C:\WINDOWS\system32\shdocvw.dll 改為
C:\WINDOWS\system32\ieframe.dll
元素找不到
Common2_2_24_1.js
行: 2722
字元: 1
程式碼: 0
URI: http://<hostname.domain>/OA_HTML/cabo/jsLibs/Common2_2_24_1.js
解決方法:修改Regedit鍵值
路徑
HKEY_CLASSES_ROOT/TypeLib/{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}/1.1/0/win32
值由
C:\WINDOWS\system32\shdocvw.dll 改為
C:\WINDOWS\system32\ieframe.dll
訂閱:
文章 (Atom)
