`
zhujiang520
  • 浏览: 147863 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

查询Oracle表空间信息

 
阅读更多
1.查看当前用户每个表占用空间的大小:
     Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name;

2.查看每个表空间占用空间的大小:
      Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name;

3.查询出当前用户的表所占用的空间大小,并按大小进行降序排列:
      Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name order by Sum(bytes)/1024/1024 desc;

4.查询出系统表空间的大小,并按大小进行降序排列(需要SYSDBA的权限):
      Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments Group By Tablespace_Name order by Sum(bytes)/1024/1024 desc;

5.服务器空间

[root@localhost ~]# df -h

Filesystem            容量    已用 可用 已用% 挂载点

/dev/mapper/VolGroup00-LogVol00

                       21G   16G 3.9G 80% /

/dev/mapper/VolGroup00-LogVol01

                       40G   38G 4.0M 100% /app

/dev/cciss/c0d0p1      99M   15M   80M 16% /boot

none                  3.9G     0 3.9G   0% /dev/shm

/app目录是oracle目录,总共40G,已经用了38G 使用了100%

6.oracle查询表空间使用情况语句

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
       D.TOT_GROOTTE_MB "表空间大小(M)",
       D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
       TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                     2),
               '990.99') "使用比",
       F.TOTAL_BYTES "空闲空间(M)",
       F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
               ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
               ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
          FROM SYS.DBA_FREE_SPACE
         GROUP BY TABLESPACE_NAME) F,
       (SELECT DD.TABLESPACE_NAME,
               ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
          FROM SYS.DBA_DATA_FILES DD
         GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 4 DESC;

或者

select
   f.tablespace_name,
    a.total,u.used,f.free,round((u.used/a.total)*100)"% used",
    round((f.free/a.total)*100) "% Free"
    from
    (select tablespace_name, sum(bytes/(1024*1024)) total from dba_data_files group by tablespace_name) a,
    (select tablespace_name, round(sum(bytes/(1024*1024))) used from dba_extents group by tablespace_name) u,
    (select tablespace_name, round(sum(bytes/(1024*1024))) free from dba_free_space group by tablespace_name) f
    WHERE a.tablespace_name = f.tablespace_name
   and a.tablespace_name = u.tablespace_name
分享到:
评论

相关推荐

    如何查询Oracle表空间和数据文件信息

    这个查询组合了`dba_free_space`(表空间的空闲空间)、`dba_data_files`(数据文件信息)和`dba_tablespaces`(所有表空间信息)这三个数据字典表,提供了关于表空间的详细信息。 二、查询Oracle数据库中数据文件...

    oracle表空间查询命令

    #### 二、查询表空间使用情况 为了有效地管理和监控Oracle数据库,了解各个表空间的使用情况至关重要。以下SQL查询语句可以帮助我们获取关于表空间的信息: ```sql SELECT fs.tablespace_name "Tablespace", (df....

    获取oracle表空间脚本

    在进行数据库备份与恢复的过程中,经常需要获取当前Oracle数据库中的表空间信息及其创建脚本。这样做的目的是为了确保在恢复过程中能够快速重建原有的数据库环境,包括表空间、用户以及其他数据库对象。本文将详细...

    oracle 查询表空间使用情况

    查询oracle表空间使用情况,表空间文件详情,创建或者变更表空间大小

    ORACLE表空间 状态查询语句

    - **DBA_FREE_SPACE**:这个视图包含了所有表空间的空闲空间信息。 - **BYTES**:表示空间大小的度量单位,1024 Bytes = 1 KB,1024 KB = 1 MB。 - **SUM()**:聚合函数,用于计算某一列的总和。 - **MAX()**:聚合...

    Oracle 表空间 收缩

    在开始任何操作前,我们首先需要查询表空间的当前使用情况。可以使用以下SQL语句来获取相关信息: ```sql SELECT total.tablespace_name, Round(total.MB,2) AS Total_MB, Round(total.MB-free.MB,2) AS Used_MB,...

    \Oracle 表空间与数据文件

    通过以上内容,我们详细了解了Oracle中的表空间与数据文件的概念、分类以及它们在Oracle数据库存储结构中的作用,并学习了如何通过SQL查询来查看和管理这些表空间和数据文件。这对于管理和优化Oracle数据库的性能至...

    oracle查看表空间表信息

    ### Oracle 查看表空间表信息 在Oracle数据库管理中,了解如何查看表空间表信息是一项重要的技能。这有助于DBA(数据库管理员)或开发人员更好地理解数据库结构、优化查询性能以及进行必要的维护工作。 #### 标题...

    oracle查询表碎片

    ### Oracle查询表碎片知识点详解 在Oracle数据库管理与优化的过程中,了解并处理表碎片是非常重要的一个环节。本文将详细介绍如何通过SQL查询来检测Oracle表的碎片情况,并对给出的SQL查询语句进行深入解析。 ####...

    oracle 表空间创建

    "Oracle 表空间创建" Oracle 表空间创建是 Oracle 数据库中的一种基本操作,它允许用户创建一个或多个表空间,以存储数据库中的数据。表空间是 Oracle 数据库的基本存储单元,每个表空间都可以包含多个数据文件和...

    oracle表空间容量查询

    ### Oracle表空间容量查询知识点详解 #### 一、Oracle数据库中的表空间概念 在Oracle数据库中,表空间是逻辑存储单元,它将物理文件映射到数据库对象上。每个数据库至少包含一个表空间,默认情况下为SYSTEM表空间...

    Oracle临时表空间满的解决步骤

    解决 Oracle 临时表空间满的问题需要通过查看当前数据库的默认临时表空间、查看当前临时表空间的大小、创建新的临时表空间、将新建的临时表空间设置为数据库的默认临时表空间、删除原来的临时表空间、创建新的临时表...

    oracle表空间命令语句大全

    Oracle 表空间命令语句大全提供了 Oracle 数据库管理的重要操作,包括建立表空间、建立 UNDO 表空间、建立临时表空间、改变表空间状态、删除表空间、扩展表空间和查看表空间信息等。这些命令对于 Oracle 数据库管理...

    oracle表空间相关查询语句

    oracle表空间相关查询语句-查询表空间大小,表空间剩余大小,表空间使用大小,表空间大小(G),表空间剩余大小(G),表空间使用大小(G),使用率 %,查看Oracle用户占了哪几个表空间及大小

    Oracle多个表空间合并成一个表空间,验证通过

    此查询返回的信息包括每个段的名称、所属的表空间名称以及段的类型(例如表、索引等)。 ##### 第二步:筛选非目标表空间 接下来,我们需要找到不属于目标表空间(这里是`HGZDZX_GZNZJY`)的所有表空间。使用如下 ...

    查询一个Oracle表所占的物理空间大小

    2. **使用DBMS_SPACE.TOTAL_SPACE**:这是一个Oracle提供的包,可以用来查询表空间中使用的空间大小。例如: ```sql SELECT DBMS_SPACE.TOTAL_SPACE('FILE_LOG') AS total_space; ``` 3. **使用DBMS_SPACE.COUNT...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    在Oracle数据库系统中,表空间(Tablespace)是存储数据对象(如表、索引、视图等)的逻辑单位,而临时表空间(Temporary Tablespace)则用于存储临时数据,比如排序或联接操作产生的中间结果。创建和管理表空间及...

    oracle表空间碎片整理

    利用DBMS_SPACE包对Oracle 表碎片进行监控与清理,

    ORACLE查询表空间大小

    帮助您查看oracle的表空间大小,已使用百分比,剩余大小,总大小,表空间名

    oracle表空间详解

    Oracle 表空间详解 Oracle 表空间是 Oracle 数据库中一个非常重要的概念,它是数据库中存储空间的逻辑概念。由于 Oracle 数据库可以存储大量的数据,但是数据文件大小受操作系统的限制,而过大的数据文件对数据的...

Global site tag (gtag.js) - Google Analytics