`
thinktothings
  • 浏览: 780308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

阅读更多

--查看表的数量  

Select * From user_segments where segment_type='TABLE' and tablespace_name='OA';

 

 

SELECT segment_type,segment_name AS TABLENAME,t.tablespace_name,t.partition_name,t.max_extents/1024/1024  "max_extents(M)",  

  

           BYTES B,  

  

           BYTES / 1024 KB,  

  

           BYTES / 1024 / 1024 MB,

            BYTES / 1024 / 1024/1024 G

  

  

FROM user_segments t

where segment_type='TABLE' and tablespace_name='OA';

 


--查看每个表空间的大小
Select t.bytes/1024/1024/1024 bytes,t.* From Dba_Segments t where Tablespace_Name='CTBS_STAT' order by  t.bytes desc ;

 


--单位 MB
select   a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" 
from 
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,  
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b  
where   a.tablespace_name=b.tablespace_name  
order   by   ((a.bytes-b.bytes)/a.bytes)   desc  ;

--单位 GB

select   a.tablespace_name,a.bytes/1024/1024/1024 "Sum GB",(a.bytes-b.bytes)/1024/1024/1024   "used GB",b.bytes/1024/1024/1024 "free GB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" 
from 
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,  
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b  
where   a.tablespace_name=b.tablespace_name  
order   by   ((a.bytes-b.bytes)/a.bytes)   desc  ;

 

 

 

 

 

 

 

 

 

 

http://suan2046.iteye.com/blog/379539

 

 

 

 

 Oracle10g10.2.0.1.0
标题:查看Oracle数据库表空间大小,是否需要增加表空间的数据文件

   在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。

 

--1查看表空间已经使用的百分比

 

Sql代码 复制代码 收藏代码
  1. select   a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"  
  2. from  
  3. (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,   
  4. (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b   
  5. where   a.tablespace_name=b.tablespace_name   
  6. order   by   ((a.bytes-b.bytes)/a.bytes)   desc  
select   a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"
from
(select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,
(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b
where   a.tablespace_name=b.tablespace_name
order   by   ((a.bytes-b.bytes)/a.bytes)   desc

 

 

“Sum MB”表示表空间所有的数据文件总共在操作系统占用磁盘空间的大小


比如:test表空间有2个数据文件,datafile1为300MB,datafile2为400MB,那么test表空间的“Sum MB”就是700MB
“userd MB”表示表空间已经使用了多少
“free MB”表示表空间剩余多少
“percent_user”表示已经使用的百分比

 

--2比如从1中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数

据文件,每个数据文件是否自动扩展,可以自动扩展的最大值。

Sql代码 复制代码 收藏代码
  1. select   file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB"   from   dba_data_files   
  2.   where tablespace_name='MLOG_NORM_SPACE';  
select   file_name,tablespace_name,bytes/1024/1024 "bytes MB",maxbytes/1024/1024 "maxbytes MB"   from   dba_data_files
  where tablespace_name='MLOG_NORM_SPACE';

--2.1 查看 xxx 表空间是否为自动扩展 

  

Sql代码 复制代码 收藏代码
  1. select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc;  
select file_id,file_name,tablespace_name,autoextensible,increment_by from dba_data_files order by file_id desc;

 

 

--3比如MLOG_NORM_SPACE表空间目前的大小为19GB,但最大每个数据文件只能为20GB,数据文件快要写满,可以增加表空间的数据文件
用操作系统UNIX、Linux中的df   -g命令(查看下可以使用的磁盘空间大小)
获取创建表空间的语句:

Sql代码 复制代码 收藏代码
  1. select   dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE')   from   dual;  
select   dbms_metadata.get_ddl('TABLESPACE','MLOG_NORM_SPACE')   from   dual;

 


--4确认磁盘空间足够,增加一个数据文件

Sql代码 复制代码 收藏代码
  1. alter   tablespace   MLOG_NORM_SPACE   
  2. add   datafile   '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'  
  3. size   10M   autoextend   on   maxsize   20G  
alter   tablespace   MLOG_NORM_SPACE
add   datafile   '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'
size   10M   autoextend   on   maxsize   20G

 

 


--5验证已经增加的数据文件

Sql代码 复制代码 收藏代码
  1. select   file_name,file_id,tablespace_name   from   dba_data_files   
  2. where   tablespace_name='MLOG_NORM_SPACE'  
select   file_name,file_id,tablespace_name   from   dba_data_files
where   tablespace_name='MLOG_NORM_SPACE'

 

 

--6如果删除表空间数据文件,如下:

 

Sql代码 复制代码 收藏代码
  1. alter   tablespace   MLOG_NORM_SPACE   
  2. drop    datafile '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'  

 

分享到:
评论

相关推荐

    oracle数据库表空间监控实用脚本

    Oracle数据库中的表空间是数据文件的逻辑容器,用于存储数据、索引等数据库对象。为了确保数据库的高效运行,对表空间进行监控至关重要。本文将详细介绍几个实用的SQL脚本,帮助您更好地监控Oracle数据库中的表空间...

    Oracle数据库空间的使用和管理

    例如DBA_FREE_SPACE视图用于查看表空间的空闲空间,ALTER TABLESPACE命令用于增加或减少表空间的大小,以及ALTER TABLE命令来重定义或移动段的位置以优化空间使用。此外,可以使用DBMS_SPACE包中的过程来分析和管理...

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

    在Oracle数据库管理中,了解和监控表空间及数据文件的状态对于数据库管理员至关重要。表空间是数据库逻辑结构的一部分,它将数据库对象与物理存储关联起来。本文将详细介绍如何查询Oracle数据库中的表空间和数据文件...

    查询oracle表以及统计数据库的使用情况

    通过定期执行这样的查询,数据库管理员可以及时调整表空间大小,增加或删除数据文件,或者优化存储策略,以确保数据库高效稳定地运行。 总结来说,查询Oracle表空间使用情况是数据库管理的关键环节,涉及到表空间的...

    oracle 数据库表空间巡检步骤

    要了解表空间的使用情况,包括已使用空间、空闲空间以及使用率,可以执行以下查询: ```sql SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_...

    Oracle数据库表空间巡检指令

    扩展表空间数据文件: ```sql ALTER TABLESPACE SYSTEM ADD DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\HICON\SYSTEM03.DBF' SIZE 100M AUTOEXTEND ON; ``` 该SQL语句用于向指定的表空间(本例中为“SYSTEM”)添加...

    oracle新手入门指导之一——数据库表空间知识.txt

    - **表空间(Tablespace)**:表空间是Oracle数据库中的最高级逻辑存储单元,每个表空间由一个或多个数据文件组成,用于存储数据库中的对象。 - **数据文件(Datafile)**:每个表空间至少包含一个数据文件,这些...

    Oracle数据库的空间使用和管理方法

    数据库空间被逻辑地划分为多个表空间,每个表空间由一个或多个物理数据文件组成。数据存储的基本单位是块,其大小在创建数据库时由DB_BLOCK_SIZE参数设定。连续的块组成区片(EXTENT),作为数据对象存储的基本单位...

    oracle表空间查询命令

    #### 三、表空间数据文件的查询 除了查看表空间的整体使用情况外,有时还需要了解表空间中具体的数据文件信息。可以使用以下查询语句: ```sql SELECT tablespace_name, file_id, file_name, ROUND(bytes / (1024 ...

    oracle定时删除表空间的数据并释放表空间

    1. **Oracle 表空间(Tablespaces)**:表空间是Oracle数据库中存储数据的基本单位,它由一个或多个数据文件组成。每个表、索引和其他对象都会被分配到特定的表空间中。理解表空间的工作原理对于管理数据库空间至关...

    Oracle 表空间 收缩

    - **表空间**(Tablespace):Oracle数据库中的逻辑存储单元,由一个或多个数据文件组成。 - **数据文件**(Data File):表空间的具体物理实现,每个表空间至少包含一个数据文件。 - **段**(Segment):表空间中...

    oracle 查看表空间使用情况

    通过以下查询可以查看数据文件是否开启自动扩展: ```sql SELECT file_name, tablespace_name, bytes / 1024 / 1024 "bytes MB", maxbytes / 1024 / 1024 "maxbytes MB" FROM dba_data_files WHERE tablespace_name...

    Oracle数据库表空间收缩方法探讨.pdf

    表空间是Oracle数据库逻辑结构的一部分,由一个或多个数据文件构成,用来存储数据库对象,如表和索引。随着数据库操作的进行,表空间的大小会随着数据的增删而变化。然而,删除数据并不会立即减少表空间的占用,这...

    Oracle数据库.pdf

    - `ADD DATAFILE`增加表空间的新数据文件,可以指定初始大小、自动扩展设置和最大大小。 - 删除数据文件可通过`ALTER DATABASE DATAFILE`命令,但要注意这也会导致数据丢失,需谨慎操作。 这些是Oracle数据库管理...

    oracle创建表空间用户等

    - 查询当前数据文件是否开启了自动扩展功能: ```sql SELECT FILE_NAME, TABLESPACE_NAME, AUTOEXTENSIBLE FROM dba_data_files; ``` - 开启数据文件的自动扩展功能: ```sql ALTER DATABASE DATAFILE 'c:\...

    Oracle数据库的空间使用分析及其管理.pdf

    Oracle数据库的空间主要由表空间(Tablespaces)组成,表空间是数据库中用于存储数据文件的逻辑单位,它可以包含一个或多个数据文件。表空间内的数据被组织成段(Segments),段是由一个或多个范围(Extents)组成的...

    oracle表空间查看

    通过求和每个表空间中的空闲空间并转换为MB,我们可以得出每个表空间已被使用的空间大小。 #### 四、计算表空间的使用情况 要获得每个表空间的使用详情(包括总大小、空闲大小及已使用大小),可以使用如下SQL语句...

    Oracle 查看表空间的大小及使用情况sql语句

    在Oracle数据库管理中,了解表空间的大小及使用情况至关重要,因为这有助于监控数据库的存储利用率,及时规划和调整存储分配。以下是一些用于检查Oracle表空间状态的关键SQL语句,以及它们的功能详解: 1. **查看表...

    zabbix利用orabbix-1.2.3监控oracle数据库-及表空间

    ### 使用orabbix-1.2.3监控Oracle数据库与表空间 #### 一、概述 在IT运维领域,对数据库的健康状态进行实时监控是非常重要的。Oracle作为一款广泛使用的数据库管理系统,其性能和稳定性对于企业的业务运行至关重要...

Global site tag (gtag.js) - Google Analytics