Oracle EBS环境下查找数据源(OAF篇)

http://oracleseeker.com/2009/08/12/how_to_find_the_table_view_of_oaf_application_in_oracle_ebs/

在OAF页面的查找后台的数据源相对于在Form中显得更加麻烦,同时也无法像Form中那样能够较为准确的定位,但是也能够查找出大部分的内容。

本文介绍如何使用OAF提供的诊断功能来快速查找OAF页面对应的数据库对象:

  1. 关于本页功能(About this Page)
  2. SQL Trace功能

一、使用关于本页功能(About this Page)

前提:在用户层设置预制文件:Personalize Self-Service Defn 的值为Yes 来启动个性化模式

步骤:

  1. 点击OAF页面左下角的“About this Page”链接
  2. 进入关于页面中,展开Page Definition部分的页面结构,页面的结构会随着页面定义有所不同
  3. 或者选择Business Component References Details部分中的View Object定义
  4. 查看View Object列中的信息,组件引用的视图对象会有链接,直接点击链接进入视图对象页面
  5. 视图对象详细信息中的SQL就是创建视图对象的语句,查看它就可以知道页面组件对应的后台数据源
  6. 通过选择不同的视图对象查看对应的定义

实例(找出PO Document Types页面中对应的后台数据库对象):

  1. 点击Document Types页面左下角的About this Page链接
  2. 进入About Page页面后,展开页面定义部分为如下的结构
  3. 点击PoAllDocumentTypesVO视图对象链接进入视图对象定义详细页面
  4. 另外也可以在About Page页面中展开Business Component References Details,然后选择下面的视图对象:oracle.apps.po.setup.server.PoAllDocumentTypesVO
  5. 通过视图对象详细页面可以得到SQL

? SQL

二、使用SQL Trace功能

只要发生数据库操作,都可以使用SQL Trace功能来跟踪数据库操作统计,OAF页面中也需要进行数据库的增删查操作,因此可以可以使用它来跟踪。

前提:在用户层设置预制文件:FND: Diagnostics 的值为Yes,进入诊断模式

步骤

  1. 选择Diagnostic为Set Trace Level,点击Go按钮
  2. 设置SQL Trace的级别
  3. 进入OAF页面中进行操作,并保证操作有查询、插入、更新或删除动作
  4. 操作完成后,再次进入关闭Trace模式,记录生成的Trace ID号码
  5. 以数据库操作系统用户,如ora02登陆数据库服务器
  6. 使用Tkprof工具格式化Trace结果文件输出
  7. 查看被格式化过的Trace文件
  8. 得出数据源

实例:

  1. 以系统管理员职责,在用户层设置预制文件:FND: Diagnostics 的值为Yes,进入诊断模式
  2. 以预置文件设置的同一用户登录首页,在页面的顶部点击Global按钮 Diagnostics
  3. 根据需要,选择Trace打头的几个选项来进入SQL Trace模式,点击Save按钮
  4. 进入PO Document Types页面更新Forward Method后保存
  5. 再次进入Diagnostics关闭Trace,记录下生成的最后一个Trace ID号码16456
  6. 使用下面的SQL查询出trace文件的路径
    SELECT value
    FROM v$parameter
    WHERE name = ‘user_dump_dest’;
    VALUE
    ———————————————————————–
    /d02/db/tech_st/11.1.0/admin/VIS02_ebs006/diag/rdbms/vis02/VIS02/trace
  7. 以数据库操作系统用户(ora02)Telnet到数据库服务器,运行如下命令 
    [[email protected] ~]$ cd /d02/db/tech_st/11.1.0/admin/VIS02_ebs006/diag/rdbms/vis02/VIS02/trace
    [[email protected] trace]$ ls -al *16456*
    -rw-r–r– 1 ora02 dba 116421 Aug 11 17:48 16456_234_1.output
    -rw-r–r– 1 ora02 dba 502101 Aug 11 17:35 VIS02_ora_16456_234.trc
    -rw-r–r– 1 ora02 dba 17288 Aug 11 17:35 VIS02_ora_16456_234.trm
    [[email protected] trace]$ tkprof VIS02_ora_16456_234.trc 16456_234_1.output
  8. 上面命令生成16456_234_1.output文件,从服务器下载文件后,找出文件中的UPDATE语句,其中对ICX类型的更新动作无需关注,16456_234_1.output文件样例
  9. 找到如下的UPDATE语句

? SQL

1
2
3
4
5
6
7
8
UPDATE po_document_types_all_b podocumenttypeeo
   SET last_update_date     = :1,
       last_updated_by      = :2,
       forwarding_mode_code = :3,
       last_update_login    = :4
 WHERE org_id = :5
   AND document_type_code = :6
   AND document_subtype = :7

时间: 2024-11-03 21:55:07

Oracle EBS环境下查找数据源(OAF篇)的相关文章

Oracle RAC 环境下的连接管理(转) --- 防止原文连接失效

崔华老师的文章!!! 这篇文章详细介绍了Oracle RAC环境下的连接管理,分别介绍了什么是 Connect Time Load Balancing.Runtime Connection Load Balancing.Connect Time Connection Failover 和 Runtime Connection Failover,以及里面所涉及到的 TAF.ONS.FCF.FAN.LBA 等诸多知识点.本文主要是针对 Oracle RAC 11gR2 环境下的连接管理,但同时也会对

Oracle 11g 环境下,利用utl_smtp创建发送邮件的存储过程

网上太多发邮件储存过程,我就不转发了,弄个简单的作为示例: create or replace procedure Send_mail(mail_body varchar2) is smtp_conn utl_smtp.connection; user_name varchar2(20) := utl_raw.cast_to_varchar2(utl_encode.base64_encode(utl_raw.cast_to_raw('[email protected]'))); user_pas

Oracle RAC环境下如何更新patch(Rolling Patch)

Oracle RAC数据库环境与单实例数据库环境有很多共性,也有很多异性.对于数据库补丁的更新同样如此,都可以通过opatch来完成.但RAC环境的补丁更新有几种不同的更新方式,甚至于可以在零停机的情况下对所有节点实现滚动升级.本文主要是转述了Doc 244241.1,描述RAC环境下的patch更新方式以及在不同的情形下选择何种更新方式. 1.RAC patch的几种方式 OPatch supports 3 different patch methods on a RAC environmen

Oracle RAC环境下配置statspack

Statspack是Oracle 9i时代的产物,对于监控与分析数据库性能有着跨里程碑的意义,是AWR的前身.在Oracle 10g后AWR取代了statspack.尽管如此,awr异常或者需要调试包license的情况下statpack依旧是不错的选择.然而在RAC环境中,statspack并不支持,需要单独的进行配置以及使用job来进行管理.本文描述的则是通过在RAC环境下创建service,以及job来达到各节点同时产生snapshot的效果. 一.演示环境 suse11a:oracle:

Oracle RAC环境下的应用连续性

传统企业比如银行业和电信业的数据库大多采用oracle rac+dataguard的高可用架构,在rac项目实施过程中,由于业务连续性的苛刻要求,高可用的实施和测试工作显得尤为重要. oracle在新版本12cR2的rac官方文档里单独列了一章叫Ensuring application Continuity,重视程度可见一斑.在以前的oracle10g以及11g的版本中,client为实现RAC failover(故障转移)特性,各类应用app以及db需要作各种配置调整工作,随着oracle的1

Visual Studio2008环境下查找C#中方法的“查看所有引用”

在Visual Studio开发环境下,想必F12我们都很熟悉了,有没有用过“查看所有引用”呢? 尤其是在一个解决方案中,包含了很多项目,彼此相互的调用是很常见的,例如三层架构, BLL调用DAL,DAL调用Model,Model又调用DBUtility,每层中可能有有相同名字的方法,我们可以使用查询来找到想要的方法,但是不精确, 这里我们就可以用到“查看所有引用”,但是不知道有没有人遇到过,当在方法上,右键->查找所有引用,这时查找符号结果区却提示出,"搜索未找到结果"这一提示

Tomcat环境下配置数据源

两种方式,图形化和字符型配置,图形化需要部署一个应用,字符型配置如下: 需要文件 mysql-connector-java-5.1.16-bin.jar Oracle需要classes12.jar文件拷贝到$CATALINA_HOME/lib下面. 在Tomcat的Server.xml,找到需要采用数据池的Context一段,加入Resource内容,配置内容如下:<Resource name="jdbc/TestJavaWeb" auth="Container&quo

asmlib方式管理oracle asm环境下,新加存储需特别注意

oracle10g 数据库主机已经连接有使用RDAC的存储,计划新增扩容IBMV系列存储(要求使用dm-multipath多路径软件),多个多路径软件能否共存?启后sd设备名是否会发生改变,是否影响asm和oracle启动? 这是一个涉及操作系统.存储.数据库多专业协同才能回答的问题,我仅提示一点:此处有坑!请做好备份,准备好充分的实施时间窗口.如果需要专业咨询和协助请联系15201657722.

在oracle RAC 环境下用 PL/SQL Developer debug procedure 出现 hang 的情况

现象描述: 用plsql developer 连接编译procedure 的时候都很正常.一旦开始Test进入Debug模式的时候就Hang住了. 初步猜测是没有权限,可是是DBA角色呀,如果没有权限会直接报没有权限的错误吧. 后面猜测是Oracle 或者PL SQL Developer的版本问题,用同一个PLSQL 在相同版本的不同机器上测试,结果另外一台机器可以Debug. 开始猜测是不是RAC的原因. 搜索到这个解释:http://forums.allroundautomations.co