首页 > 数据库 >oracle数据库状态查询

oracle数据库状态查询

时间:2024-07-19 17:32:35浏览次数:8  
标签:1024 name 数据库 查询 tablespace gb oracle SELECT size

oracle数据库状态查询(表空间,表空间利用率,是否自动扩展,IOPS,MBPS,数据库总大小)

排除了('SYSAUX', 'USERS', 'SYSTEM','UNDOTBS1')

结果示例

image
image

-- 查询用户自定义表空间的使用信息
WITH user_tablespaces AS (
    SELECT DISTINCT tablespace_name
    FROM dba_segments
    WHERE tablespace_name NOT IN ('SYSAUX', 'USERS', 'SYSTEM','UNDOTBS1')
),
tbs_used_size AS (
    SELECT TRUNC(SUM(bytes) / 1024 / 1024 / 1024, 2) AS used_size_gb, tablespace_name
    FROM dba_segments
    WHERE tablespace_name IN (SELECT tablespace_name FROM user_tablespaces)
    GROUP BY tablespace_name
),
tbs_size AS (
    SELECT tablespace_name AS name,
           TRUNC(SUM(bytes) / 1024 / 1024 / 1024, 2) AS total_size_gb
    FROM dba_data_files
    WHERE tablespace_name IN (SELECT tablespace_name FROM user_tablespaces)
    GROUP BY tablespace_name
),
tbs_autoextensible AS (
    SELECT tablespace_name AS name,
           MAX(autoextensible) AS auto_extensible
    FROM dba_data_files
    WHERE tablespace_name IN (SELECT tablespace_name FROM user_tablespaces)
    GROUP BY tablespace_name
)
SELECT a.name "表空间名",
       a.total_size_gb || ' GB' "表空间大小(GB)",
       NVL(b.used_size_gb, 0) || ' GB' "表空间使用的大小(GB)",
       TRUNC(NVL(b.used_size_gb, 0) / a.total_size_gb * 100, 2) || '%' "表空间使用率(%)",
       a.name || ':' || TRUNC(NVL(b.used_size_gb, 0) / a.total_size_gb * 100, 2) || '%   ' || 
       CASE WHEN c.auto_extensible = 'YES' THEN '自动扩展' ELSE '非自动扩展' END AS summary
FROM tbs_size a
LEFT JOIN tbs_used_size b ON (a.name = b.tablespace_name)
LEFT JOIN tbs_autoextensible c ON (a.name = c.name);

-- 查询 IOPS 和 MBPS 以及数据库总大小
WITH io_stats AS (
    SELECT
        (SELECT VALUE FROM V$SYSSTAT WHERE NAME = 'physical reads') AS physical_reads,
        (SELECT VALUE FROM V$SYSSTAT WHERE NAME = 'physical writes') AS physical_writes,
        (SELECT VALUE FROM V$SYSSTAT WHERE NAME = 'physical read total bytes') AS read_bytes,
        (SELECT VALUE FROM V$SYSSTAT WHERE NAME = 'physical write total bytes') AS write_bytes
    FROM dual
),
time_stats AS (
    SELECT
        (SYSDATE - startup_time) * 86400 AS uptime_seconds
    FROM V$INSTANCE
),
iops_mbps AS (
    SELECT
        ROUND((physical_reads + physical_writes) / uptime_seconds, 2) AS iops,
        ROUND((read_bytes + write_bytes) / (uptime_seconds * 1024 * 1024), 2) AS mbps
    FROM io_stats, time_stats
),
total_size AS (
    SELECT
        TRUNC(SUM(bytes) / 1024 / 1024 / 1024, 2) AS total_gb
    FROM dba_data_files
)
SELECT 'IOPS' AS Metric, TO_CHAR(iops) || ' operations/sec' AS Value
FROM iops_mbps
UNION ALL
SELECT 'MBPS', TO_CHAR(mbps) || ' MB/sec'
FROM iops_mbps
UNION ALL
SELECT '数据库总大小', TO_CHAR(total_gb) || ' GB'
FROM total_size;

标签:1024,name,数据库,查询,tablespace,gb,oracle,SELECT,size
From: https://www.cnblogs.com/yogochann/p/18311963

相关文章

  • 数据库的备份和恢复
    四、数据库的备份和恢复4.1备份的目的:备灾。(防止数据丢失)在生产环境中,数据的安全性非常重要。造成数据丢失的原因:1、程序出错2、人为的问题3、磁盘的故障备份的分类:物理备份:对磁盘或者对文件直接进行备份。**冷备份:**脱机备份,先把指定的程序关闭然后对资料进行备......
  • 使用Java和JPA构建健壮的数据库应用
    使用Java和JPA构建健壮的数据库应用大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!今天,我们将探讨如何使用Java和JPA(JavaPersistenceAPI)来构建健壮的数据库应用。JPA是JavaEE规范的一部分,用于对象关系映射(ORM),简化了数据库操作和数据管理。1.JPA基础......
  • java比较mysql两个数据库中差异
    java对比两个库之间差异packagecom.ruoyi.shht;importjava.io.File;importjava.io.FileOutputStream;importjava.io.OutputStream;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.Statement;importjava.tex......
  • PG夜话(第20期):数据库老陈、德哥、快立方华总,聊一聊数据库内存管理
     PostgreSQLPG夜话(第20期):数据库老陈、德哥、快立方华总,聊一聊数据库内存管理(PG夜话,CUUG陈卫星,与数据库大伽一起聊PG数据库相关的话题) 老陈:“数据库内存管理是永远不变的话题,本期分享pg&oracle内存管理...”德哥:“DuckDB&PG的内存管理” 时间:07月20日19:30直播地址:......
  • 论如何直接用EF Core实现创建更新时间、用户审计,自动化乐观并发、软删除和树形查询(下)
    前言数据库并发,数据审计和软删除一直是数据持久化方面的经典问题。早些时候,这些工作需要手写复杂的SQL或者通过存储过程和触发器实现。手写复杂SQL对软件可维护性构成了相当大的挑战,随着SQL字数的变多,用到的嵌套和复杂语法增加,可读性和可维护性的难度是几何级暴涨。因此如何在实......
  • Seata 1.3.0 Oracle 回滚测试验证 报错 ORA-02289: 序列不存在
    使用Seata1.3.0版本,测试A服务调用B服务,且A方法中,手动写了一个异常,测试是否正常回滚(Mysql已经测试过)发现报错:ORA-02289:序列不存在 一看就是undo_log这张表的sequence没有建立,导致数据保存不了,太久没有用oracle了,之前搜索undo_log的建表SQL是直接在网上搜索的,所以缺少了建seq......
  • oracle 存储过程造数
    BEGINFORiIN1..{count_insert}LOOPINSERTINTOIKASTRIGGER.IKAS10B(COLUMN1,COLUMN2,COLUMN3,COLUMN4,COLUMN5,COLUMN6,COLUMN7,COLUMN8,COLUMN9,COLUMN10)......
  • idea内置数据库DataGrip + 多表操作sql语句
    多表操作:一对多(多对一),一对一,一对多可以通过物理外键实现,但实际上更推荐使用逻辑外键以下均为物理外键使用方法--=====================================多表设计================================---------------------一对多职位与员工--员工子表createta......
  • 打破僵局:深度解析数据库死锁的策略与实践(专家篇)
    在多任务操作系统和数据库管理系统中,死锁是一个常见问题,它发生在两个或多个进程/线程因争夺资源而相互等待,导致系统资源无法继续执行。有效地检测和预防死锁对于确保系统稳定性和提高系统性能至关重要。本次探讨不同的死锁检测与预防策略,以及如何在实际应用中实现这些策略......
  • 流式查询2、mybatis的ResultHandler 每次查询返回定义的500条
    流式查询2、mybatis通过用ResultHandler流式查询,每次查询返回定义的500条,再去批量处理(可异步并发):packagecom.aswatson.cdc.redis.schedule;importcom.aswatson.cdc.redis.common.lock.DistLock;importcom.aswatson.cdc.redis.common.lock.DistLockRegistry;importcom.as......