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

oracle常用通用sql脚本——查询前用户的表空间信息

oracle常用通用sql脚本——查询前用户的表空间信息

  • 一、查询前用户的表空间信息
    • 1、 查询当前用户的所有表空间
    • 2、 已G为单位
    • 3、 已MB为单位
  • 二、以上俩段sql查出结果集存在差异的原因

一、查询前用户的表空间信息

1、 查询当前用户的所有表空间

SELECT * FROM dba_tablespace;

2、 已G为单位

SELECT b.tablespace_name tbs_name, -- 表空间名round(b.total / 1024, 2) tbs_realsize, -- 表空间实际大小(G)round(c.tbs_size / 1024, 2) tbs_canresize, -- 表空间可恢复大小(G)round((b.total - nvl(a.free, 0)) / 1024, 2) tbs_used, -- 表空间已使用大小(G)round((b.total - nvl(a.free, 0)) / b.total, 4) * 100 per, -- 表空间使用率%round((c.tbs_size - b.total + nvl(a.free, 0)) / 1024, 2) tbs_canuse  -- 表空间剩余大小(G)FROM (SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024, 0) freeFROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024, 0) totalFROM dba_data_filesGROUP BY tablespace_name) b,(SELECT tablespace_name,round(SUM(CASEWHEN autoextensible = 'yes' THENmaxbytesELSEuser_bytesEND) / 1024 / 1024,0) tbs_sizeFROM dba_data_filesGROUP BY tablespace_name) cWHERE a.tablespace_name(+) = b.tablespace_nameAND b.tablespace_name = c.tablespace_name;
SQL> SELECT b.tablespace_name tbs_name,2         round(b.total / 1024, 2) tbs_realsize,3         round(c.tbs_size / 1024, 2) tbs_canresize,4         round((b.total - nvl(a.free, 0)) / 1024, 2) tbs_used,5         round((b.total - nvl(a.free, 0)) / b.total, 4) * 100 per,6         round((c.tbs_size - b.total + nvl(a.free, 0)) / 1024, 2) tbs_canuse7    FROM (SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024, 0) free8            FROM dba_free_space9           GROUP BY tablespace_name) a,10         (SELECT tablespace_name, round(SUM(bytes) / 1024 / 1024, 0) total11            FROM dba_data_files12           GROUP BY tablespace_name) b,13         (SELECT tablespace_name,14                 round(SUM(CASE15                             WHEN autoextensible = 'yes' THEN16                              maxbytes17                             ELSE18                              user_bytes19                           END) / 1024 / 1024,20                       0) tbs_size21            FROM dba_data_files22           GROUP BY tablespace_name) c23   WHERE a.tablespace_name(+) = b.tablespace_name24     AND b.tablespace_name = c.tablespace_name;TBS_NAME                                                     TBS_REALSIZE TBS_CANRESIZE   TBS_USED        PER TBS_CANUSE
------------------------------------------------------------ ------------ ------------- ---------- ---------- ----------
SYSAUX                                                                .54           .54         .5      93.09        .04
UNDOTBS1                                                              .07           .07        .04      50.67        .04
USERS                                                                   0             0          0         40          0
SYSTEM                                                                .66           .66        .66      99.12          0

结果集如下:

TBS_NAMETBS_REALSIZETBS_CANRESIZETBS_USEDPERTBS_CANUSE
SYSAUX.54.54.593.09.04
UNDOTBS1.07.07.0450.67.04
USERS000400
SYSTEM.66.66.6699.120

这个SQL查询用于检索数据库中表空间的信息。让我们逐步解释这个查询:

  1. 主要的SELECT语句检索以下列:

    • b.tablespace_name as tbs_name:检索表空间的名称。
    • ROUND(b.total/1024,2) as tbs_realsize:计算表空间的实际大小(以G为单位),并将结果四舍五入到两位小数。
    • ROUND(c.tbs_size/1024,2) as tbs_canresize:计算表空间可以调整大小的空间大小(以G为单位),并将结果四舍五入到两位小数。
    • ROUND((b.total-nvl(a.free,0))/1024,2) as tbs_used:计算表空间的已使用空间(以G为单位),并将结果四舍五入到两位小数。
    • ROUND((b.total-nvl(a.free,0))/b.total,4)*100 as per:计算表空间使用的百分比,并将结果四舍五入到四位小数。
    • ROUND((c.tbs_size - b.total + nvl(a.free,0))/1024,2) as tbs_canuse:计算表空间中可用的空间大小(以G为单位),并将结果四舍五入到两位小数。
  2. 该查询使用三个子查询来收集必要的数据:

    • 子查询’a’从dba_free_space表中检索每个表空间的可用空间,并按tablespace_name进行分组。
    • 子查询’b’从dba_data_files表中检索每个表空间的总空间,并按tablespace_name进行分组。
    • 子查询’c’从dba_data_files表中检索每个表空间的总大小,包括可以调整大小的空间,并按tablespace_name进行分组。
  3. 主查询然后使用WHERE子句将这些子查询连接起来,以tablespace_name进行关联。

总的来说,该查询提供了关于数据库中表空间大小、使用情况和可用空间的详细信息。

3、 已MB为单位

SELECT a.tablespace_name "TBS_NAME", -- 表空间名total / (1024 * 1024) "TBS_REALSIZE(M)", -- 表空间实际大小(M)free / (1024 * 1024) "TBS_CANUSE(M)", -- 表空间剩余大小(M)(total - free) / (1024 * 1024) "TBS_USED(M)", -- 表空间已使用大小(M)round((total - free) / total, 4) * 100 "PRE(%)" -- 表空间使用率 %FROM (SELECT tablespace_name, SUM(bytes) freeFROM dba_free_spaceGROUP BY tablespace_name) a,(SELECT tablespace_name, SUM(bytes) totalFROM dba_data_filesGROUP BY tablespace_name) bWHERE a.tablespace_name = b.tablespace_name;
SQL> SELECT a.tablespace_name "TBS_NAME", -- 表空间名2         total / (1024 * 1024) "TBS_REALSIZE(M)", -- 表空间大小(M)3         free / (1024 * 1024) "TBS_CANUSE(M)", -- 表空间剩余大小(M)4         (total - free) / (1024 * 1024) "TBS_USED(M)", -- 表空间使用大小(M)5         round((total - free) / total, 4) * 100 "PRE(%)" -- 使用率 %6    FROM (SELECT tablespace_name, SUM(bytes) free7            FROM dba_free_space8           GROUP BY tablespace_name) a,9         (SELECT tablespace_name, SUM(bytes) total10            FROM dba_data_files11           GROUP BY tablespace_name) b12   WHERE a.tablespace_name = b.tablespace_name;TBS_NAME                                                     TBS_REALSIZE(M) TBS_CANUSE(M) TBS_USED(M)     PRE(%)
------------------------------------------------------------ --------------- ------------- ----------- ----------
SYSAUX                                                                   550       38.1875    511.8125      93.06
UNDOTBS1                                                                  75       37.0625     37.9375      50.58
USERS                                                                      5         3.125       1.875       37.5
SYSTEM                                                                   680           5.5       674.5      99.19

结果集如下:

TBS_NAMETBS_REALSIZE(M)TBS_CANUSE(M)TBS_USED(M)PRE(%)
SYSAUX55038.1875511.812593.06
UNDOTBS17537.062537.937550.58
USERS53.1251.87537.5
SYSTEM6805.5674.599.19

这个SQL查询用于检索数据库中表空间的信息。让我们逐步解释这个查询:

  1. 主要的SELECT语句检索以下列:

    • a.tablespace_name “TBS_NAME”:检索表空间的名称。
    • total / (1024 * 1024) “TBS_REALSIZE(M)”:计算表空间的实际大小(以MB为单位),并将结果命名为"TBS_REALSIZE(M)"。
    • free / (1024 * 1024) “TBS_CANUSE(M)”:计算表空间的剩余大小(以MB为单位),并将结果命名为"TBS_CANUSE(M)"。
    • (total - free) / (1024 * 1024) “TBS_USED(M)”:计算表空间的已使用大小(以MB为单位),并将结果命名为"TBS_USED(M)"。
    • round((total - free) / total, 4) * 100 “PRE(%)”:计算表空间的使用率,并将结果命名为"PRE(%)"。
  2. 该查询使用两个子查询来收集必要的数据:

    • 子查询’a’从dba_free_space表中检索每个表空间的可用空间,并按tablespace_name进行分组。
    • 子查询’b’从dba_data_files表中检索每个表空间的总空间,并按tablespace_name进行分组。
  3. 主查询然后使用WHERE子句将这些子查询连接起来,以tablespace_name进行关联。

总的来说,该查询提供了关于数据库中表空间大小、使用情况和可用空间的详细信息,并以MB为单位。

二、以上俩段sql查出结果集存在差异的原因

在这两个SQL查询中,结果存在微小差异的原因可能是由于以下几个因素导致的:

  1. 数据精度:在SQL中进行浮点数运算时,可能会存在精度损失。这可能导致在计算中产生微小的差异。

  2. 舍入方式:在不同的计算中可能使用了不同的舍入方式,例如四舍五入、向上取整等,这可能会导致微小差异。

  3. 数据来源:两个SQL查询中的数据来源可能不完全相同,可能存在一些微小的差异,例如数据表中的存储方式不同等。

  4. 单位转换:在结果显示时进行了单位转换,可能存在单位转换时的微小差异。

以上是一些可能导致微小差异的原因。要深入了解这些差异,可能需要对数据和SQL查询进行更详细的分析。

相关文章:

oracle常用通用sql脚本——查询前用户的表空间信息

oracle常用通用sql脚本——查询前用户的表空间信息 一、查询前用户的表空间信息1、 查询当前用户的所有表空间2、 已G为单位3、 已MB为单位 二、以上俩段sql查出结果集存在差异的原因 一、查询前用户的表空间信息 1、 查询当前用户的所有表空间 SELECT * FROM dba_tablespace…...

Python内置类属性`__name__`属性的使用教程

更多Python学习内容:ipengtao.com Python中的__name__是一种内置的特殊属性,通常用于判断模块是作为主程序运行还是作为模块被导入。本文将深入讲解__name__属性的用法,通过丰富的示例代码展示其在不同情景下的应用。 模块作为主程序运行 当一…...

BUUCTF-pwn-ciscn_2019_ne_51

简单查看保护: 32为程序没有canary没有PIE,应该是简单的栈溢出。我们照着这个思路去找溢出点在哪,运行下程序看看什么情况: 程序上来是输入一个密码验证。随便输入下错误直接退出。因此我们需要到IDA中看看怎么回事: 主…...

【限时免费】20天拿下华为OD笔试之【哈希表】2023Q2B-选修课【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入输出示例一输入输出说明 示例二输入输出说明 解题思路代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 现有两门选修课,每门选修课都有一部分学生选修,每个学生都有…...

Android关于杀掉进程的方案

《风波莫听穿林打叶声》—— 苏轼 〔宋代〕 三月七日,沙湖道中遇雨,雨具先去,同行皆狼狈,余独不觉。已而遂晴,故作此词。 莫听穿林打叶声,何妨吟啸且徐行。 竹杖芒鞋轻胜马,谁怕?一蓑…...

mysql数据库基本概念简介

概述 为什么要使用数据库? 答:实现数据的持久化。 数据库存储类型多样,存储量大。由于其他文件等介质。 概念 DB:database(数据库),保存数据的仓库,本质是一个文件系统。 DBMS:数据库管理系统,常说的Mysql数…...

前端开发_HTML

简介 CSS用于美化内容 HTML用于摆放内容 可以理解为HTML是基础&#xff0c;CSS是工具 HTML定义 HTML 超文本标记语言——HyperText Markup Language 超文本——链接 标记——标签&#xff0c;即带尖括号的文本 标签语法 双标签 开始标签&#xff1a; <xxx> 即尖…...

1.Spring源码解析-ClassPathXmlApplicationContext

此类是读取spring的xml配置文件并解析。也是源码入口之一。 我们调试即将开始。 传递给父类设置值 经调试我们得到是给AbstractApplicationContext设置默认的应用上下文父级的值&#xff0c;很明显是空 给父类AbstractRefreshableConfigApplicationContext设置属性 刷新容器…...

android 动态创建selector状态选择器 动态创建Drawable

最近在做一个使用接口返回的字符串&#xff1a;"#ff0000" 来动态设置drawable背景颜色与动态设置状态选择器selector的需求&#xff0c;之前写习惯了shape的xml&#xff0c;还是第一次写动态的&#xff0c;有点搞笑&#xff0c;搞笑的是自己没写过&#xff0c;不知道…...

Python与设计模式--责任链模式

23种计模式之 前言 &#xff08;5&#xff09;单例模式、工厂模式、简单工厂模式、抽象工厂模式、建造者模式、原型模式、(7)代理模式、装饰器模式、适配器模式、门面模式、组合模式、享元模式、桥梁模式、&#xff08;11&#xff09;策略模式、责任链模式、命令模式、中介者模…...

(C)一些题6

1.正确定义符号常量PI的宏定义为 A.define PI 3.14 B.define PI 3.14: C。#define PI 3.14 D #define PI 3.14&#xff1b; 2。关于字符数组的描述中错误的是() A.字符数组可以存放字符串 B.字符数组中的字符串可以整体输入和输出 C。可以在赋值语句中通过运算符“”对…...

基于单片机的肺活量检测系统(论文+源码)

1.系统设计 在基于单片机的肺活量检测系统中&#xff0c;在硬件上整个系统通过利用主控制器STC89C52单片机来实现对整个系统进行控制的功能&#xff0c;通过采用LCD1602实现实时液晶显示数据的功能&#xff0c;通过肺活量传感器XGZP6847ADC0832实现监测肺活量的工作&#xff0…...

【开题报告】海洋多源数据质量控制应用服务的WebServer设计与实现

开 题 报 告 内 容 论文选题的意义、主要研究内容和文献资料调研情况 一、选题意义 在当今世界研究自然环境的大背景下&#xff0c;计算机技术与各学科、各领域的综合应用逐渐增多。作为地球上最广阔的水体&#xff0c;同时也是地球上决定气候发展的主要的因素之一&#xff0…...

接单平台在精不在多,劝诸位程序员找个好平台!

程序员想找兼职搞副业&#xff0c;结果知乎上逛了一大圈&#xff0c;各种平台推荐&#xff0c;可以说是眼花缭乱。要么就是平台一搜&#xff0c;各种劝退&#xff01;好好好&#xff0c;就问一句&#xff0c;还搞不搞&#xff1f;Of course~有钱还不赚的是傻子。加班摸鱼的时候…...

mybatis关于namespace以及id以及Mapper接口命名的说明(了解)

1、建库建表 CREATE DATABASE mybatis-example;USE mybatis-example;CREATE TABLE t_emp(emp_id INT AUTO_INCREMENT,emp_name CHAR(100),emp_salary DOUBLE(10,5),PRIMARY KEY(emp_id) );INSERT INTO t_emp(emp_name,emp_salary) VALUES("tom",200.33); INSERT INTO…...

MySQL中的锁(简单)

目录 1. 共享锁&#xff08;Shared Lock&#xff09;&#xff1a; 2. 排他锁&#xff08;Exclusive Lock&#xff09;&#xff1a; 3. 行级锁&#xff08;Row-Level Lock&#xff09;&#xff1a; 4. 页级锁&#xff08;Page-Level Lock&#xff09;&#xff1a; 5. 表级锁…...

【独家OD2023C卷真题】20天拿下华为OD笔试【贪心】2023C-分配土地最大面积【欧弟算法】全网注释最详细分类最全的华为OD真题题解

文章目录 题目描述与示例题目描述输入描述输出描述备注示例一输入输出说明 示例二输入输出说明 解题思路单种颜色的最小覆盖面积多种颜色的最小覆盖面积 代码PythonJavaC时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目描述与示例 题目描述 从前有个村庄&#xf…...

省市区编码sql

CREATE TABLE area (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键,code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 编码,name varchar(255) COLLATE utf8mb4_bin DEFAULT NULL COMMENT 名称,parent_code varchar(64) COLLATE utf8mb4_bin DEFAULT NULL CO…...

实现电商平台与营销系统无缝集成:雅座的无代码开发与API连接

无代码开发&#xff1a;营销的新引擎 在数字化转型的浪潮中&#xff0c;无代码开发已成为企业提升效率、减少成本的新引擎。这种开发方式允许非技术人员通过图形界面构建应用程序&#xff0c;无需编写代码即可实现复杂功能。这对于营销、广告推广以及用户运营等业务尤为重要&a…...

win10下安装 Anaconda + Cuda + Cudnn + Pycharm + Pytorch

1.安装Anaconda &#xff08;1-1&#xff09;下载Ananconda, Anaconda官网 选择windows版本&#xff1b; &#xff08;1-2&#xff09;安装Anaconda,一般选择【Just Me】 &#xff08;1-3&#xff09;建议不要装在C盘&#xff0c;后期多环境的python环境和各种库文件会占用很多…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

QT: `long long` 类型转换为 `QString` 2025.6.5

在 Qt 中&#xff0c;将 long long 类型转换为 QString 可以通过以下两种常用方法实现&#xff1a; 方法 1&#xff1a;使用 QString::number() 直接调用 QString 的静态方法 number()&#xff0c;将数值转换为字符串&#xff1a; long long value 1234567890123456789LL; …...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

DingDing机器人群消息推送

文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人&#xff0c;点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置&#xff0c;详见说明文档 成功后&#xff0c;记录Webhook 2 API文档说明 点击设置说明 查看自…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践

前言&#xff1a;本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中&#xff0c;跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南&#xff0c;你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案&#xff0c;并结合内网…...

动态规划-1035.不相交的线-力扣(LeetCode)

一、题目解析 光看题目要求和例图&#xff0c;感觉这题好麻烦&#xff0c;直线不能相交啊&#xff0c;每个数字只属于一条连线啊等等&#xff0c;但我们结合题目所给的信息和例图的内容&#xff0c;这不就是最长公共子序列吗&#xff1f;&#xff0c;我们把最长公共子序列连线起…...