当前位置: 首页 > news >正文

Oracle统计信息问题排查常用SQL

Oracle统计信息问题排查常用SQL

  • 对表的基本情况分析
  • 统计信息收集作业分析
  • 最近一次的统计信息收集
  • 修改触发统计信息收集的阈值

对表的基本情况分析

是否为临时表:

select owner,table_name,temporary from dba_tables where table_name='xxx';

是否为分区表:

select owner,table_name,partitioned from dba_tables where table_name='xxx';

检查表的大小:

select sum(bytes)/1024/1024/1024 as size_gb from dba_segments where segment_name='xxx';

查看特定用户下统计信息被锁定的表:

select owner,table_name,partition_name,stattype_locked from dba_tab_statistics 
where stattype_locked is not null and owner='xxx';

查看特定用户下统计信息已经过期的表:

select owner,table_name,partition_name from dba_tab_statistics 
where stattype_locked is null and stale_stats='YES' and owner='xxx';select table_name,partition_name from user_tab_statistics 
where stattype_locked is null and STALE_STATS='YES';

其中,stattype_locked表示锁定的统计信息类型(data/cache/all),stale_stats表示统计信息是否过期。

统计信息收集作业分析

查看统计信息自动收集作业是否开启:

select client_name,status from dba_autotask_client where client_name like '%stats%';select client_name,status from dba_autotask_client where client_name='auto optimizer stats collection';

查看历史统计信息自动收集记录:

select client_name,window_name,window_start_time,window_duration,window_end_time
from dba_autotask_client_history 
where client_name='auto optimizer stats collection'
order by window_start_time;

查看统计信息收集的具体操作:

select owner,program_name,program_type,program_action,enabled
from dba_scheduler_programs where program_name='GATHER_STATS_PROG';

查看统计信息自动收集作业窗口:

select window_name,repeat_interval,duration from dba_scheduler_windows where enabled='TRUE';

查看用户创建的统计信息收集定时作业:

select owner,job_name,enabled,state,program_name,job_action,schedule_name,
last_start_date,last_run_duration,next_run_date,run_count
from dba_scheduler_jobs where job_name='xxx';

最近一次的统计信息收集

查看指定表最近一次统计信息收集的时间和记录的行数:

--非分区表
select table_name,last_analyzed,num_rows 
from dba_tables where table_name='xxx';--分区表
select table_owner,table_name,partition_name,last_analyzed,num_rows 
from dba_tab_partitions where table_name='xxx' order by partition_name;

查看指定表从最近一次统计信息收集以来的数据变化量:

select * from dba_tab_modifications where table_name='xxx';select table_name,partition_name,inserts,updates,deletes,truncated,drop_segments
from dba_tab_modifications where table_name='xxx' 
order by partition_name;

其中,INSERTS/UPDATES/DELETES分别表示从上一次收集表统计信息以来插入/更新/删除的次数,TRUNCATED表示是否被TRUNCATE过,DROP_SEGMENTS表示被DROP过的分区和子分区的段数。

通过计算表被插入、更新和删除的总行数与num_rows的比值是否超过10%,可以大致估算是否会触发统计信息自动收集。

修改触发统计信息收集的阈值

查看自动统计信息收集触发的阈值(默认为10%):

--全局参数值
SELECT dbms_stats.get_prefs(pname => 'STALE_PERCENT') FROM dual;--指定用户表
SELECT dbms_stats.get_prefs(pname => 'STALE_PERCENT',ownname => 'xxx',tabname => 'xxx') FROM dual;

其中STALE_PERCENT是指DML操作导致表的行记录被修改/增删的比例。

修改自动统计信息收集触发的阈值为5%:

--修改全局级别的参数值
EXEC dbms_stats.set_global_prefs(pname => 'STALE_PERCENT',pvalue => 5);
--set_global_prefs对所有表生效,对新建的表也生效--修改全库级别的参数值
EXEC dbms_stats.set_database_prefs(pname => 'STALE_PERCENT',pvalue => 5);  
--set_database_prefs默认不影响Oracle内置表,对新建的表不生效--修改指定用户表的参数值
EXEC dbms_stats.set_table_prefs(ownname => 'xxx',tabname => 'xxx',pname => 'STALE_PERCENT',pvalue => 5);

References
[1] https://docs.oracle.com/en/database/oracle/oracle-database/19/arpls/DBMS_STATS.html#GUID-2C00FE80-1553-404C-85B6-220895561FE8
[2] https://www.modb.pro/db/543228

相关文章:

Oracle统计信息问题排查常用SQL

Oracle统计信息问题排查常用SQL 对表的基本情况分析统计信息收集作业分析最近一次的统计信息收集修改触发统计信息收集的阈值 对表的基本情况分析 是否为临时表: select owner,table_name,temporary from dba_tables where table_namexxx;是否为分区表&#xff1a…...

css圣杯布局和双飞翼布局

圣杯布局 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…...

机器学习笔记 - 深入研究spaCy库及其使用技巧

一、简述 spaCy 是一个用于 Python 中高级自然语言处理的开源库。它专为生产用途而设计,这意味着它不仅功能强大,而且快速高效。spaCy 在学术界和工业界广泛用于各种 NLP 任务,例如标记化、词性标注、命名实体识别等。 安装,这里使用阿里的源。 pip install spacy…...

网站强制跳转至国家反诈中心该怎么办?怎么处理?如何解封?

在互联网环境中&#xff0c;网站安全是非常重要的。然而&#xff0c;在实际操作过程中&#xff0c;不少网站可能因内容问题、技术安全漏洞等原因被迫下线甚至跳转至国家反诈骗中心网址。面对这一严峻问题&#xff0c;我们如何有效解决&#xff0c;让网站恢复运行并解除强制跳转…...

2023年10月4日

服务器 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//实例化一个服务器server new QTcpServer(this);//此时&#xff0c;服务器已经成功进入监听状态&…...

MacBook 录制电脑内部声音

MacBook 录制电脑内部声音 老妈喜欢跳广场舞&#xff0c;现在广场舞音频下载都收费了&#xff01;没办法&#xff0c;只能自己录歌了&#xff0c;外录有杂音大家也都知道&#xff0c;所以就只能采用内录的方式然后再用 Audition 调整一下音量大小。 一、&#xff08;前置条件&a…...

mysql主从复制和读写分离

在企业应用中&#xff0c;成熟的业务通常数据量都比较大 单台MySQL在安全性、高可用性和高并发方面都无法满足实际的需求 配置多台主从数据库服务器以实现读写分离 所以要做主从服务器&#xff0c;保证安全性 做一写一读服务器&#xff0c;将提升性能 1、什么是读写分离 …...

【计算机网络】网络层-数据平面(学习笔记)

一、网络层提供的服务 1、虚电路服务 通讯前建立虚电路&#xff0c;发送前认为选择路径&#xff0c;所以分组沿着同一条虚电路。 特点&#xff1a;带宽固定 2、数据报服务 数据可能沿着不同路径传输 3、网络层的两个层面 数据层面&#xff1a;源主机到目标主机 控制层面&…...

el-collapse 嵌套中 el-checkbox作为标题,选中复选框与el-tree联动

<el-drawertitle"应用授权":visible.sync"menuDrawer"><el-collapse accordion style"padding: 15px"><el-collapse-item v-for"item in platList"><template slot"title"><el-checkbox v-model…...

Ubuntu中还换源 sudo apt-get update更新失败

sudo apt-get update更新失败 1 前提2 编辑3 换源 1 前提 浏览器可以访问百度 如下文章&#xff1a; VMware 中虚拟机没网 2 编辑 输入如下命令&#xff0c;进入换源文件&#xff1a; sudo gedit /etc/apt/sources.list 3 换源 中科大 deb http://mirrors.ustc.edu.cn/ub…...

flutter播放rtmp视频

安装 dependencies:fijkplayer: ^0.11.0使用方法 import package:fijkplayer/fijkplayer.dart; import package:flutter/material.dart;class RtmpPlayerPage extends StatefulWidget {const RtmpPlayerPage({super.key});overrideState<RtmpPlayerPage> createState()…...

stm32 - 中断

stm32 - 中断 概念中断向量表NVIC 嵌套中断向量控制器优先级 中断EXTI概念基本结构例子- 对射式红外传感器计次例子 - 旋转编码器 概念 stm32 支持的中断资源&#xff08;都属于外设&#xff09; EXTITIMADCUSARtSPII2C stm32支持的中断 内核中断 外设中断 中断通道与优先级 一…...

【洛谷 P1216】[USACO1.5] [IOI1994]数字三角形 Number Triangles 题解(动态规划)

[USACO1.5] [IOI1994]数字三角形 Number Triangles 题目描述 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径&#xff0c;使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 在上面的样例中&#xff0c;从 7 → 3 → 8 →…...

十四天学会C++之第四天(面向对象编程基础)

类和对象是什么&#xff1f; 在C中&#xff0c;类是一种用户定义的数据类型&#xff0c;它可以包含数据成员&#xff08;也就是属性&#xff09;和成员函数&#xff08;也就是方法&#xff09;。类是一种模板或蓝图&#xff0c;用于创建具体的对象。 对象是类的实例&#xff…...

复习Day09:哈希表part02:141.环形链表、142. 环形链表II、454.四数相加II、383赎金信

之前的blog&#xff1a;https://blog.csdn.net/weixin_43303286/article/details/131765317 我用的方法是在leetcode再过一遍例题&#xff0c;明显会的就复制粘贴&#xff0c;之前没写出来就重写&#xff0c;然后从拓展题目中找题目来写。辅以Labuladong的文章看。然后刷题不用…...

Internet通过TCP/IP协议可以实现多个网络的无缝连接

Internet通过TCP/IP&#xff08;Transmission Control Protocol/Internet Protocol&#xff0c;传输控制协议/互联网协议&#xff09;协议实现多个网络的无缝连接。 TCP/IP是Internet的基础通信协议套件&#xff0c;它定义了数据如何在不同网络之间传输和路由&#xff0c;使得…...

互联网Java工程师面试题·Dubbo 篇·第二弹

目录 18、Dubbo 用到哪些设计模式&#xff1f; 19、Dubbo 配置文件是如何加载到 Spring 中的&#xff1f; 20、Dubbo SPI 和 Java SPI 区别&#xff1f; 21、Dubbo 支持分布式事务吗&#xff1f; 22、Dubbo 可以对结果进行缓存吗&#xff1f; 23、服务上线怎么兼容旧版本&…...

(c语言)经典bug

#include<stdio.h> //经典bug int main() { int i 0; int arr[10] {1,2,3,4,5,6,7,8,9,10}; for (i 0; i < 12; i) //越界访问 { arr[i] 0; printf("hehe\n"); } return 0; } 注&#xff1a;输出结果为死循…...

用于工业物联网和自动化的 Apache Kafka、KSQL 和 Apache PLC4

由于单一系统和专有协议&#xff0c;数据集成和处理是工业物联网&#xff08;IIoT&#xff0c;又名工业 4.0 或自动化工业&#xff09;中的巨大挑战。Apache Kafka、其生态系统&#xff08;Kafka Connect、KSQL&#xff09;和 Apache PLC4X 是以可扩展、可靠和灵活的方式实现端…...

1.1.1开发基础-硬件-万用表

​ 1 万用表 万用表又叫多用表、三用表、复用表,是一种多功能、多量程的测量仪表,一般万用表可测量直流电流、直流电压、交流电压、电阻和音频电平等,有的还可以测交流电流、电容量、电感量及半导体的一些参数,是最常用、最简单的测试设备。 万用表是一种多功能多量程的便…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

Java如何权衡是使用无序的数组还是有序的数组

在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

企业如何增强终端安全?

在数字化转型加速的今天&#xff0c;企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机&#xff0c;到工厂里的物联网设备、智能传感器&#xff0c;这些终端构成了企业与外部世界连接的 “神经末梢”。然而&#xff0c;随着远程办公的常态化和设备接入的爆炸式…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型&#xff08;LLM&#xff09;参数规模的增长&#xff0c;推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长&#xff0c;而KV缓存的内存消耗可能高达数十GB&#xff08;例如Llama2-7B处理100K token时需50GB内存&a…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...