SQL 性能分析器实验 – 硬件变化对执行计划的影响

测试环境:

DB: Oracle Database 11gR2

APP: EBS R12.1.3

参考文档:Doc ID 1577290.1

 

SQL 性能分析器用于评估系统的变更对SQL执行计划和性能的影响;

可能的应用场景包括:

1、数据库升级

2、硬件、操作系统、数据库的配置变更

3、数据库参数的变更(初始化参数和优化参数)

4、Schema的变更

5、统计信息的变更

本实验的目的主要探讨硬件的变更对执行计划的影响;

 

SQL性能比较分析主要分成如下几个步骤:

  1. 捕获SQL工作负载
    可使用STS( SQL Tuning Set )来捕获SQL工作负载.  STS 由SQL语句,执行的统计信息 和执行的上下文构成.STS可以从生产环境捕获SQL工作负载,完成后可以传送到其他的系统环境,在其他系统环境上进行性能分析。.
  2. 创建SQL性能分析任务
    在建立STS之后,可以建立一个SQL性能分析任务.
  3. 执行一个SQL性能分析任务, 一个SQL分析任务是一个容器,这里面包括了用于SQL性能分析的所有的数据,它至少包括两个SQL数据和一个比较结果.
    1. 变更前的SQL性能试验,一个变更前SQL试验可捕获一个STS在特定的环境下的执行性能数据,
    2. 变更后的SQL性能试验,一个变更后的SQL试验是在测试环境的某些因素变化以后再进行的,这样就获得了另一份可比较的数据。
    3. 比较两个SQL试验
      在变更前后的两个SQL试验完成后, 收集的性能数据就可以进行比较了。Oracle提供了比较工具.
  4. 生成报表
    SQL性能分析器报告包含了2个试验的分析任务信息,并根据所选择的特定选项比较的性能指标。然后,您可以分析变化的影响,并做出更改系统进行进一步的测试,或调整,可能会出现倒退的特定查询。

     下面具体展开:

     1、创建STS(捕获SQL工作负载)

Gforge 迁移日志

背景: 原网站放在公司服务器上,由于备案过期被电信给封IP了; 后找上海电信重新备案,上海电信说域名是个人注册的,但公司的公网IP属于公司,两者不一致无法在上海电信备案,因此只能转到阿里云,阿里云是可以给个人网站备案的;

需求: 把Gforge平台 从公司服务器迁移到阿里云服务器

执行过程:

1、打包原系统上的数据文件

tar -zcvf gforge_var_lib.tar.gz  /var/lib/gforge

压缩后有1.9G;  压缩前2.3G

2、打包原系统上的数据库

命令操作:
数据的导出:pg_dump -U postgres(用户名)  (-t 表名)  数据库名(缺省时同用户名)  > c:\fulldb.sql

pg_dump -U gforgece gforge5** >/d01/gforge5ce_bak_20141105.sql

tar -czvf gforge5ce_bak_20141105.sql.tar.gz gforge5ce_bak_20141105.sql

压缩前144M,压缩后12M

数据的导入:psql -U postgres(用户名)  gforge5**数据库名(缺省时同用户名) < >/d01/gforge5ce_bak_20141105.sql C:\fulldb.sql

3、打包原系统上的程序文件

tar -zcvf gforge_opt.tar.gz /opt/gforge5

有12M

4、目标机上安装Gforge

上传  install-gforge-ce-561-src.zip 解压缩

1) 执行第一步   install-gforge-1-deps.php CENTOS5  会自动下载安装依赖包;

但 wv-1.0.3-1.fc4.x86_64.rpm 会自动下载却未自动安装,提示缺少wvText, 只要手动安装一下即可:

rpm -ivh wv-1.0.3-1.fc4.x86_64.rpm

执行第二步之前,先初始化  postgresql 数据库

service postgresql initdb

然后启动服务

# service postgresql start

把PostgreSQL 服务加入到启动列表

# chkconfig postgresql-9.2 on

# chkconfig –list|grep postgres

修改PostgreSQL 数据库用户postgres的密码(注意不是linux系统帐号)

PostgreSQL 数据库默认会创建一个postgres的数据库用户作为数据库的管理员,默认密码为空,我们需要修改为指定的密码,这里设定为’postgr**’。

# su – postgres

$ psql

# ALTER USER postgres WITH PASSWORD ‘postgres’;
# select * from pg_shadow ;

2) 安装Gforge DB

php  install-gforge-2-db.php

正常完成

3) 安装第3步

这步安装其实有点搞,因为选择阿里云服务器的时候选择的是带AMP的镜像,但这个镜像的默认应用都是安装到\alidata目录下的,包括httpd.conf的配置文件等都在这个目录下,而不是标准安装包的目标目录,但Gforge 安装的时候都是去修改默认安装配置的,这样就没法装了,方法是把\alidata下的APM安装全部卸载掉(有默认的readme.doc文件可参考),然后自己手动使用yum 来安装AMP;

安装完后在执行第三步;

php  install-gforge-3.php  CENTOS5

最后重启http服务时出错,把Gforge 虚拟主机apache配置中的php_value  # 注释掉可重启。

php_value  include_path  “.:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/lib/external” 在php.ini中已经配置了,这里可以去掉。

另外报缺少 ioncube 文件   ,参考 http://zpz.name/1927/解决

备注:apache 如果使用yum remove  httpd 卸掉,然后用 yum –y install httpd 重装后,其httpd.conf中的配置便复原了,使用yum install php 后,要配置Apache 加载php  ,否则访问.php就不执行出现源码了,可参考:http://blog.sina.com.cn/s/blog_70121e200100lq0h.html

第三步成功后,应该可以正常访问Gforge了。说明相同版本的环境已经Ok了,  然后我们在进行移植;

5、  还原

改名 /var/lib/gforge  -> /var/lib/gforge_bak20141113

改名 /opt/gforge5 –>  /opt/gforge5_bak20141113

然后把原系统上打包的文件上传,然后还原;

tar -xvf gforge_var_lib.tar.gz

tar –xvf gforge_opt.tar.gz

然后倒入数据库

先创建用户和数据库:

psql -U password
postgres=# create user “gforgec*” with password ‘gforges*f’ login in role “gforge”;

create database “gfoXXXXX”
with owner = gfoXXX
encoding =’UTF8′
tablespace = pg_default
connection limit = -1;

然后 上传 gforge5ce_bak_20141105.sql

导入:

psql -U gfoXXX  gfoXXX<  /gforge5ce_bak_20141105.sql

倒入完成后更新数据库连接配置:

/etc/gforge5-db-conf.php

使用新创建的用户名和倒入的数据库名。

6、测试

发现问题

问题1、用户登录时报错: ERROR: text search configuration “default” does not exist

解决方法:

切换到Gforge所用数据库:

psql -U gfoXXX -d gfoXXX

CREATE TEXT SEARCH CONFIGURATION public.default ( COPY = english)

测试全文检索配置default 可用

gforXXXX=> select to_tsvector(‘default’,’hellobaby’);
to_tsvector
—————
‘hellobabi’:1
(1 row)

再次登录正常了;

参考: http://www.postgresql.org/docs/devel/static/sql-createtsconfig.html

问题2:站长管理,搜寻用户时报错:

Could not execute query [Native Error: ERROR: operator does not exist: integer ~~* integer LINE 5: AND (user_id ILIKE 0 ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.] [User Info: SELECT DISTINCT COUNT(*) FROM “user” WHERE is_group=false AND (user_id ILIKE 0 OR unix_name ILIKE ‘%%’ OR email ILIKE ‘%%’ OR firstname ILIKE ‘%%’)]

原因:8.4版本不支持整数到字符串的隐式转换,详情参见:

http://www.postgresql.org/docs/8.3/static/release-8-3.html#AEN85667

解决方案1:

更改SQL:SELECT DISTINCT COUNT(*) FROM “user” WHERE is_group=false AND (user_id::text ILIKE ‘0’ OR unix_name ILIKE ‘%%’ OR email ILIKE ‘%%’ OR firstname ILIKE ‘%%’)

但每次碰到这样的老SQL 都要改,比较麻烦;

解决方案2:

创建一个函数,再添加整数 ilike 整数的操作符,一次性解决所有类似问题。

CREATE OR REPLACE FUNCTION of_integer_ilike_text(prm_integer integer,
prm_intege2 integer)   RETURNS boolean AS

declare
BEGIN
RETURN prm_integer::text ~~* prm_integer2::text;
END;

image

CREATE OPERATOR ~~*(
PROCEDURE = of_integer_ilike_integer,
LEFTARG = integer,
RIGHTARG = integer);

image

问题3:

发现TO-Do任务,在没有关闭的情况下不发提醒邮件:

原因:Cron 脚本未加到crontab中去。

解决方案:把需要cron运行的php脚本加到crontab中去:

>crontab -e

#########################
# GFORGE CRONJOBS
#########################
*/10 * * * *    cd /opt/gforge5 && /usr/bin/php -d include_path=”.:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external” /opt/gforge5/bin/gforge cronjob  /opt/gforge5/cronjobs/send_notification_queue.php
*/15 * * * *    cd /opt/gforge5 && /usr/bin/php -d include_path=”.:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external” /opt/gforge5/cron15.php
15 3 * * *      cd /opt/gforge5 && /usr/bin/php -d include_path=”.:/opt/gforge5:/opt/gforge5/lib:/opt/gforge5/plugins:/opt/gforge5/lib/external” /opt/gforge5/crondaily.php
#########################
# GFORGE SPHINX Job Index
#########################
15 1 * * *      . /usr/local/sphinx/index_gf_main_rotate.sh
*/15 * * * *    . /usr/local/sphinx/index_gf_delta_rotate.sh

后记:

这个迁移完成后 把 mysql 安装一下,然后把Blog迁移过来

安装mysql可以参考: http://www.2cto.com/database/201207/141878.html

Oracle 总帐介绍-4(预算,保留,合并,报告)

预算控制

Oracle 财务提供了有力的、灵活的、易用的预算控制能力来控制费用并且阻止超出预算之外的成本支出。应付帐管理、总帐管理、和采购被完全集成,从而为预算控制需求提供了完全的解决方法。

业务需求

使用Oracle 财务可以实现:

确认实际和计划费用不超过可用资金

为所有可以影响资金的业务即时监测

当为需求、订单、发票或者日记帐储备资金时即时更新可用资金余额

按帐户或者费用文件类型选择超过费用的预算控制程度

多级别的监测资金和保留金

不管会计方式或者货币,控制费用

选择希望强制预算控制的明细和汇总帐户

通过日记帐资源和类别进行预算控制

指定预算控制的容差。比如,如果业务超过了可用资金$1000或者更少,用户被允许进行业务

因为不足的可用资金,所以跨过基础业务

从其他的非Oracle应用中输入日记帐

记录支出保留金,审核、调整支出保留金,正如审核和调整正常的日记帐一样

有选择的清算额外支出保留金,或者将其保留至年电跨度

记录从冲销资金中取消支出保留金

报告可用资金

主要特征

无限制的支出保留金类型

总帐可以规定无限制的支出保留金类型。因为商业活动中可能会使用预算控制的术语,这是同其他组织不同的。用户可以利用这种特性根据组织的术语为日记帐命名。

比如,当为需求储备资金时,合同的条件需求支出保留金参考Oracle 财务生成的日记帐,当审核订单时,合同的条件订单支出保留金参考采购生成的日记帐。

即时监测资金

可以为业务即时单独监测资金。Oracle 财务即时通知用户是否有足够的可用资金。用户也可以监测日记帐、需求、订单和发票的资金。

即时更新可用资金

当成功为业务保留资金后,Oracle 财务自动更新可用资金余额。

即时更新可用资金

绝对的或建议的预算控制

用Oracle财务,用户可以确定是否允许超过可用资金的业务。如果使用完全预算控制,没有可用资金的情况下,Oracle 财务不允许为业务保留资金。如果使用建议预算控制,Oracle 财务即时通知没有可用资金,但是为业务保留资金。

Oracle财务允许用户使用绝对或者建议的预算控制,或者没有针对某一具体科目、成本中心或产品线的预算控制来获得最大限度的费用控制。

多级资金监测和保留资金

为预算控制规定多级资金监测。用户可以选择Oracle 财务来进行详细帐目资金监测或者汇总帐目监测,也可以监测汇总和明细两种资金。

为预算控制汇总帐户

用总帐可以方便的定义需要的汇总帐户。无论何时更新详细科目的余额,总帐都自动更新汇总科目的实际、预算、和支出保留金。当生成汇总帐户时,用户仅仅指示是否需要为该预算控制使用汇总帐户。另外,可以审核总的预算余额、总支出保留金余额、总实际余额、或者可用的即时资金。

多种间隔类型

可以规定需要Oracle 财务进行预算控制的间隔类型。Oracle 财务给用户控制预算的灵活性。选择界限是否是硬的(不能超过界限访问可用资金)或者软的(超过周期界限自动访问可用资金)

多货币分配的支出保留金

Oracle 财务根据同多货币订单分配或者发票分配相一致的本位币进行资金监测。Oracle 财务在本位币中自动生成支出保留金。

预算

Oracle 总帐以需要的方式规定了灵活的预算和预算组织。可以用预算规则、预算公式、电子表格界面来完成或者审核预算。可以在预算之间转移金额。可以方便的将预算数量扩展到很多预算帐户中。可以记录日记帐来生成预算准备过程的审计报告。

保存资金选项

Oracle 财务灵活的控制费用。通过日记帐资源、类别和用户职责定义预算控制选项。或者规定想进行预算控制的帐户范围。

容差

进行预算控制的每种日记帐和类别,用户可以选择规定容限值和容限百分比,这样可以利用最小容限值或者容限百分比超过预算一个特殊的范围。

监测资金的改写

对进行预算控制的每种日记帐资源和类别,用户可以人工改写有足够资金的业务。另外,用户可以在本位币中指定一种改写金额。

日记帐导入

用日记帐,可以自动从现存的非Oracle应用中输入预算、实际、和支出保留金数据。日记帐导入利用新的或者是现存的非Oracle应用程序可以快速集成总帐。也可以通过日记帐为输入业务监测和保存资金。

日记帐录入

用总帐可以为人工输入日记帐监测或保存资金。如果在人工输入的日记帐中没有足够的资金,总帐将通知用户。

取消和冲销资金

Oracle 财务从不同的冲销资金中取消支出保留金,用户也可以方便的报告总的支出保留金和净的支出保留金

可用资金查询

Oracle 总帐可以即时查询可用资金,所以用户通过比较预算和适当的费用来知道实际和计划的费用。

预算控制报告

用财务报表生成器可以报告支出保留资金,这如同报告实际或者预算的数量一样方便。不用程序控制来设计和生成自己习惯的可用资金报告。总帐生成了标准的科目报告,比如总日记帐,来报告支出保留金和费用。

年终支出保留金处理

用总帐的 年终转帐功能有选择的将支出保留金转到下一年度。说明用户希望转帐的范围或者帐户数范围。总帐将支出保留金和预算转入期的余额,并且生成转帐审计报告。

 

 

保留款会计

总帐提供了有力的支出保留能力来阻止超过预算的支出。总帐可以即时的访问可用资金,所以可以了解如何支出保留同预算比较的实际费用。另外,总帐集成了其他的财务产品为需要的支出保留科目提供了完全的解决方法。

业务需求

使用Oracle 总帐可以实现:

输入支出保留帐,分配支出保留差额

同实际数据一样调整责任和承诺付款

确认实际和计划费用没有超过可用资金

复核可用资金

复核本期至今,本季至今,本年至今和项目至今的可用资金余额

支出保留会计与现存系统集成

将支出保留金转到下一年的开始余额中,支出保留金同预算数和可用的资金余额相同

主要特性

在线录入

可以即时输入支出保留金。总帐使这些数据有效,并确认信息的完整性和精确性。过帐前可以即时调整支出保留金。

保留金的集中分配

分配任何成本中心、机构的支出保留金,或者使用简单的公式来分配。比如,可以分配有关新设备结构的支出保留金。在运行支出保留金和报告错误之前,总帐将确认公式有效。

与采购和应付款集成

当审核和打印订单时,采购模块自动在总帐中生成支出保留金。当时发票和订单匹配时,应付帐系统自动在总帐中生成承付款来减少订单的支出保留金。

日记帐的输入

用日记帐输入,可以自动从非Oracle系统中输入支出保留金数据。日记帐输入集成了总帐中新的或现存的应用,比如:采购、应付帐、工资单或者其他的系统。

保留金的过帐

在总帐中控制支出保留金的过帐。用一些快捷健发送一些或者全部的支出保留金。另外,总帐自动 平衡支出保留金和储备金。

汇总支出保留金余额

用总帐可以方便的定义汇总帐户,它的余额是其他明细科目的总数。利用汇总帐户模版可以快速的定义大量的汇总科目。无论何时更新明细科目的余额,总帐自动更新所有的实际、预算和支出保留金。在即时可用资金的查询、公式、分配或者在用财务报表生成器生成的报告中都可以使用汇总帐户。

支出保留金报告

用财务报表生成器报告保留金如同报告实际或者预算数目一样方便。另外,可以无须编程设计和生成自己的可用资金报告。很多总帐报告,包括日记帐过帐报告,列出了支出保留金和费用的信息。甚至可以为特殊支出保留金类型的日记帐生成日记帐过帐报告。

可用资金查询

总帐可以即时访问可用资金,所以用户可以知道费用如何同预算和拨款进行比较。可以在不同权限范围中可以从详细项目、汇总帐户余额、总费用中查询可用资金。查询本期累计,本季累计,本年累计和本项目累计的合用资金。

年终支出保留金处理

可以将支出保留金转到下一年。总帐将支出保留金和预算数目分配进下一年的开始余额。打印年终结转的预览报告。

 

 

合并

合并过程需要统一企业中的所有子公司精确合作,所以在全球财务策略中实际会计流程中最敏感的弱点。为了使生产能力最大,财务策略必须有效提高支持合并过程的每天记帐活动。这个策略保证了每个子公司能提交合并所需要的财务数据。因此,子公司需要能方便的使用和维护的合并功能。

全球合并加强了全球企业的财务策略,这主要通过使用户操纵多步合并过程:准备数据、映射数据、转移数据、进行公司之间的抵销、报告和 分析合并财务结果。

业务需求

使用全球合并系统可以实现:

进行报告-仅仅报表合并或者数据转移合并记帐本位币

从任何详细资源合并数据,任何科目表、记帐本位币、会计期、和余额类型进行合并

用合并工作台和状态控制器进行监测和控制多公司合并

使用灵活的数据映射规则和如何将子公司的数据累记至合并总公司的

逻辑上用合并设置将数据进行分组和同步

用图表的模式审核完整的合并层次

在每种合并级别自动生成抵消分录

用单一模式在多种合并级别中进行追溯

生成合并财务报告来迎合法定报告的需求和内部数据的需求

在OLAP环境中分析合并结果

主要特征

报表合并和数据转移合并

总的来说,有两种合并方式:报表合并和数据转移的合并。支持两种合并方式。

报表合并:在GCS中,可以规定一种财务报告,包括几个子公司。

数据转移合并:

这种方式最适合有多个安装的数据库的全球企业。数据转移合并实际上是将数据从每个子公司转移到一个已经合并了母公司。 总帐用不同的记帐本位币、会计期间、和科目表为公司规定了无限帐套。用户可以用共享段值的不同科目表结构规定多帐套。

合并任何公司

全球企业从合并系统中需要比汇总的财务信息更多的其他东西。最好的合并系统支持详细的策略信息,比如国际收益率分析和通过产品分析的地区收益。所以全球企业需要一种合并方法,它能合并任何层次的商业活动。GCS是一种最需要的合并方法,它通过帮助用户管理动态的全球使市场环境来支持企业做出决定。

集中的监测和控制

直接用户的GCS界面在多步合并过程中的工作流概念指导用户完成每个任务。合并工作台是GCS合并功能的基础,它为合并无数的小公司提供了中央控制点,他还提供了所有子公司的复杂信息,这些子公司合并成一个母公司并且直接通知用户当前每种合并的状态。

合并工作台 状态控制器一起监测和控制合并

状态控制器根据合并过程的状态推荐应当采取的行动。用与工作台联系的状态控制器可以直接访问下面的窗口:数据映射窗口、数据准备窗口、数据转移窗口、减少和报告窗口

灵活的映射规则

异常商业智能被直接归入GCS合并映射规则中。映射规则使分离的商业单元快速合并余额—甚至当它们是不同的科目结构时。另外,GCS映射规则利用有效系数比如母公司的段值和汇总帐户来加速合并过程。

合并设置

合并设置简化了多步的合并过程。合并设置在逻辑上对多级合并结构的每个母公司进行了分组—即使子公司用不同的科目表、映射规则、和合并方法。也可以用合并设置将转移数据同步到每个合并级别。这样可以在系统中合并下一级别之前完成低级别的合并。

图形合并结构观察器

合并观察器在可扩展体系模式中显示了 多级合并结构。合并观察器可以然用户直接看到和分析全部的合并结构,不管它包含多少个中间的母公司。可以在个人节点中使全部体系分解从而分析总的合并结构。另外,扩展体系中的所有节点来观察母公司和子公司的明细关系。

在图形模式中观察全部的合并结构

抵消设置

用抵消设置可以在每个合并级别自动生成抵消分录 。抵消设置支持为计算和抵消少数股权、相互持有部分拥有的内部交易等复杂的公式。

高级追溯能力

合并余额是财务信息波形中的一个波峰。在GCS中可用一种单独的模式在多个合并系统中进行追溯,包括:

合并的母公司合资公司之间

汇总和明细帐户之间

明细帐和日记帐之间

日记帐和子模块业务之间

无限制的功能报告

在现在的快速变化商业环境中,全球的跨国企业不仅要访问更新的信息,还需要灵活的分析不同情况下的信息。GCS为用户提出了何时所需、何种信息。使用GCS,生成的报告可以规定和支持不同的用户层次,所以财务人员可以从总的情况观察合并信息。GCS生成的报告帮助用户提高获得重要财务信息的能力,从而可以使用户在变化不息充满竞争的环境中管理企业。

GCS生成的报告包括网站和电子表格。发布GCS将用户的报告直接发送到网站从而为人工分配删除了打印报告的麻烦。用网站可以将报告连接到一张HTML的网页中。每次打开报告时,都可以自动更新网页。也可以将电子表格复制在网站中的报告中,从而让管理者和财务分析家直接从网站上下载财务信息。所以可以方便的有效的进行预算分配、全球价格分析、或者合并结果。

用GCS的可互换报告组件,也可以实现从现存报告中混合行列生成新的报告。所以每次生成新的报告并没有增加工作,因为没有从零开始。

集成了OLAP分析能力

GCS与财务分析器,市场领先的在线即时分析工具进行紧密的结合,从而可以进行异常多维分析。分析家用OLAP即时聚焦到财务信息进行假设分析,而不是写常规报告。所以,财务分析扩展了全球企业在全球竞争环境中的准确投资和合并结果的影响之间的联系等方面的信息。

财务分析支持无限的商业元素来满足合并分析家的需求。用户可以对多种参数进行分类来获得特殊的信息。另外,可以比较多个商业单元、机构和生产线的数据。

 

 

报告

Oracle 总帐提供了有力的报告和合并能力,包括即时查询,标准报告和列表,用户可以用财务报表生成器来生成无须编程的客户化报表。用总帐可以直接、灵活的访问所需信息来管理业务。

业务需求

使用总帐可以实现

无须程序员的帮助自己设计报告

定义所需的复杂财务报告分析业务,包括为商业单元、盈利中心和成本中心生成的责任报告

利用多种标准的管理和会计报告来获取明细信息,包括科目表列表、日记帐、总帐和试算平衡表 ;当用计算机生成和打印报告时,没有要求一定联系终端 ;用简单的报告菜单和选项申请和多核即时报表;报告中包括了所有的财务信息,包括预算数据和统计数据,如销售单位,人头数,生产单元数,同时报告转换和输入的外币数;即时进行查询来查找更多的明细信息 ;如果想用个人电脑进行分析和计划,可以转换会计信息到诸如Lotus 1-2-3的电子表格中

主要特性

财务报表生成器(FSG)

FSG是非常有用的工具,用来支持可互换的报告对象、处理高性能的服务程序、有效利用系统资源的计划。也可以即时规定处理行、列和所有内部内容的报告

电子表格的报表定义

基于报表向导提供了联系到FSG的表格界面,还为不同用户级别规定了报告。初学者可以用电子表格规定简单的报告,中级用户可以将表格和相关的窗口相联系,高级用户可以设置性能这样可以比在单独的电子表格中更快的输入数据。最重要的是,电子表格界面让用户在表格中管理生成报告的过程,可以综合FSG和电子表格的不同优势。

基于电子表格报表的提交和输出

当定义报告后,可以在提交并在电子表格中审核它们。在报告生成之后,损益表可以自动将他复制回电子表格,并使用常规的设置,比如颜色、字体、和合作登记。也可以从模式模板中自动选择继承模板。比如在硬盘中有资产负债表模板和损益表模板,每种都有不同的模式。当生成损益表时,可以选择继承损益表模板的模式,当生成资产负债表时可以选择继承资产负债表模板模式。所以用户的报告可以准备随时分配到高级管理中。

异常报告

用来突出需要留意特殊信息。规定异常规则和如何标示想要引起注意的标准。用户可以方便的选择显示报告中的异常行。

责任报告

生成一种报告为管理者的汇总报告服务。用责任报告用户会发现各级管理者只需审核必要的信息。

复制报告对象、报告和报告集

自动复制可以让用户复制现存的报告对象、报告和报告集来快速生成新的报告,他还可以复制使用同一科目表的不同帐套,甚至可以用FSG的转移功能复制一个数据库中的数据到另一个数据库中。在实施总帐时,这是特别有用的,因为可以在测试和生成数据库时规定报告和报告对象,然后自动将他转移到产品系统中。

即时请求报告

用几个热健可以生成请求报告。比如,从报告设置列表中选择或者预选规定在总帐中的弹出菜单中显示的的报告,或者从预选规定的报告组件中选择生成特殊报表。

标准报告和列表

总帐提供了各种标准会计报告和列表,包括试算表、日记帐、总帐、帐户分析报告、科目表或者更多的报告。用户为详细或者汇总信息控制运行时间、分类序列和想在报告上看到的可选数据

即时访问

用户可以即时访问会计信息,检查财务报告、会计报告或者列表。

审计线索

Oracle 总帐自动保存所有活动的审计记录,用户可以方便的查出谁作了什么,何时进行的,审计线索帮助你追踪帐户活动和更改。

ASH报告实验

ASH 报告的作用:

    利用 ASH 报告可以分析持续时间通常只有几分钟的瞬间性能问题, 根据各种维度(如 time、session、module、action 或 sql_id )或这些维度的组合进行确定范围或目标的性能分析.

    瞬间性能问题持续的时间非常短,不会出现在Automatic Database Diagnostics Monitor (ADDM) 分析中。ADDM 尝 试在分析期间根据问题读 DB time 的影响报告重大的性能问题。如果某个特定的问题持续的时间非常短暂,则该问题 的严重性可能就被均匀化,或因分析期间产生的其他性能问题而减小。因此,在 ADDM 中可能找不到该问题的记录。

    ADDM 是否捕获某个性能问题,取决于该问题的持续时间与 AWR 快照之间的间隔的时间比。 如果性能问题持续的时间与快照间隔比非常大,则 ADDM 将捕获该问题。例如,如果快照间隔设为 1 小时,而性能问
题持续了 30 分钟,则该问题就不会被视为瞬间性能问题,因为其持续时间与快照间隔比较大,很可能被 ADDM 捕获 到。

    如果某个性能问题只持续 2 分钟,该问题可能就是一个短暂的性能问题,因为其持续时间与快照间隔的比例非常小, 不会出现在 ADDM 发现的问题当中。比如,如果用户通知您系统在晚上 10 点到 10 点过 10 分之间非常慢,而 ADDM 分析 的时段在晚上 10 点到 11 点之间,并且未显示任何性能问题,则可能发生了短暂的性能问题,在用户所报告的10分钟 时段内只持续了数分钟。

 

本实验的目的: 初步理解ASH报告

本实验的环境: 笔记本电脑上的EBS12.1.3 虚拟机(32位)

本实验的过程: 1、登录EBS,查询出一张客户=ABC Corporation Asia 的销售订单,在订单行上添加一行,新增3个AS54888的订购;然后保存;(这个过程在打开虚拟机首次执行时大约耗时10分钟;以后第二次会快很多,当我们这里就是研究第一次的ASH报告);

                      2、然后运行ASH报告,时间间隔为10分钟;

                      3、然后查看并分析ASH报告;

 

 

1、登录EBS,查询出一张客户=ABC Corporation Asia 的销售订单,在订单行上添加一行,新增3个AS54888的订购;然后保存;

image

 

2、运行ASH报告:

image

image

 

 

 

3、然后查看并分析ASH报告;

[oracle@syfdemo ~]$ more ashrpt_1_0212_1111.txt

ASH Report For VIS/VIS

DB Name         DB Id    Instance     Inst Num Release     RAC Host
———— ———– ———— ——– ———– — ————
VIS            280232500 VIS                 1 11.1.0.7.0  NO  syfdemo.ml.c

CPUs           SGA Size       Buffer Cache        Shared Pool    ASH Buffer Size
—- —————— —————— —————— ——————
   2      1,501M (100%)       992M (66.1%)       432M (28.8%)        4.0M (0.3%)

          Analysis Begin Time:   12-Feb-14 11:01:41
            Analysis End Time:   12-Feb-14 11:11:46
                 Elapsed Time:        10.1 (mins)
            Begin Data Source:   V$ACTIVE_SESSION_HISTORY
              End Data Source:   V$ACTIVE_SESSION_HISTORY
                 Sample Count:         311
      Average Active Sessions:        0.51
  Avg. Active Session per CPU:        0.26
                Report Target:   None specified

Top User Events                      DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                                               Avg Active
Event                               Event Class        % Event   Sessions
———————————– ————— ———- ———-
db file sequential read             User I/O             64.31       0.33
CPU + Wait for CPU                  CPU                  17.36       0.09
db file parallel read               User I/O              6.75       0.03
log file sync                       Commit                2.89       0.01
          ————————————————————-

////  上面这一节列出 来自用户进程的,占采样会话活动比例最高的一些等待事件; 这里例子中比例最高的等待事件是 数据库文件的顺序读; 说明最大的问题是IO;

 

 

Top Background Events                DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                                               Avg Active
Event                               Event Class     % Activity   Sessions
———————————– ————— ———- ———-
control file parallel write         System I/O            3.22       0.02
CPU + Wait for CPU                  CPU                   2.57       0.01
log file parallel write             System I/O            2.25       0.01
          ————————————————————-

////  上面这一节列出 来自后台进程的,占采样会话活动比例最高的一些等待事件;  最高的是控制文件的并行读,3.22% ;

Top Event P1/P2/P3 Values            DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

Event                          % Event  P1 Value, P2 Value, P3 Value % Activity
—————————— ——- —————————– ———-
Parameter 1                Parameter 2                Parameter 3
————————– ————————– ————————–
db file sequential read          64.31                 "1","593","1"       0.32
file#                      block#                     blocks

db file parallel read             6.75                 "3","89","89"       0.64
files                      blocks                     requests

control file parallel write       3.22                   "3","3","3"       2.89
files                      block#                     requests

log file sync                     2.89                "9474","0","0"       1.29
buffer#                    NOT DEFINED                NOT DEFINED

log file parallel write           2.25                   "1","2","1"       0.64
files                      blocks                     requests

          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的一些等待事件(按等待时间 %Event排序);  并细分出每种等待事件中P1/P2/P3 三种子类型值;

比如  db file sequential read          64.31                 "1","593","1"       0.32
file#                      block#                     blocks

表示  db file sequential read     是等待最严重的事件, 其中单个文件读发生了1次,单个Block读发生了593次,多个Block一起读发生了1次?    

 

Top Service/Module                   DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

Service        Module                   % Activity Action               % Action
————– ———————— ———- —————— ———-
VIS            e:ONT:frm:OEXOEORD            69.77 ONT/ORDER_MGMT_SUP      69.77
SYS$BACKGROUND UNNAMED                        7.72 UNNAMED                  7.72
VIS            frmweb@syfdemo.ml.com (T       6.11 UNNAMED                  6.11
               fnd.framework.service.lo       5.79 6882                     5.79
               e:ONT:wf:OEOL                  3.86 ONT/ORDER_MGMT_SUP       3.86
          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的一些服务和模块;  这里例子显示在这10分钟内,主要活动来自于销售订单Form;

Top Client IDs                       DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                                              Avg Active
Client ID                                          % Activity   Sessions
————————————————– ———- ———-
User            Program                           Service
————— ——————————— ——————–
OPERATIONS                                              76.53       0.39
APPS            frmweb@syfdemo.ml.com (TNS V1-V3) VIS

OPERATIONS                                               5.79       0.03
APPS            JDBC Thin Client                  VIS

          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的客户端信息;  这里例子显示在这10分钟内,主要活动来自于ERP用户OPERATIONS , 对应的数据库用户是APPS, 使用的程序是Form;

Top SQL Command Types                DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> ‘Distinct SQLIDs’ is the count of the distinct number of SQLIDs
      with the given SQL Command Type found over all the ASH samples
      in the analysis period

                                           Distinct            Avg Active
SQL Command Type                             SQLIDs % Activity   Sessions
—————————————- ———- ———- ———-
SELECT                                           83      35.05       0.18
UPDATE                                            1       7.07       0.04
PL/SQL EXECUTE                                   10       6.75       0.03
INSERT                                            5       1.61       0.01
          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的SQL语句类型;  这里例子显示在这10分钟内,主要活动来自于SELECT查询;

Top Phases of Execution              DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                          Avg Active
Phase of Execution             % Activity   Sessions
—————————— ———- ———-
SQL Execution                       85.85       0.44
PLSQL RPC                           75.88       0.39
Hard Parse                          17.68       0.09
Parse                               17.68       0.09
PLSQL Compilation                   14.15       0.07
          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的SQL语句执行阶段;  这里例子显示在这10分钟内,主要SQL语句阶段来自于执行。 SQL的解析都是硬解析?;

 

^LTop SQL with Top Events             DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                                        Sampled #
                 SQL ID             Planhash        of Executions     % Activity
———————– ——————– ——————– ————–
Event                          % Event Top Row Source                    % RwSrc
—————————— ——- ——————————— ——-
          2r68fjxqkmpt8            732202868                    0           6.75
db file parallel read             6.43 ** Row Source Not Available **       6.43
UPDATE OE_ORDER_LINES SET ACCOUNTING_RULE_ID = :B341 , ACCOUNTING_RULE_DURATION
= :B340 , CALCULATE_PRICE_FLAG = :B339 , ACTUAL_ARRIVAL_DATE = :B338 , ACTUAL_SH
IPMENT_DATE = :B337 , AGREEMENT_ID = :B336 , ARRIVAL_SET_ID = :B335 , ATO_LINE_I
D = :B334 , ATTRIBUTE1 = :B333 , ATTRIBUTE10 = :B332 , ATTRIBUTE11 = :B331 , ATT

          gdnwgx9fcxggr                  N/A                    1           3.22
db file sequential read           3.22 ** Row Source Not Available **       3.22
begin OE_SHIPPING_WF.START_SHIPPING (:v1, :v2, :v3, :v4, :v5); end;

          8k76jah7wnp6t           2273136528                    6           1.93
db file sequential read           1.29 TABLE ACCESS – BY INDEX ROWID        0.64
select prompt, description from fnd_menu_entries_tl where menu_id = :1 and entry
_sequence = :2 and language = :3

          bs4bnjpfdnpn2           2066941791                    4           1.29
db file sequential read           0.96 TABLE ACCESS – BY INDEX ROWID        0.96
select function_name, context_dependence, maintenance_mode_support, parame
ters, type, web_agent_name, web_host_name, web_html_call, web_icon, form_i
d from fnd_form_functions where function_id = :1

          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的事件,以及导致该事件的SQL语句;这里的例子显示,这10分钟内等待时间最长的事件是 db file parallel read ; 而该事件主要是由于 “更新订单行”的SQL语句导致的。

Top SQL with Top Row Sources         DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                                                        Sampled #
                 SQL ID             PlanHash        of Executions     % Activity
———————– ——————– ——————– ————–
Row Source                               % RwSrc Top Event               % Event
—————————————- ——- ———————– ——-
          2r68fjxqkmpt8            732202868                    0           6.75
** Row Source Not Available **              6.75 db file parallel read      6.43
UPDATE OE_ORDER_LINES SET ACCOUNTING_RULE_ID = :B341 , ACCOUNTING_RULE_DURATION
= :B340 , CALCULATE_PRICE_FLAG = :B339 , ACTUAL_ARRIVAL_DATE = :B338 , ACTUAL_SH
IPMENT_DATE = :B337 , AGREEMENT_ID = :B336 , ARRIVAL_SET_ID = :B335 , ATO_LINE_I
D = :B334 , ATTRIBUTE1 = :B333 , ATTRIBUTE10 = :B332 , ATTRIBUTE11 = :B331 , ATT

          gdnwgx9fcxggr                  N/A                    1           3.22
** Row Source Not Available **              3.22 db file sequential read    3.22
begin OE_SHIPPING_WF.START_SHIPPING (:v1, :v2, :v3, :v4, :v5); end;

          8k76jah7wnp6t           2273136528                    6           1.93
INDEX – UNIQUE SCAN                         0.96 db file sequential read    0.64
select prompt, description from fnd_menu_entries_tl where menu_id = :1 and entry
_sequence = :2 and language = :3

          bs4bnjpfdnpn2           2066941791                    4           1.29
TABLE ACCESS – BY INDEX ROWID               1.29 db file sequential read    0.96
select function_name, context_dependence, maintenance_mode_support, parame
ters, type, web_agent_name, web_host_name, web_html_call, web_icon, form_i
d from fnd_form_functions where function_id = :1

          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的SQL语句及其执行计划,如果是SELECT查询语句,列出详细的执行计划信息,用以了解那部分的SQL执行导致了最主要的问题;这里的例子显示,这10分钟内更新语句和API执行是导致 db file parallel read 这个等待最严重事件的罪魁祸首,但没有显示执行计划 ;而第三句SELECt倒是显示了 对fnd_menu_entries_tl 表的 Index Unique Scan 占据了 db file parallel read 这个等待最严重事件的0.96%;

Top SQL using literals               DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                  No data exists for this section of the report.
          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的  使用了常量的SQL语句,我们可以看看如果存在使用常量的SQL语句,那么可以考虑使用绑定变量来改进; 本例中没有发现使用常量的SQL语句。

Top Parsing Module/Action            DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

Module                         Action                           % Activ Event
—————————— ——————————– ——- ——–

e:ONT:frm:OEXOEORD             ONT/ORDER_MGMT_SUPER_USER          16.08 db file
                               ONT/ORDER_MGMT_SUPER_USER                db file
                               ONT/ORDER_MGMT_SUPER_USER                CPU + Wa
frmweb@syfdemo.ml.com (TNS V1-                                     1.29 db file
          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的,用在解析SQL语句上的模块。

 

Top PL/SQL Procedures                DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> ‘PL/SQL entry subprogram’ represents the application’s top-level
      entry-point(procedure, function, trigger, package initialization
      or RPC call) into PL/SQL.
-> ‘PL/SQL current subprogram’ is the pl/sql subprogram being executed
      at the point of sampling . If the value is ‘SQL’, it represents
      the percentage of time spent executing SQL for the particular
      plsql entry subprogram

PLSQL Entry Subprogram                                            % Activity
—————————————————————– ———-
PLSQL Current Subprogram                                           % Current
—————————————————————– ———-
APPS.OE_OE_FORM_LINE.VALIDATE_AND_WRITE                                18.01
   SQL                                                                 17.04
APPS.OE_OE_FORM_LINE.CHANGE_ATTRIBUTE                                  16.40
   SQL                                                                 15.43
APPS.OE_OE_FORM_HEADER.PROCESS_OBJECT                                   9.00
   SQL                                                                  8.04
APPS.OE_ATP.ATP_CHECK                                                   4.18
   SQL                                                                  3.86
APPS.OE_OE_FORM_LINE.DEFAULT_ATTRIBUTES                                 3.86
   SQL                                                                  3.86
          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的PLSQL程序。其中,PLSQL Entry Subprogram是PLSQL的入口程序,PLSQL Current Subprogram 是当前执行的子程序,如果PLSQL Current Subprogram =SQL; 那么%Current 表示的是为当前子程序执行SQL的百分比时间。

 

Top Java Workload                    DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                  No data exists for this section of the report.
          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的JAVA 程序, 本例中没有出现;

^LTop Sessions                        DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> ‘# Samples Active’ shows the number of ASH samples in which the session
      was found waiting for that particular event. The percentage shown
      in this column is calculated with respect to wall clock time
      and not total database activity.
-> ‘XIDs’ shows the number of distinct transaction IDs sampled in ASH
      when the session was waiting for that particular event
-> For sessions running Parallel Queries, this section will NOT aggregate
      the PQ slave activity into the session issuing the PQ. Refer to
      the ‘Top Sessions running PQs’ section for such statistics.

   Sid, Serial# % Activity Event                             % Event
————— ———- —————————— ———-
User                 Program                          # Samples Active     XIDs
——————– —————————— —————— ——–
      362,34551      79.74 db file sequential read             57.88
APPS                 frmweb@syfdemo…m (TNS V1-V3)     180/605 [ 30%]        4

                           CPU + Wait for CPU                  14.79
                                                         46/605 [  8%]        1

                           db file parallel read                6.75
                                                         21/605 [  3%]        1

      286,  239       5.79 db file sequential read              4.18
APPS                 JDBC Thin Client                    13/605 [  2%]        0

                           CPU + Wait for CPU                   1.61
                                                          5/605 [  1%]        0

      390,    1       3.54 control file parallel write          3.22
SYS                  oracle@syfdemo.ml.com (CKPT)        10/605 [  2%]        0

      279, 4765       2.89 db file sequential read              2.25
APPS                 frmweb@syfdemo…m (TNS V1-V3)       7/605 [  1%]        0

      391,    1       2.25 log file parallel write              2.25
SYS                  oracle@syfdemo.ml.com (LGWR)         7/605 [  1%]        0

          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的会话;

Top Blocking Sessions                DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> Blocking session activity percentages are calculated with respect to
      waits on enqueues, latches and "buffer busy" only
-> ‘% Activity’ represents the load on the database caused by
      a particular blocking session
-> ‘# Samples Active’ shows the number of ASH samples in which the
      blocking session was found active.
-> ‘XIDs’ shows the number of distinct transaction IDs sampled in ASH
      when the blocking session was found active.

Blocking Sid (Inst) % Activity Event Caused                      % Event
——————– ———- —————————— ———-
User                 Program                          # Samples Active     XIDs
——————– —————————— —————— ——–
   391,    1(     1)       2.89 log file sync                        2.89
SYS                  oracle@syfdemo.ml.com (LGWR)         7/605 [  1%]        0

          ————————————————————-

////  上面这一节列出   占采样会话活动比例最高的  阻塞其他会话的会话; 本例中这个会话的Session id 是391,  XIDS =0 表示在采样期间,受影响的事务处理储量为0;

^LTop Sessions running PQs            DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                  No data exists for this section of the report.
          ————————————————————-

////  上面这一节列出   占采样会话活动等待事件比例最高的 运行并行查询的会话; 本例中没有;

Top DB Objects                       DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> With respect to Application, Cluster, User I/O and buffer busy waits only.

      Object ID % Activity Event                             % Event
————— ———- —————————— ———-
Object Name (Type)                                    Tablespace
—————————————————– ————————-
          67932       7.07 db file parallel read                6.43
ONT.OE_ATTACHMENT_RULES (TABLE)                       APPS_TS_SEED

          34881       5.47 db file sequential read              5.47
APPLSYS.FND_PROFILE_OPTIONS (TABLE)                   APPS_TS_SEED

        1231012       4.82 db file sequential read              4.50
APPLSYS.FND_PROFILE_OPTION_VALUES_U1 (INDEX)          APPS_TS_TX_IDX

          68069       3.54 db file sequential read              3.54
ONT.OE_ORDER_LINES_ALL (TABLE)                        APPS_TS_TX_DATA

          34805       2.57 db file sequential read              2.57
APPLSYS.FND_NEW_MESSAGES_PK (INDEX)                   APPS_TS_SEED

          ————————————————————-

////  上面这一节列出   占采样会话活动事件比例最高的事件所涉及的数据库对象;

Top DB Files                         DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> With respect to Cluster and User I/O events only.

        File ID % Activity Event                             % Event
————— ———- —————————— ———-
File Name                                             Tablespace
—————————————————– ————————-
              7      18.97 db file sequential read             12.54
/d01/oracle/VIS/db/apps_st/data/reference3.dbf        APPS_TS_SEED

                           db file parallel read                6.43

             30      11.25 db file sequential read             11.25
/d01/oracle/VIS/db/apps_st/data/reference2.dbf        APPS_TS_SEED

             45       5.47 db file sequential read              5.47
/d01/oracle/VIS/db/apps_st/data/reference1.dbf        APPS_TS_SEED

            118       3.86 db file sequential read              3.86
/d01/oracle/VIS/db/apps_st/data/tx_data32.dbf         APPS_TS_TX_DATA

             70       2.89 db file sequential read              2.57
/d01/oracle/VIS/db/apps_st/data/tx_idx8.dbf           APPS_TS_TX_IDX

          ————————————————————-

////  上面这一节列出   占采样会话活动事件比例最高的事件所涉及的数据库文件;

Top Latches                          DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)

                  No data exists for this section of the report.
          ————————————————————-

////  上面这一节列出   占采样会话活动事件比例最高的事件所涉及的数据库latch(闩锁);

Latch(闩锁)是简单的,低层次的序列化机制来保护共享数据结构在系统全局区(SGA)。例如,Latch保护用户当前访问的数据库和数据结构描述缓冲区高速缓存中的块的列表。一个服务器或后台进程获取一个锁存器,它在很短的时间,而操纵或在看这些结构中的一个。Latch的实现是依赖于操作系统,特别是关于一个进程是否以及如何长期等待Latch。

^LActivity Over Time                  DB/Inst: VIS/VIS  (Feb 12 11:01 to 11:11)
-> Analysis period is divided into smaller time slots
-> Top 3 events are reported in each of those slots
-> ‘Slot Count’ shows the number of ASH samples in that slot
-> ‘Event Count’ shows the number of ASH samples waiting for
   that event in that slot
-> ‘% Event’ is ‘Event Count’ over all ASH samples in the analysis period

                         Slot                                   Event
Slot Time (Duration)    Count Event                             Count % Event
——————– ——– —————————— ——– ——-
11:01:41   (19 secs)        6 db file sequential read               4    1.29
                              CPU + Wait for CPU                    2    0.64
11:02:00   (1.0 min)       36 db file sequential read              28    9.00
                              CPU + Wait for CPU                    6    1.93
                              db file parallel read                 1    0.32
11:03:00   (1.0 min)       46 db file sequential read              27    8.68
                              CPU + Wait for CPU                   13    4.18
                              control file parallel write           6    1.93
11:04:00   (1.0 min)       30 db file sequential read              21    6.75
                              CPU + Wait for CPU                    6    1.93
                              control file parallel write           1    0.32
11:05:00   (1.0 min)       40 db file sequential read              30    9.65
                              CPU + Wait for CPU                    9    2.89
                              db file scattered read                1    0.32
11:06:00   (1.0 min)       57 db file parallel read                20    6.43
                              db file sequential read              20    6.43
                              CPU + Wait for CPU                   10    3.22
11:07:00   (1.0 min)       33 db file sequential read              27    8.68
                              CPU + Wait for CPU                    5    1.61
                              control file parallel write           1    0.32
11:08:00   (1.0 min)       54 db file sequential read              43   13.83
                              CPU + Wait for CPU                   10    3.22
                              control file parallel write           1    0.32
11:09:00   (1.0 min)        6 log file sync                         5    1.61
                              log file parallel write               1    0.32
11:10:00   (1.0 min)        2 log file parallel write               1    0.32
                              log file sync                         1    0.32
11:11:00   (46 secs)        1 CPU + Wait for CPU                    1    0.32
          ————————————————————-

////  上面这一节把采样会话活动期间分成十份; 第1份和第十分通常是时间零头;中间八份的时间是均等的;

本例中,蓝色部分是第八份,这一份时间内进行54次采样,等待数据库文件的顺序读事件发生43次,占总采用时间期间事件总数的13.83%;

End of Report
[oracle@syfdemo ~]$

 

参考: http://www.cnblogs.com/sqlite3/archive/2011/05/26/2568146.html

          http://blog.itpub.net/35489/viewspace-609528

          Oracle 官方文档 <oracle 11g performance tunning guider>

Oracle 扩展统计信息-列组合直方图实验

在《Oracle 11g Performance tunning guider 》对于扩展统计信息-列组合的描述,大意为:

假设一张表已经收集了列的直方图,那么:

如果 查询条件是: Where  column1 =XXX; 那么oracle 可根据Column1上的直方图预估返回的行数;

如果 查询条件是: Where  column2 =XXX; 那么oracle 可根据Column2上的直方图预估返回的行数;

那么如果查询条件是个组合条件,比如Where Column1=XXX and Column2 = YYY; 那么Oracle 就无法知道如何预估返回的行数了;  所以呢,Oracle 就提供了扩展的统计信息-列组合统计信息;

看下面的实验:

单列条件 sold_to_org_id =5331 的预估返回行数66

image

单列条件 invoice_to_org_id=3662 的预估返回行数1159

image

目前并不存在组合列的统计信息:

image

看组合列查询条件 的预估返回行数,取的是两个单列查询条件中最小的一个:

image

 

为列组合统计信息:

–yufang.shang@hand-china.com
–统计列直方图信息
begin
  DBMS_STATS.GATHER_TABLE_STATS(‘ONT’,
        ‘OE_ORDER_HEADERS_ALL’,
        METHOD_OPT => ‘FOR ALL COLUMNS SIZE SKEWONLY FOR COLUMNS (SOLD_TO_ORG_ID,INVOICE_TO_ORG_ID) SIZE 250’);
end;

 

 

image

 

 

image

 

再次看组合查询的执行计划:

image

跟没有收集扩展的列组合统计信息前相比: Table Access By Index Rowid 的预估返回行数有变化,从9变成了2;

而实际上,这句SQL语句的返回行数是0; 只能说是预估更准了点;

image

 

此功能的实用价值有待遇与进一步探讨……

 

附录:本实验相关SQL:

================================================

select count(1)
  from oe_order_headers_all
where sold_to_org_id = 5331
 
select count(1)
  from oe_order_headers_all
where  INVOICE_TO_ORG_ID =3662

select count(1)
  from oe_order_headers_all
where sold_to_org_id = 5331
and  INVOICE_TO_ORG_ID =3662

–统计列直方图信息
begin
  DBMS_STATS.GATHER_TABLE_STATS(‘ONT’,
        ‘OE_ORDER_HEADERS_ALL’,
        METHOD_OPT => ‘FOR ALL COLUMNS SIZE SKEWONLY FOR COLUMNS (SOLD_TO_ORG_ID,INVOICE_TO_ORG_ID) SIZE 250’);
end;

–查看创建的列组合
SELECT EXTENSION_NAME, EXTENSION
  FROM DBA_STAT_EXTENSIONS
WHERE TABLE_NAME = ‘OE_ORDER_HEADERS_ALL’;
–删除列组合
begin
DBMS_STATS.DROP_EXTENDED_STATS(‘ONT’,’OE_ORDER_HEADERS_ALL’,
‘(SOLD_TO_ORG_ID,INVOICE_TO_ORG_ID)’);
end;

–查看列组合直方图信息
SELECT e.EXTENSION col_group, t.NUM_DISTINCT, t.HISTOGRAM
  FROM DBA_STAT_EXTENSIONS e, DBA_TAB_COL_STATISTICS t
WHERE e.EXTENSION_NAME = t.COLUMN_NAME
   AND e.TABLE_NAME = t.TABLE_NAME
   AND t.TABLE_NAME = ‘OE_ORDER_HEADERS_ALL’;
  

–查看列组合的直方图
select *
  from DBA_TAB_HISTOGRAMS
where table_name = ‘OE_ORDER_HEADERS_ALL’
   and column_name = ‘SYS_STUC772WO5L42XA96DEQCKUGBS’

IE访问EBS Form的兼容性视图问题

you Asked :

       Hi, 老商 , 我的IE原来访问EBS Form一直是正常的,但从IE10自动升级到IE11后,就无法正常打开EBS R12.1.3 的Form了,提示我未安装JRE,要安装java 1.6.0_07 ;但 我机器上的JRE 已经是1.6.0_25了,比它要求的还新,理论上应该是满足要求的。

       而且我把1.6.0_25卸载后,按它的要求重新安装1.6.0_07 后还是没有解决问题,请问我该怎么办呢?

We Said:

       请检查IE11的兼容性视图设置,把你当前的站点加到兼容性视图站点可解决此问题。