http://oracle.chinaitlab.com/induction/791615.html

1 创建一个专用表保存各表的统计信息:
exec dbms_stats.create_stat_table('ks38','fys');

2 将各表的统计信息导入到ks38.fys表中;
exec dbms_stats.export_table_stats('ks38','tcl_cust_base_info',null,'fys');
---可以创建不是登陆用户下的表;如用system登陆,可以创建表到‘ks38'用户下

或将指定schema的统计信息导入到ks38.fys表中
exec dbms_stats.export_schema_stats('ks38','fys');

注:
若将整个数据库的统计信息导出到某个表必须按以下方式做:
1)用SYSDBA角色的用户登陆(如system)
2) exec dbms_stat.create_stat_table('system','tbl_name'); ----记住:此处创建的表必须是登陆用户下的表。
3) exec dbms_stat.export_database_stats('tbl_name')

****
导出表状态、SCHEMA统计信息,保存导出信息的表的SCHEMA可以和登陆用户名不一致;另外导入统计信息的表和原表尽可能
是同一schema下的
导出整个数据库统计信息,保存导出信息的表的SCHEMA必须和登陆用户名一致,必须是DBA角色。

3 查看统计信息是否导入:
select * from ks38.fys;

4 删除某张表的统计信息:
exec dbms_stats.delete_table_stats('ks38','tcl_cust_base_info');

5 查看统计信息是否被删除:
select table_name ,to_char(LAST_ANALYZED,'yyyymmdd hh24:mi:ss')
from ALL_tables where lower(table_name) LIKE 'tcl_cust_%_info%';

6 导入先前导出的统计信息:
exec dbms_stats.import_table_stats('ks38','tcl_cust_base_info',null,'fys');
注意:tcl_cust_base_info和fys都是在’ks38'用户下的表。

=========

http://www.51testing.com/?uid-16403-action-viewspace-itemid-101605

oracle 10g如何关闭和打开自动收集统计信息

一、ORACLE10g自动收集统计信息--自动analyze从Oracle Database 10g开始,Oracle在建库后就默认创建了一个名为GATHER_STATS_JOB的定时任务,用于自动收集CBO的统计信息。

这个自动任务默认情况下在工作日晚上10:00-6:00和周末全天开启。调用DBMS_STATS.GATHER_DATABASE_STATS_JOB_PROC收集统计信息。该过程首先检测统计信息缺失和陈旧的对象。然后确定优先级,再开始进行统计信息。

可以通过以下查询这个JOB的运行情况:

select * from Dba_Scheduler_Jobs where JOB_NAME ='GATHER_STATS_JOB'

其实同在10点运行的Job还有一个AUTO_SPACE_ADVISOR_JOB:SQL> select JOB_NAME,LAST_START_DATE from dba_scheduler_jobs;

JOB_NAME                      LAST_START_DATE

------------------------------ --------------------------------------

AUTO_SPACE_ADVISOR_JOB        04-DEC-07 10.00.00.692269 PM +08:00

GATHER_STATS_JOB              04-DEC-07 10.00.00.701152 PM +08:00

FGR$AUTOPURGE_JOB

PURGE_LOG                      05-DEC-07 03.00.00.169059 AM PRC

然而这个自动化功能已经影响了很多系统的正常运行,晚上10点对于大部分生产系统也并非空闲时段。

而自动分析可能导致极为严重的闩锁竞争,进而可能导致数据库Hang或者Crash。所以建议最好关闭这个自动统计信息收集功能:

exec DBMS_SCHEDULER.DISABLE('GATHER_STATS_JOB');

自动化永远而严重的隐患相伴随!关闭及开启自动搜集功能,有两种方法,分别如下:

方法一:

exec dbms_scheduler.disable('SYS.GATHER_STATS_JOB');

exec dbms_scheduler.enable('SYS.GATHER_STATS_JOB');

方法二:

alter system set "_optimizer_autostats_job"=false scope=spfile;

alter system set "_optimizer_autostats_job"=true scope=spfile;

Pfile可以直接修改初始化参数文件,重新启动数据库

二、AWR默认通过MMON及MMNL进程来每小自动运行一次,为了节省空间,采集的数据在 7 天后自动清除。

快照频率和保留时间都可以由用户修改。要查看当前的设置,您可以使用下面的语句:

select snap_interval, retention

from dba_hist_wr_control;

SNAP_INTERVAL       RETENTION

------------------- -------------------
 +00000 01:00:00.0   +00007 00:00:00.0

这些 SQL 语句显示快照每小时采集一次,采集的数据保留 7 天。要修改设置例如,快照时间间隔为 20 分钟,保留时间为两天您可以发出以下命令。参数以分钟为单位。

begin

dbms_workload_repository.modify_snapshot_settings (51Testing软件测试网(` W3]j:m9b2D`

interval => 20,

retention => 2*24*60

);end;

AWR 使用几个表来存储采集的统计数据,所有的表都存储在新的名称为 SYSAUX 的特定表空间中的 SYS 模式下,并且以 WRM$_* 和 WRH$_* 的格式命名。前一种类型存储元数据信息(如检查的数据库和采集的快照),后一种类型保存实际采集的统计数据。(您可能已经猜到,H 代表“历史数据 (historical)”而 M 代表“元数据 (metadata)”。)在这些表上构建了几种带前缀 DBA_HIST_ 的视图,这些视图可以用来编写您自己的性能诊断工具。视图的名称直接与表相关;例如,视图 DBA_HIST_SYSMETRIC_SUMMARY 是在WRH$_SYSMETRIC_SUMMARY 表上构建的。

您的处理计划一般是有规律的,并且通常基于您对各种事件的了解和您处理它们的经验。现在设想相同的事情由一个引擎来完成,这个引擎采集量度并根据预先确定的逻辑来推出可能的计划。您的工作不就变得更轻松了吗? 现在在 Oracle Database 10g中推出的这个引擎称为自动数据库诊断监控程序 (ADDM)。为了作出决策,ADDM 使用了由 AWR 采集的数据。

在 AWR 进行的每一次快照采集之后,调用 ADDM 来检查量度并生成建议。因此,实际上您拥有了一个一天二十四小时工作的自动数据库管理员,它主动地分析数据并生成建议,从而把您解放出来,使您能够关注更具有战略意义的问题。

快照默认是自动采集的,但您也可以按需要采集它们。所有的 AWR 功能都在程序包 DBMS_WORKLOAD_REPOSITORY 中实施。要采集一次快照,只需发出下面的命令:

execute dbms_workload_repository.create_snapshot它立即采集一次快照,快照被记录在表 WRM$_SNAPSHOT 中。采集的量度是针对 TYPICAL 级别的。如果您想采集更详细的统计数据,您可以在上面的过程中将参数 FLUSH_LEVEL 设置为 ALL。统计数据自动删除,但也可以通过调用过程 drop_snapshot_range() 来手动删除。

==========

http://blog.sina.com.cn/s/blog_539d361e0100ss2k.html

手工更新的语句是:
    execute dbms_stats.gather_table_stats($USER_NAME,$TABLE_NAME);

使用手工更新的场景:
1. Oracle有个自动更新统计信息的Job,大约在每天晚上执行。所以在白天统计信息不会被更新掉;
2. 统计信息对CBO的影响有个阀值,尤其是对范围查找来说,超过这个阀值,就使用索引,否则就全表扫描;
3. 白天发现查询突然变得非常慢时,应该正好是突破这个阀值的时间点;
4. 这时可以使用手工更新来纠正统计信息的错误。

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

当你做一次db的dump之后,由于统计信息没有更新,有可能导致查询的性能变差,所以需要重新收集统计信息

Oracle统计信息的导出、导入相关推荐

  1. 达梦数据库统计信息的导出导入

    一.统计信息 对象统计信息描述了对象数据的分布特征.统计信息是优化器的代价计算的依据,可以帮助优化器较精确地估算成本,对执行计划的选择起着至关重要的作用.统计信息的收集频率是一把双刃剑,频率太低导致统 ...

  2. oracle导出表统计信息,Oracle统计信息的导出与导入

    1 创建一个专用表保存各表的统计信息: exec dbms_stats.create_stat_table('ks38','fys'); 2 将各表的统计信息导入到ks38.fys表中: exec d ...

  3. oracle统计信息导出与导入目的,Oracle统计信息的导出与导入

    1 创建一个专用表保存各表的统计信息:exec dbms_stats.create_stat_table( 1 创建一个专用表保存各表的统计信息: exec dbms_stats.create_sta ...

  4. oracle 查看索引大小_技术分享|简述Oracle统计信息

    于树文 云技术管理处 在Oracle的11g版本中,统计信息为自动收集功能.在部署安装11g Oracle软件过程中,其中有一个步骤便是提示是否启动这个功能(默认是启用这个功能).有时候在生产环境中, ...

  5. 收集oracle统计信息

    原文地址为: 收集oracle统计信息 优化器统计范围: 表统计: --行数,块数,行平均长度:all_tables:NUM_ROWS,BLOCKS,AVG_ROW_LEN: 列统计: --列中唯一值 ...

  6. [Oracle] oracle统计信息

    Oracle统计信息 Oracle数据库里的统计信息可以分为6种类型: 表的统计信息 索引的统计信息 列的统计信息 系统统计信息 数据字典统计信息 内部对象统计信息 图 1: Oracle统计信息 基 ...

  7. oracle统计信息

    oracle统计信息 study oracle基础  基础 统计信息相关 1.哪种优化器模式需要统计信息收集,ALL_ROWS 目前O3建议无论模式都进行统计信息收集,部分查询采取的是all_rows ...

  8. oracle收集统计信息和直方图,oracle统计信息和直方图

    oracle统计信息和直方图的理解[@more@]以前一直对统计信息的理解就是对行的数据分布的,提供改CBO来选择高效的执行计划.这段时间看了不少资料,对统计有了一个更清晰的认识 统计信息: 1,表中 ...

  9. oracle数据库直方图,[转] oracle统计信息(statistics)和直方图(histogram)

    oracle统计信息和直方图的理解 以前一直对统计信息的理解就是对行的数据分布的,提供改CBO来选择高效的执行计划.这段时间看了不少资料,对统计有了一个更清晰的认识 统计信息: 1,表中的统计信息 2 ...

最新文章

  1. Nature调查:6%中国科研人年薪超50万元!
  2. 对html5的了解,HTML5——对HTML5的认识
  3. [Winform]DataGridView列自适应宽度
  4. WCF系列学习笔记4之绑定详解
  5. get_attribute中的value是什么类型的?_建设工程项目中都有什么类型的监理?
  6. mac hdmi 不能调整音量_如何使用Mac的媒体键在DisplayPortHDMI或Thunderbolt监视器上调整扬声器音量...
  7. 设置电脑背景颜色为保护眼睛的颜色
  8. 自动增益(AGC)算法FPGA实现
  9. 写笔记插件_Java程序员笔记(知识)管理的一点经验
  10. Cortex M3/M4 学习摘要(一)
  11. NYOJ --21--三个水杯
  12. 真正的焦虑感来自对比
  13. OpenCV-图像处理(28、轮廓发现(find contour in your image))
  14. brctl 设置ip_linux下brctl配置网桥
  15. 如何剪裁证件照大小?2寸证件照片怎么制作?
  16. 用双重for循环打印正三角形和倒三角形的思路
  17. “海纳百川”下载器的使用方法
  18. NOI OJ 1.3 15:苹果和虫子 C语言
  19. 【自动化】车间自动化十大必备装置!
  20. Cursor:GPT-4 免费的强大代码编辑器

热门文章

  1. HarmonyOS之组件布局的创建和使用
  2. 210. 课程表 II
  3. 详解Python的*args和 **kwargs
  4. 电子设计基础——电源的各项指标及测量方法
  5. Counterfeit Dollar
  6. Java中集合(一)Collection 、ListE 、ArrayListE
  7. ubuntu16.04+anaconda3+python3.6安装OpenCV3.1.0
  8. DSP SCI模块实验
  9. 【Linux】一步一步学Linux——find命令(47)
  10. 过滤器java面试_过滤器监听器面试题都在这里