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

简介:

要查看Oracle数据库表空间大小,是否需要增加表空间的数据文件,在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问题比较常见。


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

Sql代码  

1
2
3
4
5
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
2
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;



 

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

Sql代码  

1
select   dbms_metadata.get_ddl( 'TABLESPACE' , 'MLOG_NORM_SPACE' )    from    dual;



 

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

Sql代码  

1
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  where   tablespace_name = 'MLOG_NORM_SPACE'

 

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

Sql代码  

1
alter   tablespace   MLOG_NORM_SPACE  drop  datafile  '/oracle/oms/oradata/mlog/Mlog_Norm_data001.dbf'

 


本文转自pizibaidu 51CTO博客,原文链接:http://blog.51cto.com/pizibaidu/1679749,如需转载请自行联系原作者

相关文章
|
8天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的控制文件与归档日志文件
本文介绍了Oracle数据库中的控制文件和归档日志文件。控制文件记录了数据库的物理结构信息,如数据库名、数据文件和联机日志文件的位置等。为了保护数据库,通常会进行控制文件的多路复用。归档日志文件是联机重做日志文件的副本,用于记录数据库的变更历史。文章还提供了相关SQL语句,帮助查看和设置数据库的日志模式。
【赵渝强老师】Oracle的控制文件与归档日志文件
|
8天前
|
Oracle 关系型数据库 数据库
【赵渝强老师】Oracle的参数文件与告警日志文件
本文介绍了Oracle数据库的参数文件和告警日志文件。参数文件分为初始化参数文件(PFile)和服务器端参数文件(SPFile),在数据库启动时读取并分配资源。告警日志文件记录了数据库的重要活动、错误和警告信息,帮助诊断问题。文中还提供了相关视频讲解和示例代码。
|
19天前
|
SQL Oracle 关系型数据库
Oracle数据库优化方法
【10月更文挑战第25天】Oracle数据库优化方法
26 7
|
19天前
|
Oracle 关系型数据库 数据库
oracle数据库技巧
【10月更文挑战第25天】oracle数据库技巧
22 6
|
19天前
|
存储 Oracle 关系型数据库
Oracle数据库优化策略
【10月更文挑战第25天】Oracle数据库优化策略
17 5
|
8天前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle的数据文件
在Oracle数据库中,数据库由多个表空间组成,每个表空间包含多个数据文件。数据文件存储实际的数据库数据。查询时,如果内存中没有所需数据,Oracle会从数据文件中读取并加载到内存。可通过SQL语句查看和管理数据文件。附有视频讲解及示例。
|
8天前
|
SQL 关系型数据库 MySQL
12 PHP配置数据库MySQL
路老师分享了PHP操作MySQL数据库的方法,包括安装并连接MySQL服务器、选择数据库、执行SQL语句(如插入、更新、删除和查询),以及将结果集返回到数组。通过具体示例代码,详细介绍了每一步的操作流程,帮助读者快速入门PHP与MySQL的交互。
23 1
|
10天前
|
SQL 关系型数据库 MySQL
go语言数据库中mysql驱动安装
【11月更文挑战第2天】
25 4
|
16天前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
83 1
|
19天前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
61 2

推荐镜像

更多