做旅游项目用哪家网站好,深圳最新消息公布,帝国视频网站模板,企业网站开发流程简述oracle常用通用sql脚本——查询前用户的表空间信息 一、查询前用户的表空间信息1、 查询当前用户的所有表空间2、 已G为单位3、 已MB为单位 二、以上俩段sql查出结果集存在差异的原因 一、查询前用户的表空间信息
1、 查询当前用户的所有表空间
SELECT * FROM dba_tablespace… 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_CANUSESYSAUX.54.54.593.09.04UNDOTBS1.07.07.0450.67.04USERS000400SYSTEM.66.66.6699.120
这个SQL查询用于检索数据库中表空间的信息。让我们逐步解释这个查询 主要的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为单位并将结果四舍五入到两位小数。 该查询使用三个子查询来收集必要的数据 子查询’a’从dba_free_space表中检索每个表空间的可用空间并按tablespace_name进行分组。子查询’b’从dba_data_files表中检索每个表空间的总空间并按tablespace_name进行分组。子查询’c’从dba_data_files表中检索每个表空间的总大小包括可以调整大小的空间并按tablespace_name进行分组。 主查询然后使用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.06UNDOTBS17537.062537.937550.58USERS53.1251.87537.5SYSTEM6805.5674.599.19
这个SQL查询用于检索数据库中表空间的信息。让我们逐步解释这个查询 主要的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(%)。 该查询使用两个子查询来收集必要的数据 子查询’a’从dba_free_space表中检索每个表空间的可用空间并按tablespace_name进行分组。子查询’b’从dba_data_files表中检索每个表空间的总空间并按tablespace_name进行分组。 主查询然后使用WHERE子句将这些子查询连接起来以tablespace_name进行关联。
总的来说该查询提供了关于数据库中表空间大小、使用情况和可用空间的详细信息并以MB为单位。
二、以上俩段sql查出结果集存在差异的原因
在这两个SQL查询中结果存在微小差异的原因可能是由于以下几个因素导致的 数据精度在SQL中进行浮点数运算时可能会存在精度损失。这可能导致在计算中产生微小的差异。 舍入方式在不同的计算中可能使用了不同的舍入方式例如四舍五入、向上取整等这可能会导致微小差异。 数据来源两个SQL查询中的数据来源可能不完全相同可能存在一些微小的差异例如数据表中的存储方式不同等。 单位转换在结果显示时进行了单位转换可能存在单位转换时的微小差异。
以上是一些可能导致微小差异的原因。要深入了解这些差异可能需要对数据和SQL查询进行更详细的分析。