首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >获取表空间输出

获取表空间输出
EN

Stack Overflow用户
提问于 2017-02-15 18:22:19
回答 2查看 713关注 0票数 0

我们的oracle Enterprise manager数据库版本为12.1.0.2。在下面的查询中,我试图获得所有的表空间总大小、used_size、free_size。这个查询给了我一个错误。通过这个查询,我想显示以下内容: 1)目标名称、表空间名称、total_space、free_space、used_space ( GB )。2)我想要不带逗号的列别名写文件afiedt.buf

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  1  select  * from
  2    ( select target_name,KEY_VALUE NAME
  3  ,decode(column_label,'Tablespace Allocated Space (MB)' ,total_space
  4                      ,'Tablespace Free Space (MB)',free_space,'Tablespace Us
ed Space (MB)',used_space,column_label) as column_label
  5                     ,value
  6      from sysman.mgmt$metric_current
  7    where COLUMN_LABEL IN('Tablespace Allocated Space (MB)','Tablespace Used
Space (MB)','Tablespace Free Space (MB)')
  8    and target_type = 'rac_database'
  9    )
 10      PIVOT(
 11    MAX(VALUE)
 12*   FOR COLUMN_LABEL IN( 'total_space ','used_space','free_space'))
SQL> /
                    ,'Tablespace Free Space (MB)',free_space,'Tablespace Used Sp
ace (MB)',used_space,column_label) as column_label

          *
ERROR at line 4:
ORA-00904: "USED_SPACE": invalid identifier


SQL>
EN

回答 2

Stack Overflow用户

发布于 2017-02-15 18:29:08

我认为你想要:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select  * from
      ( select target_name,KEY_VALUE NAME
    ,decode(column_label,'Tablespace Allocated Space (MB)' ,'total_space'
                        ,'Tablespace Free Space (MB)','free_space'
                        ,'Tablespace Used Space (MB)','used_space'
                        ,column_label) as column_label
                       ,value
        from sysman.mgmt$metric_current
      where COLUMN_LABEL IN('Tablespace Allocated Space (MB)','Tablespace Used Space (MB)','Tablespace Free Space (MB)')
      and target_type = 'rac_database'
      )
       PIVOT(
     MAX(VALUE)
    FOR COLUMN_LABEL IN( 'total_space','used_space','free_space'))

尽管在我的数据库(11g)上,我没有看到标签"Tablespace Free Space (MB)“

注意,如果您想要为表空间提供空闲空间,可以使用dba_free_space:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select tablespace_name, sum(bytes)/1024/1024 as mb_free 
from dba_free_space
group by tablespace_name;
票数 1
EN

Stack Overflow用户

发布于 2017-02-15 18:41:45

我认为你可以比@tbone的答案更简单:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select *
from (
  select column_label, key_value as tablespace_name, value
  from sysman.mgmt$metric_current
  where column_label in ('Tablespace Allocated Space (MB)',
    'Tablespace Used Space (MB)', 'Tablespace Free Space (MB)')
  and target_type = 'rac_database'
)
pivot (
  max(value)
  for column_label in ('Tablespace Allocated Space (MB)' as total_space,
    'Tablespace Used Space (MB)' as used_space, 'Tablespace Free Space (MB)' as free_space)
)
/

它(在11gR2中)得到如下输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
TABLESPACE_NAME                TOTAL_SPACE          USED_SPACE           FREE_SPACE          
------------------------------ -------------------- -------------------- --------------------
SYSAUX                         1770                 1630.25                                  
SYSTEM                         730                  727.125                                  
TEMP                           2009                 0                                        
UNDOTBS1                       3469                 20.5                                     
USERS                          832.25               54.0625                                  
...

在这个版本中,mgmt$metric_current表没有空闲空间的条目;我目前不能检查是否在12c中添加了空闲空间,但当然可以从其他两个中计算出来。

如果您想要以GB而不是MD为单位的值,只需在子查询中除以1024,也许可以四舍五入到合理的位数:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select *
from (
  select column_label, key_value as tablespace_name,
    round(to_number(value)/1024, 2) as value
  from sysman.mgmt$metric_current
  where column_label in ('Tablespace Allocated Space (MB)',
    'Tablespace Used Space (MB)', 'Tablespace Free Space (MB)')
  and target_type = 'rac_database'
)
pivot (
  max(value)
  for column_label in ('Tablespace Allocated Space (MB)' as total_space,
    'Tablespace Used Space (MB)' as used_space,
    'Tablespace Free Space (MB)' as free_space)
)
/

TABLESPACE_NAME                         TOTAL_SPACE           USED_SPACE           FREE_SPACE
------------------------------ -------------------- -------------------- --------------------
UNDOTBS1                                       3.39                  .02                     
TEMP                                           1.96                    0                     
SYSAUX                                         1.73                 1.59                     
USERS                                           .81                  .05                     
SYSTEM                                          .71                  .71                     
...

正如@tbone还建议的那样,还有其他视图可以给你提供这些信息,但至少在我的数据库中,这要慢得多:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
select dfs.tablespace_name,
  (select round(sum(ddf.bytes)/power(1024, 3), 2) from dba_data_files ddf
    where ddf.tablespace_name = dfs.tablespace_name) as total_space,
  (select round(sum(ds.bytes)/power(1024, 3), 2) from dba_segments ds
    where ds.tablespace_name = dfs.tablespace_name) as used_space,
  round(sum(dfs.bytes)/power(1024, 3), 2) as free_space
from dba_free_space dfs
group by dfs.tablespace_name
/

TABLESPACE_NAME                         TOTAL_SPACE           USED_SPACE           FREE_SPACE
------------------------------ -------------------- -------------------- --------------------
SYSAUX                                         1.73                 1.59                  .13
UNDOTBS1                                       3.39                  .08                 3.31
USERS                                           .81                  .05                  .76
SYSTEM                                          .71                  .71                    0
...

..。从关于sysman拥有您正在查看的表的评论来看,当您连接到EM时,您可能看不到DBA视图。

如果要对结果进行进一步计算,如获取已用空间百分比,则可以将透视结果放入内联视图或CTE中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with cte as (
  select *
  from (
    select column_label, key_value as tablespace_name,
      to_number(value)/1024 as value
    from sysman.mgmt$metric_current
    where column_label in ('Tablespace Allocated Space (MB)',
      'Tablespace Used Space (MB)', 'Tablespace Free Space (MB)')
    and target_type = 'rac_database'
  )
  pivot (
    max(value)
    for column_label in ('Tablespace Allocated Space (MB)' as total_space,
      'Tablespace Used Space (MB)' as used_space,
      'Tablespace Free Space (MB)' as free_space)
  )
)
select tablespace_name, round(total_space, 2) as total_space,
  round(used_space, 2) as used_space, round(free_space, 2) as free_space,
  round(100 * used_space / total_space, 2) as pct_used
from cte;

在11g中,这也让您可以轻松地根据总空间和已用空间计算可用空间:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with cte as (
  select *
  from (
    select column_label, key_value as tablespace_name,
      to_number(value)/1024 as value
    from sysman.mgmt$metric_current
    where column_label in ('Tablespace Allocated Space (MB)',
      'Tablespace Used Space (MB)')
    and target_type = 'rac_database'
  )
  pivot (
    max(value)
    for column_label in ('Tablespace Allocated Space (MB)' as total_space,
      'Tablespace Used Space (MB)' as used_space)
  )
)
select tablespace_name, round(total_space, 2) as total_space,
  round(used_space, 2) as used_space,
  round(total_space - used_space, 2) as free_space,
  round(100 * used_space / total_space, 2) as pct_used
from cte;

TABLESPACE_NAME                         TOTAL_SPACE           USED_SPACE           FREE_SPACE   PCT_USED
------------------------------ -------------------- -------------------- -------------------- ----------
UNDOTBS1                                       3.39                  .02                 3.37        .59
TEMP                                           1.96                    0                 1.96          0
SYSAUX                                         1.73                 1.59                  .14       92.1
USERS                                           .81                  .05                  .76        6.5
SYSTEM                                          .71                  .71                    0      99.61
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42257238

复制
相关文章
Ubuntu: 安装 OMNeT++ 仿真工具
Note: 在Ubuntu下才需要事先安装这些依赖库。 其他Linux系统不需要,可直接跳至工具安装。
JNingWei
2018/09/27
2.9K0
Ubuntu: 安装 OMNeT++ 仿真工具
python与BeautifulSouop计算SUMO仿真的到达速率
到达速率就是外部车辆进入优化路网在单位时间内的流量,每个进入的lane有不同的到达速率。
钱塘小甲子
2019/01/29
5560
SUMO使用教程(八)
下面这个就是随机生成的Trips问价的部分截图,trip,中文意思就是旅程,其实就是车辆走过的轨迹。之前我们在router文件里面定义了车辆行驶的路径,很显然,相当费力气,需要一条一条的去规划,但是在trip文件中,我们只需要说明起始点就可以了,SUMO的duarouter.exe工具会自动计算最优化路径,并且生成router文件。这也就是为什么在教程一中我们randomTrips生成的是trip文件而不直接是router文件的原因。不可否认,SUMO的模块化工作是做的很细致的。
钱塘小甲子
2019/01/29
1.6K0
SUMO使用教程(八)
车载网络: OMNet++所需的组件支持
安装过程详见我的另两篇博客:Ubuntu: 安装 OMNeT++ 仿真工具、车载网络: OMNeT++安装CAN协议 。
JNingWei
2018/09/27
1.1K0
车载网络: OMNeT++安装CAN协议
首先要保证已安装好 OMNeT++。具体安装教程可参照 Ubuntu: 安装 OMNeT++ 仿真工具 。
JNingWei
2018/09/27
2K0
车载网络: OMNeT++安装CAN协议
SUMO使用教程(六)
今天一直在设置SUMO中的交通灯,但是官方文档对具体配置文件的编辑说的很详细,但是怎么导入到其中就一笔带过了,根据上下文猜测,数次尝试也不行,最后曲线救国,毕竟所有的网路信息,包括交通信号灯的默认设置信息都在里面,所以直接修改net.xml文件或许可以实现。 果不其然,在测试的net文件中,发现了下面这样一段代码:
钱塘小甲子
2019/01/29
1.3K0
SUMO使用教程(六)
SUMO使用教程(五)
从根部往上看,用于仿真的需要rou.xml文件和net.xml文件。而net.xml文件则由上面四种文件产生。分别是nod,edg,typ,con,各自的含义就是node,edge,type,connection。
钱塘小甲子
2019/01/29
1.3K0
SUMO使用教程(五)
SUMO学习笔记(2)
https://sumo.dlr.de/docs/Tutorials/Driving_in_Circles.html
嘘、小点声
2021/05/11
5970
SUMO学习笔记(2)
Github项目推荐 | GtS 仿真泛化:将仿真和真实数据集成到基于视觉的自主飞行深度强化学习中
Generalization through Simulation: Integrating Simulated and Real Data into Deep Reinforcement Learning for Vision-Based Autonomous Flight
AI研习社
2019/05/07
9450
Github项目推荐 | GtS 仿真泛化:将仿真和真实数据集成到基于视觉的自主飞行深度强化学习中
倒立摆仿真_基于matlab单摆运动仿真模拟
本博文主要学习目的为倒立摆PID控制入门,面向matlab小白,所以挑选最简单的模型和例子写了一篇文章
全栈程序员站长
2022/09/23
6930
倒立摆仿真_基于matlab单摆运动仿真模拟
基于TCPCopy的仿真压测方案
tcpcopy 是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信心。
py3study
2020/02/25
1.4K0
基于ABAQUS和FE-SAFE的低周疲劳仿真
机器、车辆和结构的零部件经常会承受重复载荷的作用,由此产生的循环应力可导致相关材料发生微观物理损伤,微观损伤在连续的循环载荷作用下累积,直至发展成裂纹或其他宏观损伤,这个过程称为疲劳。疲劳分为高周疲劳和低周疲劳,一般将失效循环数小于次循环的疲劳称为低周疲劳,将失效循环数大于此次数的疲劳称为高州疲劳。低周疲劳一般采用基于应变的疲劳算法。
CAE学习笔记
2022/05/12
6.4K2
平头哥开源项目wujian100_open | 基于VCS+Verdi的仿真
创建项目文件夹 makdir wujian100_open 进入文件夹 cd wujian100_open
数字芯片社区
2022/04/06
1.9K0
平头哥开源项目wujian100_open | 基于VCS+Verdi的仿真
Vulnhub-SUMO: 1
Target Address:http://www.vulnhub.com/entry/sumo-1,480/
亿人安全
2022/06/30
3580
Vulnhub-SUMO: 1
基于FPGA图像仿真系统的使用
我们无法使用modelsim软件对一帧或者几帧图像直接读入到modelsim软件系统里面或者使用modelsim直接输出一帧或者几帧图像,但是modelsim软件可以通过verilog代码读取或写出txt文件。同时matlab又是强大的图像处理工具,这就给我们提供了思路。
FPGA开源工作室
2019/10/29
1.5K0
基于FPGA图像仿真系统的使用
SUMO教程(九)
博客搬家了,新浪的博客实在是呵呵,广告多,而且技术性读者量少。这是第一篇在CSDN上写SUMO的博客。
钱塘小甲子
2019/01/29
9430
Ubuntu 12.04下安装SUMO(Simulation of Urban MObility)
SUMO是一个微观的、连续的道路交通仿真软件,主要由德国宇航中心开发。该软件始于2000年,其作为一个开源、微观道路交通仿真而开发的主要目的是给交通研究组织提供一个实现和评估自己算法的工具。本文详解在Ubuntu 12.04下安装SUMO 0.19.0。
知忆
2021/06/22
1K0
SUMO使用教程(一)
SUMO是一款交通仿真软件,其余可自行百度。教程一主要展示一下如何运行一个仿真实例。当然,这只是实现方法中的一种。 准备: 1.SUMO软件 2.osm地图文件 SUMO可去官网下载,解压后就可以使用,图形界面软是在解压后bin文件夹下的sumo-gui.exe。使用前最好设置环境变量SUMO_HOME。其实不设置似乎也可以使用,但是会有警告。刚刚接触,笔者也并不知道这一环境变量的作用。SUMO_HOME的内容就是安装文件的位置,也就是bin文件夹的上一级目录。 SUMO解压之后,作重要的是bin文件夹下的程序和tools文件夹下的程序。bin文件夹下大部分是可执行文件,但是并不像普通的可执行文件一样打开,而是需要用命令行打开,换句话说,整个功能程序并没有被包装起来,这是出于可裁剪和可维护性角度考虑的。tools下的工具则更多的是用phyton写的。 osm是一种地图信息文件,可以去openstreetmap官网下载。网址:http://www.openstreetmap.org/
钱塘小甲子
2019/01/29
4.8K0
SUMO使用教程(一)
基于ANSYS的水冷电机的热仿真
当前随着车辆交通工具地不断普及,电力驱动技术被广泛应用到车辆传动领域;而作为电驱动技术的核心部件,为了满足车辆传动的严格要求,除了应具有效率高、调速宽、结构紧凑等特点外,还应具足够竞争力的输出功率,以满足车辆的巨大动力需求。所以,车载驱动电机往往需要很高的电磁负荷设计,在运行过程中由于电磁产热、摩擦等产生大量的热,使电机中内部温度急剧升高,各零部件存在过温被烧毁或失效的风险,而驱动电机的运行环境温度较高、通风散热效果差、冷却介质温度高有大大增加了过温风险。因此,对电机进行精准的热特性分析和计算,设计合理有效的电机散热系统是十分必要的,其对于高功率密度电机性能的提升起着至关重要的作用。一般使用等效热阻来计算电机温升,但计算结果过于简单,无法输出精确的温度三维分布,满足实际电机设计需要,故本文以某水冷电机为计算对象,使用Ansys软件建立完善的电机热性能分析流程,为高功率电机热设计提供高精度的温升信息参考。
用户学习笔记
2022/06/14
12.1K0
Silvaco TCAD仿真流程和激光芯片仿真
•命令可以简写,以不与其他简写相冲突为原则,如“deposit”可以用“depo”取代
用户2760455
2022/06/08
1.4K0
Silvaco TCAD仿真流程和激光芯片仿真

相似问题

Lombok在LibGDX项目中未被识别

10

Lombok注解在Intellij下不识别

11

@Builder Lombok -继承

19

IntelliJ IDEA FXML未被正确识别

12

JUnit在IntelliJ中未被识别

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文