FORM級別和數據庫級別的Trace



metalink上的文章較全的,中文的可參考我的博客EBS開發技術之trace http://blog.csdn.net/cai_xingyun/article/details/17250971


This document provides instructions on how to create and retrieve Forms and Database level SQL trace. The example details below are for receiving processes, but these instructions are also applicable for other forms and concurrent processes.?

Please reference Note 299497.1 for instructions on how to gather debug information for receiving processes.

Forms Level Trace


Forms level trace is SQL trace generated before the transaction is saved on a form. It is enabled from the form and captures SQL code related to the execution of the form.? This should be used when the error occurs on the form BEFORE clicking on the save.? Typically these are FRM or APP errors but there could be other varying error messages.

Steps to generate forms level trace:


  1. Navigate to the point in the application right before you are experiencing the problem.
  2. Turn trace on by: Help > Diagnostics > Trace > Trace with Binds (May require password)
  3. A pop-up message with trace file location and name will be displayed. Note the filename and path.
  4. Duplicate the error and then stop immediately afterwards.
    Help > Diagnostics > Trace > No Trace
  5. Retrieve trace file from the user_dump_dest, which can be located as follows:
    select value from V$PARAMETER where name like 'user%';
  6. Run the trace file through tkprof as follows:
    tkprof <filename>.trc <filename>.out explain=<found username/password>
    example: tkprof file1234.trc file1234.out explain=<apps/apps>


Only if tracing for a performance issue on the form, enable trace with binds and waits.


Database Level Trace


Database level trace is SQL trace generated after the transaction is saved and receiving transaction processor is processing the transaction. This should be generated when the error occurs AFTER clicking Save to commit the transaction on a receiving form. In Online receiving mode typically "rvtptcontrol failed" error occurs.? For Immediate or Batch receiving modes the error(s) is recorded in the receiving transaction processor concurrent request log file. There are many ways to gather a database trace file for receiving processes.


Methods to Generate Database Level Trace


1. Profile PO: Enable SQL Trace for Receiving Processor


Setting this profile to ‘Yes’ will generate a Event 10046 Level 12 database level trace for the receiving transaction being saved.

Steps to generate trace file:


  1. Set profile at user level
    • Bring up the Core application - System Administrator responsibility
    • Go to Profile > System
    • Check off the USER box - and enter the username of the user for whom trace needs to be enabled
    • Search on the following profile option - 'PO: Enable SQL Trace for Receiving Processor'
    • At the user level, set the value of the profile to 'Yes'
  2. Once the profile is set, please change responsibilities and directly go and reproduce the problem.

    Error message will be displayed on the form only in online mode. In Immediate / Batch mode, the error will be recorded in the concurrent request log file of Receiving Transaction Processor.
  3. Unset the profile before logging off the applications.



Location of the trace file:


  1. If the transaction was done in Online mode, then the trace file can be found in user_dump_dest, which can be located as follows:


select value from V$PARAMETER where name like 'user%';

  1. If the transaction was done in Immediate or Batch mode, the SQL statement from method below (Enable trace for concurrent program) can be used to retrieve the location and name of the trace file.


2. Enable trace for the concurrent program


This can be used only when saving the transaction in Immediate or Batch mode. This method generates an Event 10046 Level 1 trace only with no bind variables and no waits.

Steps to generate trace file:


  1. Enable trace for concurrent program:
    • Bring up the Core application - System Administrator responsibility
    • Goto Concurrent > Program > Define
    • Query the concurrent program (shortname = RVCTP)
    • Check the trace box to enable trace and Save
  2. Change responsibilities and directly go and reproduce the problem. In this method, the error message, if any, will not be displayed on the form.
  3. Navigate to View > Requests and confirm that Receiving Transaction Processor has completed. The request may or may not end in error. The request log file should show an error. Note the Concurrent Request Id.


Location of the trace file:

The trace file can be located using the SQL below. Use the concurrent request id noted in step 3.

SQL>
prompt
undefine request_id
accept request_id
prompt 'Please enter the concurrent request id of Receiving Transaction Processor:'
promptcolumn traceid format a8
column tracename format a80
column user_concurrent_program_name format a40
column execname format a15
column enable_trace format a12
set lines 80
set pages 22
set head offSELECT 'Request id: '||request_id ,
'Trace id: '||oracle_Process_id,
'Trace Flag: '||req.enable_trace,
'Trace Name:
'||dest.value||'/'||lower(dbnm.value)||'_ora_'||oracle_process_id||'.trc',
'Prog. Name: '||prog.user_concurrent_program_name,
'File Name: '||execname.execution_file_name|| execname.subroutine_name ,
'Status : '||decode(phase_code,'R','Running')
||'-'||decode(status_code,'R','Normal'),
'SID Serial: '||ses.sid||','|| ses.serial#,
'Module : '||ses.module
from fnd_concurrent_requests req, v$session ses, v$process proc,
v$parameter dest, v$parameter dbnm, fnd_concurrent_programs_vl prog,
fnd_executables execname
where req.request_id = &request_id
and req.oracle_process_id=proc.spid(+)
and proc.addr = ses.paddr(+)
and dest.name='user_dump_dest'
and dbnm.name='db_name'
and req.concurrent_program_id = prog.concurrent_program_id
and req.program_application_id = prog.application_id
and prog.application_id = execname.application_id
and prog.executable_id=execname.executable_id;


3. Enable profile ‘Initialization SQL Statement – Custom’


This method should be used when there is requirement to capture trace for processes in related products like INV, OM, WIP etc. initiated by Receiving Transaction Processor. This method enables and Event 10046 Level 12 database trace for the entire session of the user for whom the profile is enabled. The session can be linked to an online Form, a Concurrent Program, or any other piece of code that requires accessing the database.? Hence, this method must be used carefully as it can generate many trace files as user navigates through the applications.

Steps to generate trace file :


  1. Enable trace for a specific user:
    • Bring up the Core application - System Administrator responsibility
    • Move to Profile/System
    • Check off the USER box - and enter the username of the user for whom trace needs to be enabled
    • Search on the following profile option - 'Initialization SQL Statement - Custom'
    • Please set this at the user level with the following string:

BEGIN FND_CTL.FND_SESS_CTL('','', '', 'TRUE','','ALTER SESSION SET TRACEFILE_IDENTIFIER='||''''||'RCVTRACE' ||''''||' EVENTS ='||''''|| '10046 TRACE NAME CONTEXT FOREVER, LEVEL 12 '||''''); END;


    • # 1. Cut and paste the above sql statement into the profile value editor. This must be one complete line of text - so may be best to copy the string into notepad prior to putting it into the profile and making sure that there are no special characters in the string.

      # 2. String 'RCVTRACE' in the above statement can be changed to any user-defined value. This is the string that will be included in the filename and will help in identifying all the trace files related to a session.
  1. Once the profile is set, please change responsibilities and directly go and reproduce the problem.

    Error message will be displayed on the form only in online mode. In Immediate / Batch mode, the error will be recorded in the concurrent request log file of Receiving Transaction Processor.


Location of the trace file:


  1. Locate the trace file using the following sql in sqlplus. The value is the location of the trace file on the database server

select name, value from v$parameter where name like 'user_dump_dest';


Please move to this directory and search for the file having RCVTRACE (or any user-defined value that was specified in the profile value statement) in the filename. There may be more than one trace file created for the session.


Ensure that the profile option is unset before exiting the Application. This is a very important step. If this is not unset, unnecessary trace files will be generated.



轉載于:https://www.cnblogs.com/wanghang/p/6299392.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/260952.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/260952.shtml
英文地址,請注明出處:http://en.pswp.cn/news/260952.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于farpoint公司的控件:SPREAD for .NET Windows Forms Ed.的一些簡單方法.

View Code using System;using FarPoint.Win.Spread ;using System.Drawing;using System.Windows.Forms;namespace DFO010{/// <summary>/// Fpspread的相關函數.2006/4/12 制作:Chouka/// </summary> public class Classspd {public Classspd() { }/// <su…

永遠的beyond!(4 days left to get back touch)

永遠的beyond!轉載于:https://www.cnblogs.com/LaoLuo/archive/2012/03/05/2380954.html

串行總線協議筆記

I2C --INTER-IC串行總線的縮寫&#xff0c;是PHILIPS公司推出的芯片間串行傳輸總線。它以1根串行數據線&#xff08;SDA&#xff09;和1根串行時鐘線&#xff08;SCL&#xff09;實 現了雙工的同步數據傳輸。具有接口線少&#xff0c;控制方式簡化&#xff0c;器件封裝形式小&a…

ibm服務器和微軟,微軟與IBM不得不說的事情

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓在Windows 3.x 開 始 為 世 人 接 受 之 初&#xff0c; 個 人 電 腦 的 操 作 系 統 中 唯 一 可 以 與Windows 操 作 系 統 分 庭 抗 禮 的 就 是OS/2。 這 套 原 先 是 微 軟 與IBM 合 作 生 產 的 操 作 系 統&#xff0c; 由 …

[置頂] 程序員編程生產力相差10倍意味著什么?

在軟件工程研究中&#xff0c;被驗證得最多的結論就是對于同等經驗的兩個不同程序員&#xff0c;在效率和質量上可能會有10倍的差距。研究人員還發現&#xff0c;這種差距也適用于團隊級別上&#xff0c;也就是說在同一行業內的不同的團隊也是如此。 軟件開發中的個人效率的變化…

生成隨機長度字符串,比如密碼等

2019獨角獸企業重金招聘Python工程師標準>>> public function createstr( $length ) {$chars "abcdefghijklmnopqrstuvwxyz0123456789"; $str "";for ( $i 0; $i < $length; $i ) { $str. substr($chars, mt_rand(0, strlen($chars)-1), 1…

css margin屬性,css margin屬性怎么用?css margin屬性用法教程

在css中&#xff0c;有一個重要的屬性margin&#xff0c;很多人都不知道css margin屬性是什么&#xff1f;怎么用&#xff0c;下面為您總結一下css margin屬性用法教程。margin是css用于在一個聲明中&#xff0c;對所有css margin屬性的簡寫&#xff0c;正因為margin來控制css中…

對于.swp文件的恢復方法

今天在使用Secure CRT在局域網內遠程服務器上編程時出了小狀況。在文件沒有保存的情況下&#xff0c;網線斷了。 然后等我重連上去后發現&#xff0c;剛剛編寫的程序不見了。用命令:ll 發現在目錄下有一個同名的.xxxx.c.swp文件。 通過這個文件&#xff0c;可以恢復程序。 恢復…

bzoj1679[Usaco2005 Jan]Moo Volume 牛的呼聲*

bzoj1679[Usaco2005 Jan]Moo Volume 牛的呼聲 題意&#xff1a; N只牛&#xff0c;每只牛都與其他N-1只牛聊著天。一個對話的進行&#xff0c;需要兩只牛都按照和她們間距離等大的音量吼叫&#xff0c;計算音量和。N≤10000 題解&#xff1a; 第i只牛與前i-1只牛對話的音量和是…

gaia引擎分析(二)場景管理

只是粗略的分析原理&#xff0c;大蝦輕噴~~ Gaia引擎中沒有場景管理器&#xff08;scenemanager&#xff09;這種東西&#xff0c;但是并不是沒有場景管理&#xff0c;而是在cGameHost類中有一課場景樹進行場景組織、一棵四叉樹用來進行剪裁。 class cGameHost class cGameHos…

ajax登錄非空判斷,email ajax傳輸數據去重和非空判斷(示例代碼)

前臺&#xff1a;ajax:$(document).ready(function(){$("#email").blur(function(){$("#email").css("background-color","#D6D6FF");$.ajax({type:"post",url:"check_email.do",data:{‘email‘:$("#email&…

某些專題頁面內容很好,但很長時間都不被及時收錄的可能原因之一

專題未被百度及時收錄的問題&#xff0c;經檢查驗證后發現就是因為頁面未建成就放置在線上&#xff0c;并返回404狀態碼&#xff0c;被百度當成死鏈刪除&#xff0c;造成收錄和流量損失。轉載于:https://www.cnblogs.com/adu0409/p/3499350.html

C++.Templates學習總結歸納1

函數模板 首先我們來看看函數模板&#xff0c;一個函數模板&#xff08;function template&#xff09;代表一族函數&#xff0c;其表現和一般的函數一樣&#xff0c;只是其中的某些元素在編寫的時候還不知道&#xff0c;也就是說這些還不知道的元素&#xff0c;我們將其參數化…

選擇更安全的方式執行你的puppet更新

選擇更安全的方式執行你的puppet更新生產環境中&#xff0c;puppet的更新有需要節點自動更新的&#xff0c;有需要通過puppetmaster推送更新的&#xff0c;還有需要節點更新時間離散的。下面講解三種更新方式2.7 Puppet更新方式2.7.1 節點定時更新[rootagent1 ~]# vim /etc/pup…

c ajax定時獲取,ajax的定時調用每5秒調用一次

這篇文章主要介紹了關于ajax的定時調用&#xff0c;本例為每5秒調用一次&#xff0c;大家可以根據自己的需求更改代碼如下:function initXMLRequest(){if (window.ActiveXObject) {xmlRequest new ActiveXObject("Microsoft.XMLHTTP");} else {if (window.XMLHttpRe…

[C++]有關深復制與copy constructor的一些問題與實例

紙上得來終覺淺&#xff0c;絕知此事要躬行 --- 今天對此話有了實際的領悟。之前學習C的時候&#xff0c;自以為已經把深復制和復制構造函數等這些知識已經掌握了&#xff0c;但真正寫起項目來的時候&#xff0c;還是不能提前考慮這些問題&#xff0c;直到問題出現&#xff0c;…

Xml Tips

Xml Tips//z 2012-3-7 16:43:47 PM IS2120CSDN1. xml 中的注釋<!-- 這是注釋 -->并非用于 XML 分析器的內容&#xff08;例如與文檔結構或編輯有關的說明&#xff09;可以包含在注釋中。注釋以 <!-- 開頭&#xff0c;以 --> 結尾&#xff0c;例如<!--catalog la…

算法復雜度為O(N) 的排序算法

題目&#xff1a;某公司有幾萬名員工&#xff0c;請完成一個時間復雜度為O(n)的算法對該公司員工的年齡作排序&#xff0c;可使用O(1)的輔助空間。分析&#xff1a;排序是面試時經常被提及的一類題目&#xff0c;我們也熟悉其中很多種算法&#xff0c;諸如插入排序、歸并排序、…

OpenJudge計算概論-字符串排序

/* 字符串排序 總時間限制: 1000ms 內存限制: 65536kB 描述 參考整數排序方法&#xff0c;設計一種為字符串排序的算法&#xff0c;將字符串從小到大輸出 輸入 第一行為測試數據組數t, 后面跟著t組數據。每組數據第一行是n&#xff0c;表示這組數據有n行字符串&#xff0c;接下…

Window7+vs2008+QT環境搭建

記錄下自己是如何搭建QT開發環境的&#xff0c;備忘吧。操作系統&#xff1a;win7&#xff0c;其實winXP&#xff0c;win7都沒有關系&#xff1b;我使用的機器安裝的操作系統是win7&#xff1b;開發環境是VS&#xff0c;使用2005,2008,2010或者即將發布的2011都行&#xff1b;因…