Oracle ERP 11i 維護經驗(根據BBS上内容整理的)
1. 在oracle applications 11i 中如何快速獲得上次查詢的SQL 語句
方法:我們不必使用SQL Trace 來獲得,有一個簡單的辦法,即:幫助->診斷->檢查->在"
塊"中輸入"system",在"字段"輸入" last_query ",然後把滑鼠移動到"值",你就可以看到你
所要的SQL 語句,簡單吧!
2. 如何更改Applications 中LOG 的存放位置
方法:(以AIX 為例)在11i 中預設LOG 的存放位置是各個子產品下log 目錄,例如FND
子產品log 的存放目錄就是$FND_TOP/log/,可能有些使用者想統一管理log,可以采取下面這
種方法得到解決:
更改applprod 使用者(用于啟動FormSever,ReportServer 和并發管理器等)的.profile,
增加兩行:
APPLCSF=/u10/oracle/prodcomn
export APPLCSF
然後重新以applprod 登入,重新啟動FormSever,ReportServer 和并發管理器等(一般有
個shell 檔案,例如start.sh),至于為什麼能起作用?原因很簡單,Applications 首先檢視
APPLCSF 環境變量是否設定,一旦設定,所有的log 均存放在$APPLCSF/log;否則就存
放在各個子產品的log 目錄
3. 如何清除一些曆史資料?
方法:Applications 11i 的許多子產品都提供清除相關曆史資料,例如fnd 子產品提供"清除
過時的工作流運作時資料"的并發請求,你可以清除OM 子產品的舊的工作流的曆史資料(目
前我們系統中每隔3 個月自動清除);fnd 子產品提供"彙總和清除并發請求統計",你可以清除送出并發請求産生的log(目前我們系統每隔7 天自動清除)。大家有興趣可以去研究一下其他子產品的提供的清除曆史資料的并發請求,畢竟系統用了一階段,資料量劇增,給備份,
硬體和整個系統性能都會有很大的影響,做一些必要的清除工作也許能解決燃眉之急,而且
能減少整個硬體的投資
4. 如何獲得某個Forms 檔案的版本号?
方法:當你跟蹤iTAR 時,Oracle 工程師有時會叫你提供某個Forms 版本,你可以采
用如下方法獲得(以AIX 為例):Strings filename|grep Header
#adident Header
5.如何獲得Oracle Applications快捷鍵的定義?
解答:CTRL+K,通過它,你可以了解到Oracle Applications快捷鍵的定義,進而加快操作的速度
6.如何更改APPLSYS使用者的密碼?
解答:在以前版本中,更改APPLSYS的密碼相當的麻煩,既要更改Applications層的密碼,又要更改資料庫的密碼,而且順序還不能亂,挺麻煩。11i版本引入新的工具FNDCPASS(位于$FND_TOP/bin),你可以輕松更改APPLSYS的密碼:
$FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME
上述語句把APPLSYS的密碼改為WELCOME,當然你可以利用它更改各個子產品資料庫的密碼,例如:
$FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1
上述語句把GL的密碼改為GL1,同時,你也可以更改Applications層使用者的密碼:
$FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME
上述語句把VISION使用者的密碼改為WELCOME
1、如何設定Oracle Form上的字型?
将c:Program FilesOracleJInitiator 1.3.1.25lib下
font.properties.zh
font.properties.zh.5.0 font.properties.zh.5.1 中的
dialog.0和dialog.1字型互換 如下
dialog.0=Arial,DEFAULT_CHARSET
dialog.1=u5b8bu4f53,DEFAULT_CHARSET
如果是win 2003系統,把font.properties.zh.5.1 改名字
font.properties.zh.5.2
2、如何設定Form的色彩?
在Profile裡設定:Java Color Scheme
3、如何定義自助個人首頁登入模式?
Profile裡定義:Self Service Personal Home Page mode
同時打開多個職責的Form,如果選擇僅限于結構,會以網頁方式打開功能,然後如
果先後打開多個職責則後打開的職責會替換掉新的職責,保證僅有三個視窗存在。
如果選擇:個人首頁,則可以同時打開多個職責。沒發現選擇:具有結構的個人主
頁 與“僅限于結構”有太大的差別,隻是在一登入系統時感覺上像是“個人首頁
”方式。
4、Form Export檔案時,系統自動加擴充名為:.XLS?
Profile裡定義:%MIME% change it to 'applicationExcel'
5、不重新開機AP或DB,直接重新開機并發管理器的方法?
telnet 伺服器
切換到應用使用者
adcmctl.sh stop apps/apps
adcmctl.sh start apps/apps
6、Oracle EBS有哪些預設的登入名及密碼?
sysadmin/sysadmin
mfg/welcome
operations/welcome
services/welcome
mrc/welcome
hrms/welocme
7、如何将Sql&plus的輸出資訊轉換為英文?
修改系統資料庫:HKEY_LOCAL_MACHINESOFTWAREOracle----NLS_LANG
将SIMPLIFIED CHINESE_CHINA.ZHS16GBK替換為AMERICAN_CHINA.UTF8
8、如何強制關閉任務管理器(Windows)的程序?
ntsd -c q -p PID
9、10g_client下載下傳位址?
10、如何查詢視圖裡的資料?
首先在Toad中運作如下語句:
begin
dbms_application_info.set_client_info(106);
end;
P.S.106指的ORG_ID,也可以是SOB_ID,根據需要設定。
Oracle Applications 11i 技術支援經驗雜談
如何獲得Oracle Applications快捷鍵的定義?
解答:CTRL+K,通過它,你可以了解到Oracle Applications快捷鍵的定義,進而加快操作的速度
Oracle Applications表和視圖的一些命名規則?
解答:一般來說,在Applications中所有的表的命名都是相當規範,通過名字,一般你都可以知道這個表是做什麼用,而且你還可以通過檢視FND_TABLES和FND_COLUMNS來獲得表的詳細資訊。除此之外,還有一些規則,例如以TL結尾表示帶有語言資訊的表,V結尾表示一般的視圖,VL表示帶有語言資訊的視圖,以V$開頭代表動态性能試圖,以FND開頭是屬于Application Object Library子產品的,以AR,RA開頭是屬于Oracle Receivables子產品的,以MTL開頭是屬于庫存子產品的,以AP開頭是屬于應收子產品的,以GL開頭是屬于總帳子產品的,以FA開頭是屬于資産子產品的,以OE開頭的是屬于訂單子產品的,以WSH開頭是屬于發運子產品的,以WIP開頭是屬于在制工廠中的房間子產品的,以IBE開頭是屬于網上商店的,etc
如何獲得有關目前FORM的名、版本及其其他相關資訊?
解答:幫助->關于Oracle Applications(這對于更改FORM和向metalink送出TAR時特别有用),當然你也可以通過unix指令來獲得FORM的頭資訊,例如( 以AIX為例):
$strings FNDSCAUS | grep Header
如何獲得目前FORM相應的表或者視圖資訊?
解答:幫助->曆史紀錄,當然有可能存在“無曆史紀錄”或者“曆史紀錄”菜單是灰的,你可以通過CTRL+F11進行查詢,然後再進行檢視;有時這種方法也不可行,你可以嘗試使用這種方法,同樣按CTRL+F11,然後幫助->診斷->檢查,在“塊”中輸入SYSTEM,在字段輸入LAST_QUERY,你就可以獲得有關查詢的資訊;如果實在沒辦法的話,你可以使用TRACE來獲得,幫助->診斷->跟蹤,然後進行必要的操作,在UNIX作業系統下以資料庫使用者登入,例如oraprod,然後執行下列的語句:
$cd $ORACLE_HOME/admin/udump
$ll –lt|head 檢視時間最接近的語句
$tkprof filename out_filename explain=apps/apps sys=no
如何獲得用戶端跟伺服器端之間網絡的狀況?
解答:以系統管理者身份登入,應用->網絡測試( 也許你會經常聽到客戶的怨言,說為什麼速度太慢,這也許不是伺服器端的問題,經常的情況是網絡狀況不好,你可以通過這種方法來驗證)
如何修正監控使用者的不準确的資料呢?
解答:以系統管理者身份登入,請求->運作,送出“清除登入審計資料”,參數可以設定為當天,然後在計劃選項中設定“定期”,開始日期設定為晚上11點左右,同時使“設定每次運作的日期增量參數”有效,這樣參數就會每天自動增加(也許系統管理者有時會向你抱怨,說監控使用者時,很多使用者都已經正常退出,但是仍然在系統中存在,而且已經存在很長一段時間。其實這部分資料是不準确,你必須定期的清除這些審計的資料,才能反映真實的情況)
如何定期清理并發請求産生的資料(包括log和out檔案)呢?
方法:送出并發請求“清除并發請求和(或)管理器資料”,設定實體為“所有”,模式為“使用期限”,模式值為“7”,報表為“是”,清除其他為“是”,這樣的意思是:清除7天以前并發請求和管理資料的報表和日志(由于并發請求所産生的報表檔案占用的空間比較大,定期做這樣的清理是很有必要的)
如何定義隻讀的FORMS?
解答:對某些FORMS,有時需要限制使用者的通路,比如說不允許修改FORMS。我們可以采用這種方法來解決,以系統管理者職責登入,應用->功能,如下圖輸入:
點選“表單”,在參數中輸入“QUERY_ONLY=YES”,其他輸入如下圖所示:
這樣你就可以在菜單中添加這個“隻讀使用者”的功能表單
如何更改APPLSYS使用者的密碼?
解答:在以前版本中,更改APPLSYS的密碼相當的麻煩,既要更改Applications層的密碼,又要更改資料庫的密碼,而且順序還不能亂,挺麻煩。11i版本引入新的工具FNDCPASS(位于$FND_TOP/bin),你可以輕松更改APPLSYS的密碼:
$FNDCPASS apps/apps 0 Y system/manager SYSTEM APPLSYS WELCOME
上述語句把APPLSYS的密碼改為WELCOME,當然你可以利用它更改各個子產品資料庫的密碼,例如:
$FNDCPASS apps/apps 0 Y system/manager ORACLE GL GL1
上述語句把GL的密碼改為GL1,同時,你也可以更改Applications層使用者的密碼:
$FNDCPASS apps/apps 0 Y system/manager USER VISION WELCOME
上述語句把VISION使用者的密碼改為WELCOME
如何解除安裝Oracle Applications的部分子產品?
解答:mount光驅,把11i的CD光牒放入,運作adunload(位于$AD_TOP/bin下),例如:
$ adunload.sh product=ar 解除安裝AR子產品
$ adunload.sh product=gl directory=forms/ZHS filename=GLSTUOM.fmx
怎樣往已經安裝好的系統添加新的子產品?
解答:如果你有圖形終端,你可以直接運作x windows,否則你可以用XWIN-32、Reflection之類終端仿真登入,設定display屬性和通路權限,例如:
$ export DISPLAY=192.168.42.88:0.0
$ xhost + 允許所有的主機通路
然後運作adlicmgr.sh,安裝你要安裝的新子產品,然後更新APPLFULL和APPLSHAR的路徑,接着重新應用最新的相關更新檔,重新實施新安裝子產品
如何仿真Oracle Applications的使用者?
解答:使用fnd_global.apps_initialize(user_id,resp_id,resp_appl_id),其中user_id,resp_id,resp_appl_id可以通過這種方法獲得:幫助->診斷->檢查,在塊中選擇$PROFILES,在字段選擇USER_ID可以獲得USER_ID,同樣方法可以獲得RESP_ID,RESP_APPL_ID(可能有時你需要在Oracle Applications環境外運作一些PL/SQL語句,但是這些語句中需要通路系統相關的環境變量,例如view,這樣你可以使用上述方法達到你的目的)
怎樣kill在監控使用者清單中處于inactive的使用者?
解答:執行下列語句
SELECT SUBSTR(d.user_name,1,30) "User Name"
, a.pid
, b.sid
, b.serial#
FROM v$process a, v$session b, fnd_logins c, fnd_user d
WHERE a.pid = c.pid
AND c.pid = &PID
AND d.user_name = UPPER('&USER_NAME')
AND d.user_id = c.user_id
AND a.addr = b.paddr
AND c.end_time IS NULL
其中&PID輸入“Oracle程序”列,&USER_NAME輸入“使用者名”欄,根據獲得的SID和SERIAL#,是用以下語句來KILL SESSION:
ALTER SYSTEM KILL SESSION ‘[SID],[SERIAL#]’
如何自定義并發請求?
解答:如果你為一些子產品寫SQL類型的并發請求,你就必須知道如何為它定義并發請求。下面以test.sql為例,談談如何定義OM子產品的并發請求。首先,把test.sql放到$ONT_TOP/sql目錄下;然後以系統管理者職責登入,并發->程式->可執行,在窗體上輸入可執行為“Test only”,簡稱為“tst”,應用選擇“Oracle Order Management”,執行方法選擇“SQL*Plus”,在可執行名輸入“test”(這裡的名稱就是test.sql去掉.sql),儲存關閉,如下圖所示:
并發->程式->定義,輸入程式名稱為“Test Report”,簡稱“tstr”,應用選擇“Oracle Order Management”,可執行欄中,在名稱選擇“tst”,儲存即OK,如下圖所示:
這樣你就可以在OM子產品相關職責中,送出“Test Report”這個報表了。
如何将二次開發的FORMS融合進Applications系統呢?
解答:首先為二次開發的系統建立資料庫表空間,然後建立通路使用者CUX,為CUX使用者配置設定權限,在unix系統下指定CUX_TOP的目錄,并在CUX_TOP目錄建立跟其他子產品相同的目錄結構,同時在環境變量檔案中設定CUX_TOP環境變量(記得必須在重新開機系統前運作環境變量檔案),把TEST.fmb放在AU_TOP/forms/ZHS目錄下,進入這個目錄,使用f60gen進行編譯:
$ f60gen module=TESt.fmb userid=apps/apps output_file=$CUX_TOP/forms/ZHS/TEST.fmx
然後以系統管理者的身份登入系統,安全性->ORACLE->注冊,輸入資訊如下圖所示:
儲存退出,然後以應用開發者的職責進入系統,應用->注冊,輸入如下圖所示:
然後存盤退出,然後 應用->表單,其中表單輸入的是TEST.fmx去掉.fmx,輸入如下圖所示:
存盤退出,然後可以在應用->功能,為表單設定功能菜單(上面已經有介紹),最後你就可以往菜單中添加表單功能