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查询进行更详细的分析。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/182526.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

鸿蒙4.0开发笔记之ArkTS装饰器语法基础@Extend扩展组件样式与stateStyles多态样式(十一)

一、Extend扩展组件样式 1、作用 前文提到可以使用Styles用于样式的扩展,在Styles的基础上,ArkTS语法还提供了Extend,⽤于扩展原生组件样式,包括Text、Button等等。 2、定义语法 Extend(UIComponentName) function functionNam…

如何优化 Elasticsearch 查询性能

优化 Elasticsearch 查询性能需要从多个方面入手。通过合理的索引设计、优化查询语句、优化硬件资源和集群架构等方面的优化,可以显著提高 Elasticsearch 的查询性能。 1.索引设计优化 良好的索引设计是优化 Elasticsearch 查询性能的关键。可以通过以下几个方面来…

错误 LNK2001 无法解析的外部符号 __imp__CrtDbgReport

”属性“ -->”设置“ --> ”c“ – > ”代码生成“ --> ”运行库“ ,将 ”多线程(MT)“ 改为 ”多线程(MTD)“。

C语言——从终端(键盘)读入 20 个数据到数组中,统计其中正数的个数,并计算这些正数之和

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h> int main() {int i0;int sum0;int count0;int arr[20];printf("输入20个数据&#xff1a;\n");for(i1;i<20;i){scanf("%d",&arr[i]);if(arr[i]>0){count;sumarr[i];}}printf("正…

Flink-时间窗口

在流数据处理应用中&#xff0c;一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”&#xff0c;一 般就是划定的一段时间范围&#xff0c;也就是“时间窗”&#xff1b;对在这范围内的数据进行处理&#xff0c;就是所谓的 窗口计算。所以窗口和时间往往是分不开的。 时…

IELTS学习笔记_grammar_新东方

参考&#xff1a; 新东方 田静 语法 目录&#xff1a; 导学简单句… x.1 导学 学语法以应用为主。 基础为&#xff1a;单词&#xff0c;语法 进阶为&#xff1a;听说读写译&#xff0c;只考听说读写。 words -> chunks -> sentences, chunks&#xff08;语块的重要…

计算机基础知识61

JsonResponse 功能例子 你自己写一个类&#xff0c;实现JsonResponse 功能&#xff0c;不需要传safeFalse&#xff0c;无论字典或列表&#xff0c;都能完成序列化返回给前端 1 响应头例子 四种情况&#xff0c;在响应头返回数据 xxxx # 第一种情况 JsonResponse def show(req…

Linux dig指令的十三种用法

文章目录 dig指令有哪些作用dig 具体用法推荐阅读 dig指令有哪些作用 DIG命令(Domain Information Groper命令)是一个网络工具&#xff0c;具有基本的命令行接口&#xff0c;用于进行不同的DNS(域名系统)查询。您可以使用DIG命令: 诊断您的域名服务器。检查所有这些服务器或每…

【C 语言经典100例】C 练习实例5

题目&#xff1a;输入三个整数x,y,z&#xff0c;请把这三个数由小到大输出。 程序分析&#xff1a;我们想办法把最小的数放到x上&#xff0c;先将x与y进行比较&#xff0c;如果x>y则将x与y的值进行交换&#xff0c;然后再用x与z进行比较&#xff0c;如果x>z则将x与z的值…

MySQL安装部署-8.0.33-脚本

#!/bin/bash set -o pipefail# 参数 # mysql_install.sh <MYSQL_PORT> <MYSQL_VERSION> <MYSQL_DATA_BASE> # sh db_install.sh 3308 5.6 /home/data # <MYSQL_DATA_BASE> &#xff1a;因为测试环境数据目录一般在 /home/data 下&#xff0c;线上在 /…

探索H5的神秘世界:测试点解析

Html5 app实际上是Web app的一种&#xff0c;在测试过程中可以延续Web App测试的部分方法&#xff0c;同时兼顾手机端的一些特性即可&#xff0c;下面帮大家总结下Html5 app 相关测试方法&#xff01; app内部H5测试点总结 1、业务逻辑 除基本功能测试外&#xff0c;需要关注的…

SpringBoot——Swagger2 接口规范

优质博文&#xff1a;IT-BLOG-CN 如今&#xff0c;REST和微服务已经有了很大的发展势头。但是&#xff0c;REST规范中并没有提供一种规范来编写我们的对外REST接口API文档。每个人都在用自己的方式记录api文档&#xff0c;因此没有一种标准规范能够让我们很容易的理解和使用该…

c语言 / 指针错误的几种情况

1.未初始化的指针&#xff0c;直接释放 int *p; //计算机随机指向一片内存 2.free一个指针&#xff0c;指针没有指向NULL&#xff0c;直接使用 int *p(int *)malloc(sizeof(int)); free(p); //p依旧指向释放前内存的地址, 但是这片内存已经被释放, 被其他变量重新使用, 正…

XAER_RMERR: Fatal error occurred in the transaction branch异常解决

XAER_RMERR: Fatal error occurred in the transaction branch异常解决 数据库权限问题&#xff01;&#xff01;&#xff01;不是mysql驱动问题&#xff0c;执行下面命令解决 GRANT XA_RECOVER_ADMIN ON *.* TO root% ;

传感器:探索Android中的传感器功能与使用

传感器&#xff1a;探索Android中的传感器功能与使用 一、传感器介绍1.1 Android 平台三大类传感器1.2 Android 平台支持的传感器1.3 传感器框架 二、传感器的使用2.1 识别传感器和传感器特性2.2 针对不同制造商的传感器或传感器的不同版本优化2.3 监控传感器事件2.4 处理不同的…

OpenCV | 图像梯度sobel算子、scharr算子、lapkacian算子

import cv2 #opencv读取的格式是BGR import numpy as np import matplotlib.pyplot as plt#Matplotlib是RGB %matplotlib inline 1、sobel算子 img cv2.imread(pie.png,cv2.IMREAD_GRAYSCALE) cv2.imshow(img,img) cv2.waitKey() cv2.destroyAllWindows() pie图片 dst cv2.S…

vue3+vite搭建cesium项目

1.创建项目 cnpm create vite 2.安装依赖 npm i cesium vite-plugin-cesium vite -D 3.在vite.config.js里进行配置 import { defineConfig } from vite import vue from vitejs/plugin-vue import cesium from vite-plugin-cesium; export default defineConfig({plugins…

NCo3.1(08) - Nco3 服务器端编程

本篇博文不再重复ABAP调用外部服务器的基础&#xff0c;只介绍 NCo3 开发的过程和要点。需要了解相关知识点的小伙伴们自行参考&#xff1a; SAP接口编程 之JCo3.0系列(06) - Jco服务器端编程 PyRFC 服务器端编程要点 创建项目 新建一个 Console 项目&#xff0c;选择 .Net …

失落的艺术:无着色器3D渲染

假设你想创建一个甜蜜的弹跳立方体&#xff0c;如下所示&#xff1a; 一个弹跳的立方体 你可以使用 3D 框架&#xff0c;例如 OpenGL 或 Metal。 这涉及编写一个或多个顶点着色器来变换 3D 对象&#xff0c;以及编写一个或多个片段着色器来在屏幕上绘制这些变换后的对象。 然…

配置阿里云的yum仓库

目录 配置阿里云的yum源 清理官方yum源 下载阿里云的yum源 centos7下载阿里云yum源&#xff1a; 清理yum缓存&#xff1a;yum cleam all 生成自己的yum缓存&#xff1a;yum makecache 使用centos自带的官方yum源下载很慢&#xff0c;那今天来跟大家说说配置阿里云的yum仓…