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

Oralce数据库巡检SQL脚本

文章目录

    • Oralce数据库巡检SQL脚本
      • 1 检查表空间使用情况
      • 2 检查是否有 offline 状态的表空间
      • 3 在线日志是否存在小于 50M 的及状态不正常
      • 4 检查锁阻塞
      • 5 查看是否有僵死进程
      • 6 检查是否有失效索引
      • 7 检查不起作用的约束
      • 8 缓冲区命中率
      • 9 数据字典命中率
      • 10 库缓存命中率
      • 11 内存中的排序
      • 12 磁盘中的排序
      • 13 临时空间使用率
      • 14 检查ORACLE实例状态
      • 15 检查ORACLE表空间的状态
      • 16 检查ORACLE所有数据文件状态
      • 17 检查所有回滚段状态
      • 18 检查一些扩展异常的对象
      • 19 DISK READ最高的SQL语句的获取
      • 20 性能最差的前10条SQL
      • 21 检查运行很久的SQL
      • 22 检查碎片程度高的表
      • 23 检查死锁及处理
      • 24 失效的触发器
      • 25 失败的JOB

Oralce数据库巡检SQL脚本

1 检查表空间使用情况

SELECT B.TABLESPACE_NAME          TABLESPACE,A.EXTENT_MANAGEMENT        EXT_MGT,A.SEGMENT_SPACE_MANAGEMENT SEG_MGT,A.STATUS,A.LOGGING,B.TOTAL,B.FREE,B.USED_PCTFROM DBA_TABLESPACES A,(SELECT D.TABLESPACE_NAME TABLESPACE_NAME,ROUND((D.SUMBYTES / 1024 / 1024 / 1024), 2) || 'GB' TOTAL,ROUND(DECODE(F.SUMBYTES, NULL, 0, F.SUMBYTES) / 1024 / 1024 / 1024,2) || 'GB' FREE,ROUND((D.SUMBYTES - DECODE(F.SUMBYTES, NULL, 0, F.SUMBYTES)) * 100 /D.SUMBYTES,2) || '%' USED_PCTFROM (SELECT TABLESPACE_NAME, SUM(BYTES) SUMBYTESFROM DBA_FREE_SPACEGROUP BY TABLESPACE_NAME) F,(SELECT TABLESPACE_NAME,     SUM(BYTES) SUMBYTESFROM DBA_DATA_FILESGROUP BY TABLESPACE_NAME) DWHERE F.TABLESPACE_NAME(+) = D.TABLESPACE_NAMEORDER BY D.TABLESPACE_NAME) BWHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME;

2 检查是否有 offline 状态的表空间

SELECT FILE_ID AS ID,RELATIVE_FNO "FNO",ROUND(BYTES / 1024 / 1024) AS MBYTES,ROUND(MAXBYTES / 1024 / 1024) MAXMBYTES,BLOCKS,MAXBLOCKS,AUTOEXTENSIBLE "AUTO",INCREMENT_BY "INC",ROUND(USER_BYTES / 1024 / 1024) "NOW_MB",USER_BLOCKS,STATUS,ONLINE_STATUS "ONLINE_S"FROM DBA_DATA_FILES;

3 在线日志是否存在小于 50M 的及状态不正常

SELECT A.GROUP#, A.STATUS, A.BYTES, B.MEMBER, A.ARCHIVEDFROM V$LOG A, V$LOGFILE BWHERE A.GROUP# = B.GROUP#;

4 检查锁阻塞

SELECT DECODE(REQUEST, 0, '阻塞者:', '等待者:') || SID SID,ID1,ID2,LMODE,REQUEST,TYPEFROM V$LOCKWHERE (ID1, ID2, TYPE) IN(SELECT ID1, ID2, TYPE FROM V$LOCK WHERE REQUEST > 0)ORDER BY ID1, REQUEST;

5 查看是否有僵死进程

SELECT SPID FROM V$PROCESS WHERE ADDR NOT IN (SELECT PADDR FROM V$SESSION);

6 检查是否有失效索引

SELECT OWNER, A.INDEX_NAME, A.INDEX_TYPE, A.STATUSFROM DBA_INDEXES AWHERE STATUS = 'UNUSABLE';SELECT A.INDEX_NAME, A.PARTITION_NAME, A.TABLESPACE_NAME, A.STATUSFROM DBA_IND_PARTITIONS AWHERE STATUS = 'UNUSABLE';

7 检查不起作用的约束

SELECT OWNER, CONSTRAINT_NAME, TABLE_NAME, CONSTRAINT_TYPE, STATUSFROM DBA_CONSTRAINTSWHERE STATUS = 'DISABLE'AND CONSTRAINT_TYPE = 'P';

8 缓冲区命中率

缓冲命中率应大于90%。

SELECT (1 - (SUM(DECODE(NAME, 'PHYSICAL READS', VALUE, 0)) /(SUM(DECODE(NAME, 'DB BLOCK GETS', VALUE, 0)) +SUM(DECODE(NAME, 'CONSISTENT GETS', VALUE, 0))))) * 100 "HIT RATIO"FROM V$SYSSTAT;

9 数据字典命中率

数据字典命中率应大于 95%。

SELECT (1 - (SUM(GETMISSES) / SUM(GETS))) * 100 "HIT RATIO" FROM V$ROWCACHE;

10 库缓存命中率

库缓存命中率应大于 95%。

SELECT SUM(PINS) / (SUM(PINS) + SUM(RELOADS)) * 100 "HIT RATIO" FROM V$LIBRARYCACHE;

11 内存中的排序

如果存在大量的磁盘排序,则表明检查目前系统中消耗大量磁盘的 SQL 是否已经经过调整。

SELECT NAME, VALUE FROM V$SYSSTAT WHERE NAME LIKE '%SORTS%';

12 磁盘中的排序

检查使用磁盘排序的会话信息,可以定位执行了大量磁盘排序的会话。

SELECT B.NAME, A.SID, A.VALUEFROM V$SESSTAT A, V$STATNAME BWHERE A.STATISTIC# = B.STATISTIC#AND B.NAME = 'SORTS (DISK)'AND A.VALUE > 0AND ROWNUM < 10ORDER BY A.VALUE DESC;

13 临时空间使用率

SELECT * FROM V$TEMP_SPACE_HEADER;

14 检查ORACLE实例状态

其中“STATUS”表示ORACLE当前的实例状态,必须为“OPEN”;“DATABASE_STATUS”表示ORACLE当前数据库的状态,必须为“ACTIVE”。

SELECT INSTANCE_NAME, HOST_NAME, STARTUP_TIME, STATUS, DATABASE_STATUS FROM V$INSTANCE;

15 检查ORACLE表空间的状态

输出结果中STATUS应该都为ONLINE。

SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES;

16 检查ORACLE所有数据文件状态

输出结果中“STATUS”应该都为“ONLINE”。

SELECT NAME, STATUS FROM V$DATAFILE;

输出结果中“STATUS”应该都为“AVAILABLE”。

SELECT FILE_NAME, STATUS FROM DBA_DATA_FILES;

17 检查所有回滚段状态

输出结果中所有回滚段的“STATUS”应该为“ONLINE”。

SELECT SEGMENT_NAME, STATUS FROM DBA_ROLLBACK_SEGS;

18 检查一些扩展异常的对象

如果有记录返回,则这些对象的扩展已经快达到它定义时的最大扩展值,对于这些对象要修改它的存储结构参数。

SELECT SEGMENT_NAME,SEGMENT_TYPE,TABLESPACE_NAME,(EXTENTS / MAX_EXTENTS) * 100 PERCENTFROM SYS.DBA_SEGMENTSWHERE MAX_EXTENTS != 0AND (EXTENTS / MAX_EXTENTS) * 100 >= 95ORDER BY PERCENT;

19 DISK READ最高的SQL语句的获取

SELECT SQL_TEXTFROM (SELECT * FROM V$SQLAREA ORDER BY DISK_READS)WHERE ROWNUM <= 5;

20 性能最差的前10条SQL

SELECT *FROM (SELECT PARSING_USER_ID EXECUTIONS,SORTS,COMMAND_TYPE,DISK_READS,SQL_TEXTFROM V$SQLAREAORDER BY DISK_READS DESC)WHERE ROWNUM < 10;

21 检查运行很久的SQL

SELECT USERNAME,SID,OPNAME,ROUND(SOFAR * 100 / TOTALWORK, 0) || '%' AS PROGRESS,TIME_REMAINING,SQL_TEXTFROM V$SESSION_LONGOPS, V$SQLWHERE TIME_REMAINING <> 0AND SQL_ADDRESS = ADDRESSAND SQL_HASH_VALUE = HASH_VALUE;

22 检查碎片程度高的表

SELECT SEGMENT_NAME TABLE_NAME, COUNT(*) EXTENTSFROM DBA_SEGMENTSWHERE OWNER NOT IN ('SYS', 'SYSTEM')GROUP BY SEGMENT_NAME
HAVING COUNT(*) = (SELECT MAX(COUNT(*))FROM DBA_SEGMENTSGROUP BY SEGMENT_NAME);

23 检查死锁及处理

SELECT SID,SERIAL#,USERNAME,SCHEMANAME,OSUSER,MACHINE,TERMINAL,PROGRAM,OWNER,OBJECT_NAME,OBJECT_TYPE,O.OBJECT_IDFROM DBA_OBJECTS O, V$LOCKED_OBJECT L, V$SESSION SWHERE O.OBJECT_ID = L.OBJECT_IDAND S.SID = L.SESSION_ID;

24 失效的触发器

SELECT OWNER, TRIGGER_NAME, TABLE_NAME, STATUSFROM DBA_TRIGGERSWHERE STATUS = 'DISABLED';

25 失败的JOB

SELECT JOB, WHAT, LAST_DATE, NEXT_DATE, FAILURES, BROKENFROM DBA_JOBSWHERE SCHEMA_USER = 'USER';

原文链接:https://mp.weixin.qq.com/s?__biz=MzkxNzI1OTE3Mw==&mid=2247493675&idx=1&sn=2d8caece9f669925cda2f364ebfdb9c3&chksm=c141fee1f63677f7bb22b74db64d0849830e7b11adce56472bc33afab5b022c223666c624fbf#rd

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

image-20241123222431668

相关文章:

Oralce数据库巡检SQL脚本

文章目录 Oralce数据库巡检SQL脚本1 检查表空间使用情况2 检查是否有 offline 状态的表空间3 在线日志是否存在小于 50M 的及状态不正常4 检查锁阻塞5 查看是否有僵死进程6 检查是否有失效索引7 检查不起作用的约束8 缓冲区命中率9 数据字典命中率10 库缓存命中率11 内存中的排…...

CentOS使用中遇到的问题及解决方法

一、CentOS 7网络配置&#xff08;安装后无法联网问题&#xff09; 现象说明 在安装CentOS系统后&#xff0c;有可能出现无法联网的问题&#xff0c;虚拟机中的网络配置并没有问题&#xff0c;而系统却无法联网,也ping不通。 原因描述 CentOS默认开机不启动网络&#xff0c;因…...

ThinkPad t61p 作SMB服务器,打印服务器,pc ,android ,ipad利用此服务器互传文件

1.在t61p上安装win7 2,配置好smb 服务 3.再安装好打印驱动程序 4.pc与win7利用系统的网络互相发现,映射为硬盘使用。 5.android&#xff0c;ipad安装ES文件浏览器访问win7 共享文件夹&#xff0c;互传文件。 6.android手机安装FE文件浏览器&#xff0c;可以利用花生壳外网…...

php:使用Ratchet类实现分布式websocket服务

一、前言 最近需要做一个有关聊天的小程序&#xff0c;逻辑很简单&#xff0c;所以不打算用Swoole和workerman之类的&#xff0c;最后选择了Ratchet&#xff0c;因为简单易用&#xff0c;适合小型websocket服务。 二、问题 但是目前我的项目是分布式环境&#xff0c;统一通过Ng…...

储能场站安全风险挑战

电化学储能目前最大的痛点问题就是安全问题&#xff0c;制约了储能行业的发展。 首先&#xff1a;锂作为最活泼的金属加上有机溶剂的电解液&#xff0c;安全性天生就差。基因不行。 其次储能系统的BMS对电池管理相对粗放&#xff0c;不足以保证锂电池的安全运行。 当前储能产业…...

Ubuntu系统为同一逻辑网口配置不同网段的IP

近期遇到一个问题&#xff1a;机载计算机的载版上有两个网口&#xff0c;但是这两个网口本质上是一个独立网口一个交换机&#xff0c;即对于机载计算机而言这两个物理网口是同一个逻辑网口。但是我需要将这两个网口分别连接到两个设备&#xff0c;并配置不同网段的IP&#xff0…...

MySQL出现Waiting for table metadata lock的原因以及解决方法(已亲测)

参考&#xff1a;MySQL出现Waiting for table metadata lock的原因以及解决方法 - digdeep - 博客园 当对表执行truncate\drop 操作时&#xff0c;会出现一直处于等待的状态&#xff0c;通过show processlist可以看到TableA停滞在Waiting for table metadata lock的状态。kill…...

学会Lambda,让程序Pythonic一点

Lambda是Python里的高阶用法&#xff0c;要把代码写得Pythonic&#xff0c;就需要了解这些高阶用法&#xff0c;想说自己是一名真正的Python程序员&#xff0c;先要把代码写得Pythonic。 今天聊下Lambda的用法&#xff0c;写篇简短的用法说明。 Lambda是匿名函数的意思&#…...

GDPU 信息安全 期末复习

文章目录 第一章 绪论✅ 单选题✅ 简答题6. 假定你是单位的安全主管&#xff0c;为了提高单位的网络安全性&#xff0c;在制定单位的安全保障方案时&#xff0c;有哪些措施&#xff08;包括技术和非技术的&#xff09;&#xff1f;9. 有人说只要我有足够多的钱&#xff0c;就可…...

Python 使用 Token 认证方案连接 Kubernetes (k8s) 的详细过程

在 Kubernetes 中&#xff0c;使用 Token 认证是一种常见的客户端身份验证方式&#xff0c;尤其适用于 ServiceAccount。以下是详细的步骤&#xff0c;包括如何查看 Token、获取 API 服务地址、配置远程连接&#xff0c;以及如何在 Python 中连接 k8s。 1. 获取 Token 首先&a…...

【C++】ReadFile概述,及实践使用时ReadFile的速率影响研究

ReadFile 函数概述 ReadFile 是 Windows API 函数&#xff0c;用于从文件或设备&#xff08;如串口、硬盘等&#xff09;中读取数据。它是同步和异步 I/O 操作的基础函数。 函数原型 BOOL ReadFile(_In_ HANDLE hFile, // 文件或设备句柄_Out_write…...

Mysql的UPDATE(更新数据)详解

MySQL的UPDATE语句是用于修改数据库表中已存在的记录&#xff0c;本文将详细介绍UPDATE语句的基本语法、高级用法、性能优化策略以及注意事项&#xff0c;帮助您更好地理解和应用这一重要的SQL命令。 1. 基本语法 单表更新 单表更新的基本语法如下&#xff1a; UPDATE [LOW…...

基于Java Springboot高校奖助学金系统

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…...

如何在 Ubuntu 22.04 上安装带有 Nginx 的 ELK Stack

今天我们来聊聊如何在 Ubuntu 22.04 服务器上安装 ELK Stack&#xff0c;并集成 Nginx 作为 Web 服务器&#xff0c;同时使用 Let’s Encrypt Certbot 进行 SSL 认证。ELK Stack&#xff0c;包括 Elasticsearch、Logstash 和 Kibana&#xff0c;是一套强大的工具&#xff0c;用…...

Python爬虫:深入探索1688关键词接口获取之道

在数字化经济的浪潮中&#xff0c;数据的价值愈发凸显&#xff0c;尤其是在电商领域。对于电商平台而言&#xff0c;关键词不仅是搜索流量的入口&#xff0c;也是洞察市场趋势、优化营销策略的重要工具。1688作为中国领先的B2B电商平台&#xff0c;其关键词接口的获取对于商家来…...

Let‘s Encrypt SSL证书:acmessl.cn申请免费3个月证书

目录 一、CA机构 二、Lets Encrypt特点 三、申请SSL 一、CA机构 ‌Lets Encrypt‌是一个由非营利组织Internet Security Research Group (ISRG)运营的证书颁发机构&#xff08;CA&#xff09;&#xff0c;旨在通过自动化和开放的方式为全球网站提供免费、可靠的SSL/TLS证书。…...

JSON Web Token (JWT)的简单介绍、验证过程及令牌刷新思路

目录 一、JWT 1、什么是Jwt 2、为什么要使用Jwt 3、应用场景 4.Jwt的组成 4.1、Header 4.2、Payload 4.3、signature 二、Jwt验证过程 1、生成Jwt令牌 2、解析旧的Jwt 3、复制Jwt 4、Jwt有效时间测试 三、Jwt令牌刷新思路 1、配置JwtFilter过滤器 2、登录生成Jwt令…...

xxl-job入门

xxl-job , 定时任务 分布式 &#xff0c; 带来的问题的 解决方案 像之前 很多项目都用到定时任务&#xff0c; 但是如果要改为 分布式&#xff0c; 那么定时任务 就要用到 xxl-job 1.用户画像 拼多多&#xff0c;看了某个东西后&#xff0c;推荐类似东西&#xff0c; 做埋…...

100.【C语言】数据结构之二叉树的堆实现(顺序结构) 1

目录 1.顺序结构 2.示意图 ​编辑 从物理结构还原为逻辑结构的方法 3.父子节点编号的规律 4.顺序存储的前提条件 5.堆的简介 堆的定义 堆的两个重要性质 小根堆和大根堆 6.堆的插入 7.堆的实现及操作堆的函数 堆的结构体定义 堆初始化函数HeapInit 堆插入元素函…...

大模型 VS 大语言模型

最近很多朋友搞不懂大模型和大预言模型的区别&#xff0c;总是把大模型就认为是大语言模型。 今天就用这篇帖子做一个科普。 大模型 概念&#xff1a;大模型是指拥有超大规模参数&#xff08;通常在十亿个以上&#xff09;、复杂计算结构的机器学习模型。它通常能够处理海量数…...

ThingsBoard生产环境部署选型指南:安装包 vs 源码,内存队列 vs RabbitMQ,如何根据项目规模做选择?

ThingsBoard生产环境部署架构选型实战指南 当技术团队准备将ThingsBoard投入实际生产环境时&#xff0c;面临的第一个关键决策往往不是"如何安装"&#xff0c;而是"以什么架构安装"。这个选择将直接影响未来三年的系统稳定性、扩展性和运维成本。作为经历过…...

RTL8188EU USB WiFi模块AP模式配置避坑指南

RTL8188EU USB WiFi模块AP模式配置实战&#xff1a;从编译到避坑全解析 在物联网和嵌入式开发领域&#xff0c;RTL8188EU USB WiFi模块因其低成本和高兼容性被广泛使用。但当你尝试将其配置为AP模式时&#xff0c;官方hostapd的兼容性问题往往会让开发者陷入数天的调试泥潭。我…...

InSpec插件生态系统:扩展框架功能的完整教程

InSpec插件生态系统&#xff1a;扩展框架功能的完整教程 【免费下载链接】inspec InSpec: Auditing and Testing Framework 项目地址: https://gitcode.com/gh_mirrors/in/inspec InSpec作为一款强大的合规性测试框架&#xff0c;其真正的威力在于其可扩展的插件生态系统…...

3步掌握WindowResizer:免费强制调整任意窗口大小的终极方案

3步掌握WindowResizer&#xff1a;免费强制调整任意窗口大小的终极方案 【免费下载链接】WindowResizer 一个可以强制调整应用程序窗口大小的工具 项目地址: https://gitcode.com/gh_mirrors/wi/WindowResizer 还在为那些顽固的窗口尺寸而烦恼吗&#xff1f;无论你面对的…...

魔兽地图跨版本转换与优化全指南:从兼容性处理到地图性能提升

魔兽地图跨版本转换与优化全指南&#xff1a;从兼容性处理到地图性能提升 【免费下载链接】w3x2lni 魔兽地图格式转换工具 项目地址: https://gitcode.com/gh_mirrors/w3/w3x2lni 在魔兽争霸III的地图开发领域&#xff0c;版本兼容性始终是开发者面临的核心挑战。不同游…...

Qwen-Image-2512-Pixel-Art-LoRA 模型原理浅析:理解LoRA在图像生成中的作用

Qwen-Image-2512-Pixel-Art-LoRA 模型原理浅析&#xff1a;理解LoRA在图像生成中的作用 最近在玩AI画图的朋友&#xff0c;可能都遇到过这样的烦恼&#xff1a;想让一个通用的大模型画出特定风格&#xff0c;比如复古的像素风&#xff0c;结果要么画得不像&#xff0c;要么就得…...

Local SDXL-Turbo保姆级教程:导出为ONNX格式进一步优化推理速度

Local SDXL-Turbo保姆级教程&#xff1a;导出为ONNX格式进一步优化推理速度 1. 引言&#xff1a;为什么需要导出ONNX&#xff1f; 如果你已经体验过Local SDXL-Turbo那“打字即出图”的畅快感&#xff0c;可能会想&#xff1a;这速度已经很快了&#xff0c;还能不能再快一点&…...

换掉 Notepad++,事实证明它更牛逼!

提到文本编辑工具&#xff0c;大家肯定第一时间想到的是 Notepad 。Notepad 是一种流行的源代码编辑器&#xff0c;也是 Windows 用户的可靠记事本替代品。它是一个功能强大的实用程序&#xff0c;可在不占用大量存储空间的情况下提供最佳性能。不幸的是&#xff0c;它不适用于…...

2269 上市公司智慧供应链对数字创新的平均处理效应指标【ATT】(2000-2024)

数据来源上市公司年报时间跨度2000-2024区域跨度全国所有上市公司数据格式数据格式为Excel形式数据简介本数据集旨在全面测度中国上市公司智慧供应链建设的政策冲击效应&#xff0c;涵盖了2000年至2024年A股上市公司的长周期面板数据。作为研究数字经济与实体经济深度融合的关键…...

基于Python的校园便利平台毕设源码

博主介绍&#xff1a;✌ 专注于Java,python,✌关注✌私信我✌具体的问题&#xff0c;我会尽力帮助你。一、研究目的本研究旨在构建一个基于Python的校园便利平台&#xff0c;以提升校园生活品质&#xff0c;优化资源配置&#xff0c;增强学生与教职工的互动体验。具体研究目的如…...