首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在什么情况下,有人会存储Oracle DB对象统计信息

在以下情况下,有人会存储Oracle DB对象统计信息:

  1. 查询优化:Oracle数据库使用统计信息来生成查询执行计划,以确定最有效的查询路径。存储对象统计信息可以帮助数据库优化器选择最佳的查询计划,从而提高查询性能。
  2. 系统性能调优:存储对象统计信息可以帮助数据库管理员或开发人员识别潜在的性能瓶颈,并进行相应的调整。通过分析对象统计信息,可以确定是否需要创建索引、重新组织表或调整查询语句,以提高系统的整体性能。
  3. 容量规划:存储对象统计信息可以提供关于表和索引大小、行数和分布的信息。这些信息对于容量规划和资源分配非常重要,可以帮助管理员预测数据库的增长趋势,并相应地调整硬件和存储资源。
  4. 数据库备份和恢复:存储对象统计信息可以作为数据库备份的一部分进行存储。在数据库恢复过程中,这些统计信息可以帮助数据库重新建立查询优化器的执行计划,从而加快恢复速度。
  5. 数据库迁移和升级:在将数据库迁移到新的硬件平台或升级到新的Oracle版本时,存储对象统计信息可以帮助评估迁移或升级的影响。通过比较不同版本或平台上的统计信息,可以确定是否需要重新收集统计信息或进行其他调整。

推荐的腾讯云相关产品:腾讯云数据库 TencentDB for Oracle

产品介绍链接地址:https://cloud.tencent.com/product/tcdb-oracle

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

DB笔试面试632】Oracle中,如何锁住统计信息

♣ 题目部分 Oracle中,如何锁住统计信息? ♣ 答案部分 Oracle自动收集表的统计信息,大部分情况下,这种行为是有利的。...当不需要对某个表做收集的时候,可以采用锁定统计信息的方法,把不需要收集的表排除在外,这样可以使得此表上的统计信息不变,如下所示: EXEC DBMS_STATS.LOCK_TABLE_STATS();...--表 EXEC DBMS_STATS.LOCK_PARTITION_STATS(); --分区表 EXEC DBMS_STATS.LOCK_SCHEMA_STATS(); --锁定用户统计信息 EXEC...DBMS_STATS.UNLOCK_SCHEMA_STATS();--解锁用户统计信息 如果在锁定条件下收集统计信息,那么会出现如下报错: ERROR at line 1: ORA-20005:...若要保持统计信息不被覆盖,则必须利用DBMS_STATS包将统计信息锁住。 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

96220

DB笔试面试639】Oracle中,什么是多列统计信息(Extended Statistics)?

♣ 题目部分 Oracle中,什么是多列统计信息(Extended Statistics)?...♣ 答案部分 Oracle优化器对于基数值的估算是否准确关系到能否生成最优的执行计划,而基数值估算的准确性又取决于SQL中各个对象统计信息是否完整、是否能真实反映出对象的数据分布情况。...为了能够让优化器做出准确的判断,从而生成准确的执行计划,Oracle11g数据库中引入了收集多列统计信息。...使用Oracle自带的DBMS_STATS包提供的存储过程DROP_EXTENDED_STATS来删除扩展统计信息: EXEC DBMS_STATS.DROP_EXTENDED_STATS(OWNNAME...,对Column Group收集统计信息的方法有两种: 1、采纳系统检测工作负载后给出的建议值后收集统计,如果DBA对表里数据构成情况及表中哪些列具有相关性事先不知道的情况下可以采用这种方法,Oracle

2.5K20

DB笔试面试633】Oracle中,什么是待定的统计信息(Pending Statistic)?

♣ 题目部分 Oracle中,什么是待定的统计信息(Pending Statistic)? ♣ 答案部分 在数据库系统运维中,DBA常常希望维持SQL执行计划的稳定。...很多DBA和开发人员对于Hint的依赖,很大程度上也是源于CBO情况下,执行计划对于统计量过于依赖,容易形成不稳定执行计划。所以,SQL语句执行计划的稳定性,就变成统计信息的稳定性问题。...等待最后确认统计信息正确之后,再投入生产环境。 Oracle 11g中,推出了统计信息管理的一种新技术——待定的统计信息(Pending Statistic)技术。...PENDING字典中的统计信息默认情况下是不会参与SQL执行计划的生成的。只有进行SQL测试通过的时候,经过用户手工的确定,才会将其PUBLISH出来,替换原有的统计信息。...可以使用存储过程DBMS_STATS.EXPORT_PENDING_STATS导出待定的统计信息

66420

DB笔试面试644】Oracle中,如何并发地收集统计信息

♣ 题目部分 Oracle中,如何并发地收集统计信息? ♣ 答案部分 对于大表的统计信息收集可以通过DEGREE参数使得扫描大表的时候进行并行扫描,从而加快扫描速度,缩短了收集统计信息的时间。...但是,即使加了DEGREE参数,收集统计信息的时候,还是进行一个表一个表的扫描,并没有并发的同时扫描多个表。...,并发出多个JOB进程。...并发收集统计信息时,数据库生成的JOB数根据具体情况来分配。...大多数情况下,DBMS_STATS程序会给每个对象分配一个JOB;但如果对象(表或者分区)的大小太小,为了节省资源,Oracle会合并多个表和分区一个JOB中执行。

55120

DB笔试面试630】Oracle中,怎样收集表的统计信息?怎样收集分区表的统计信息

♣ 题目部分 Oracle中,怎样收集表的统计信息?怎样收集分区表的统计信息?...♣ 答案部分 主要采用DBMS_STATS.GATHER_TABLE_STATS包进行统计信息的收集,如下所示: DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME...DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME',PARTNAME=>'PT_PART_NAME',GRANULARITY=>'PARTITION',CASCADE=>TRUE);--针对分区表的单个分区进行收集统计信息...除此之外,还有一些其它的用法,如下所示: l EXEC DBMS_STATS.GATHER_DATABASE_STATS();--收集当前数据库下所有用户的统计信息 l EXEC DBMS_STATS.GATHER_SCHEMA_STATS...(USER);--收集用户下所有对象统计信息 当系统的分区表数据量很大时,如果每次都收集全部的分区必然导致统计信息的收集非常慢,Oracle 11g之后可以通过设置INCREMENTAL来只针对数据有变动的分区做收集

96230

DB笔试面试643】Oracle中,如何查询表和索引的历史统计信息

♣ 题目部分 Oracle中,如何查询表和索引的历史统计信息?...♣ 答案部分 从Oracle 10g开始,当收集表的统计信息的时候,旧的统计数据被保留,如果因为新的统计信息而出现性能问题,旧的统计信息就可以被恢复。...默认情况下统计信息将被保留31天,可以使用下面的命令修改: EXECUTE DBMS_STATS.ALTER_STATS_HISTORY_RETENTION (XX); --xx是保留的天数 注意:...这些统计信息SYSAUX表空间中占有额外的存储开销,所以应该注意并防止统计信息将表空间填满。...下面的查询返回统计信息已经被删除到的日期(所以只有在这日期之后的统计信息才可能被恢复)。

2.3K20

DB笔试面试645】Oracle中,当收集表的统计信息时应该注意哪些问题?

♣ 题目部分 Oracle中,当收集表的统计信息时应该注意哪些问题?...⑧ 内部对象统计信息明确诊断出系统已有的性能问题是因为X$表的内部对象统计信息不准引起的,这个时候就应该收集X$表的内部对象统计信息,其它情形就不要收集了。...⑪ 是否收集索引的统计信息:一般情况下都应该收集索引的统计信息。 ⑫ 是否收集直方图。...如果取值为FALSE,那么表示将统计信息对象相关的所有Cursor全部失效,目标SQL语句在下次执行时就会使用硬解析。...21 如果加载数据量比较大,并且是分区表,每个分区的业务数据呈现的是均匀的,Oracle 11g可以考虑采用DBMS_STATS.COPY_TABLE_STATS先把统计信息做个快速的设置,然后,再收集该分区的统计信息

1.1K30

DB笔试面试604】Oracle中,存储概要(Stored Outline)的作用是什么

♣ 题目部分 Oracle中,存储概要(Stored Outline)的作用是什么?...♣ 答案部分 OUTLINE的原理是将调好的执行计划(一系列的Hint)保存起来,然后使用该效率高的执行计划替换之前效率低下的执行计划,从而使得当系统每次执行该SQL时,都会使用已存储的执行计划来执行...所以,可以不改变已有系统SQL的情况下达到改变其执行计划的目的。OUTLINE方式是通过存储Hint的方式来达到执行计划的稳定与改变。...OracleOutline的表中保存了SQL的Hint,当执行SQL时,Oracle会使用Outline中的Hint来为SQL生成执行计划。...Ø使用OutLine的步骤: (1)生成新SQL和老SQL的2个Outline (2)交换两个SQL的提示信息 (3)ON LOGON触发器设定session的CATEGORY(自定义类别) SQL命令行为

97220

DB笔试面试629】Oracle中,自动收集统计信息的机制有哪些?10g和11g自动收集统计信息方面有哪些区别?

♣ 题目部分 Oracle中,自动收集统计信息的机制有哪些?10g和11g自动收集统计信息方面有哪些区别?...Oracle 10g之前并没有自动收集统计信息的机制,从Oracle 10g开始引入了自动收集统计信息的功能,这个功能在Oracle 10g中被称为自动统计信息收集(Automatic Statistics...Gathering),Oracle 11g中被称为自动优化器统计信息收集(Automatic Optimizer Statistics Collection)。...自动统计信息收集作业能够每天收集普通对象和数据字典的统计信息,但不会收集X$系列表的内部对象统计信息。...Oracle 10g中,这个10%(STALE_PERCENT)是无法修改的,如果表非常大,那么10%其实是非常多的数据,这就造成统计信息不准确。

65810

DB笔试面试649】Oracle中,分区表统计信息的更新机制是怎样的?

♣ 题目部分 Oracle中,分区表统计信息的更新机制是怎样的?...♣ 答案部分 分区表统计信息的更新机制如下所示: ① 当某个分区的数据变化达到10%,自动收集统计信息任务运行时,Oracle更新该分区的统计信息。...② 当分区表中所有分区中数据变化量的总和达到分区表总数据量的10%,Oracle更新该分区表的统计信息。...另外,需要注意的是,更新分区表的统计信息时,10.2.0.5之前必须要扫描该表所有的分区或整个表的数据,而从10.2.0.5开始,可以设置分区表按增量变化统计,只收集有数据变化的分区。...要设置分区表按增量变化统计,可以设置表统计信息的INCREMENTAL属性。

93210

深入解析:由SQL解析失败看开发与DBA的性能之争

某些版本下高并发的系统中直接查询这些视图会出现大量的 latch 竞争 还有就是 SGA 大量抖动或者模拟调整的时候也导致此问题 Oracle 各个版本上也存在相关的 BUG 导致 根据以上几点我们去分析到底此问题出现在什么地方...从这个库这个时间点的 time mode 可以发现 75%的 db time 都是花费了解析上面,这也是没有问题的因为这个时间点数据库竞争就出现在解析上面,但是为什么其中有 38%的 db time...是什么原因导致这么多的解析失败呢?另外解析失败的 SQL 是否导致大量 latch 竞争?解析失败的 SQL 是否会在共享池中存储?怎么查询到解析失败的 SQL?...父游标与子游标结构是一样的,区别在于 sql 文本存储父游标对应的对象句柄中,而 sql 的执行计划等信息存储子游标对应的库缓存对象句柄 heap 6 中。...另外父游标的 heap 0 中存储着子游标的句柄地址。如果解析错误的 SQL 共享池中存储的话那么必然要产生一个父游标然后父游标里面存储的有 SQL 文本之类的信息,但是子游标的?

1.6K50

Oracle-HWM(High Water Mark) 高水位解读

读前须知:Oracle的逻辑存储管理 ---- ORACLE逻辑存储上分4个粒度 ,由大到小为: 表空间, 段, 区 和 块. ---- 块Block 块:是粒度最小的存储单位,现在标准的块大小是...区extent是比数据块大一级的存储结构,表示的是一连串连续的数据块集合。 进行存储数据信息的时候,Oracle将分配数据块进行存储,但是不能保证所有分配的数据块都是连续的结构。...也就是说,表空间是可以跨物理存储的。 但是有一点就是,表空间下一级对象数据段的存储,是不能指定存储在那个文件里的。所以,要想让数据对象访问IO负载均衡,需要指定不同的数据对象不同的表空间里。.... ---- HWM的信息存储段头当中. HWM本身的信息是储存在段头. 段空间是手工管理方式时,ORACLE是通过FREELIST(一个单向链表)来管理段内的空间分配....但是user_tables 显示的信息还是为空。 因为没有做统计分析。

2.4K51

【重磅推荐】从Library Cache等待事件深入剖析SQL解析

某些版本下高并发的系统中直接查询这些视图会出现大量的 latch 竞争 还有就是 SGA 大量抖动或者模拟调整的时候也导致此问题 Oracle 各个版本上也存在相关的 BUG 导致 根据以上几点我们去分析到底此问题出现在什么地方...从这个库这个时间点的 time mode 可以发现 75%的 db time 都是花费了解析上面,这也是没有问题的因为这个时间点数据库竞争就出现在解析上面,但是为什么其中有 38%的 db time...是什么原因导致这么多的解析失败呢?另外解析失败的 SQL 是否导致大量 latch 竞争?解析失败的 SQL 是否会在共享池中存储?怎么查询到解析失败的 SQL?...父游标与子游标结构是一样的,区别在于 sql 文本存储父游标对应的对象句柄中,而 sql 的执行计划等信息存储子游标对应的库缓存对象句柄 heap 6 中。...另外父游标的 heap 0 中存储着子游标的句柄地址。如果解析错误的 SQL 共享池中存储的话那么必然要产生一个父游标然后父游标里面存储的有 SQL 文本之类的信息,但是子游标的?

1K40

Oracle自动性能统计

Oracle数据库为系统、会话以及单独的sql语句生成多种类型的累积统计信息。本文主要描述Oracle性能统计涉及到的相关概念及统计对象,以更好的利用统计信息为性能调整奠定基础。...仅仅单个应用程序运行的Oracle数据库系统中,通常情况下,该业务系统在用户空间中运行数据库活动。...Oracle数据库提供了一些I/O调用时的I/O统计信息。这些统计数据以下视图获取。   ...v$iostat_consumer_group :     启用资源计划后,该视图捕获I/O相关信息,是所有资源消费群组统计。数据库样本统计每小时累积并将它们存储AWR中。   ...由于SGA中的活动会话信息存储循环缓冲区中,系统活动越大,可以循环缓冲区中存储的会话活动的秒数越小。因此这些数据就需要定期将其写入到磁盘,那就是由MMON进程定期将部分数据写入到AWR。

1.3K00

全面解析Oracle等待事件的分类、发现及优化

可以从整体角度了解数据库一段时间内的消耗情况。较等待事件的方式,更有概括性。常见的如"DB Time"。Oracle不断加强这个方面的工作。...它通常是与单个数据块相关的读取操作,大多数情况下读取一个索引块或者通过索引读取一个数据块,记录这个等待。...它提供了任何情况下session在数据库中当前正在等待什么。当系统存在性能问题时,本视图可以做为一个起点指明探寻问题的方向。...3、db file sequential read 发生原因: 通常是与单个数据块相关的读取操作,大多数情况下读取一个索引块或者通过索引读取一个数据块,记录这个等待。...Namespace 被加载对象v$db_object_cache视图中的namespace的名称。 优化方向:优化方向是查看锁定对象,减少争用。

2.6K10

DB笔试面试435】SYSTEM和SYSAUX表空间存储的内容有哪些区别?若SYSAUX表空间占用过大则应该如何处理?

Oracle DB早期版本中某些使用SYSTEM表空间或其本身表空间的组件和产品现在改为使用SYSAUX表空间。...辅助表空间SYSAUX用于附加的数据库组件,例如,OEM库(Oracle Enterprise Manager Repository)、AWR快照信息库、统计信息、审计信息等。...对于SYSAUX表空间而言,如果占用过大,那么一般情况下是由于AWR信息对象统计信息没有及时清理引起的,具体原因可以通过如下的SQL语句查询: SELECT OCCUPANT_NAME "Item",...(二)统计信息占用过大 如果统计信息占用空间过大,那么可以修改统计信息的保留时间。统计信息默认保留31天,过期的统计信息自动被删除。...,经常出现SYSTEM表空间被撑满,绝大多数情况下是因为数据库登录审计的功能被启动了,此时一般建议把SYS.AUD$相关对象迁移到其它表空间,从而避免SYSTEM被用完的风险。

69310
领券