如何查看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,如需转载请自行联系原作者

相关文章
|
1月前
|
存储 人工智能 Cloud Native
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
在9月20日2024云栖大会上,阿里云智能集团副总裁,数据库产品事业部负责人,ACM、CCF、IEEE会士(Fellow)李飞飞发表《从数据到智能:Data+AI驱动的云原生数据库》主题演讲。他表示,数据是生成式AI的核心资产,大模型时代的数据管理系统需具备多模处理和实时分析能力。阿里云瑶池将数据+AI全面融合,构建一站式多模数据管理平台,以数据驱动决策与创新,为用户提供像“搭积木”一样易用、好用、高可用的使用体验。
云栖重磅|从数据到智能:Data+AI驱动的云原生数据库
|
17天前
|
存储 监控 数据处理
flink 向doris 数据库写入数据时出现背压如何排查?
本文介绍了如何确定和解决Flink任务向Doris数据库写入数据时遇到的背压问题。首先通过Flink Web UI和性能指标监控识别背压,然后从Doris数据库性能、网络连接稳定性、Flink任务数据处理逻辑及资源配置等方面排查原因,并通过分析相关日志进一步定位问题。
142 61
|
3天前
|
关系型数据库 MySQL 数据库
数据库数据恢复—MYSQL数据库文件损坏的数据恢复案例
mysql数据库文件ibdata1、MYI、MYD损坏。 故障表现:1、数据库无法进行查询等操作;2、使用mysqlcheck和myisamchk无法修复数据库。
|
15天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—Oracle数据库文件有坏快损坏的数据恢复案例
一台Oracle数据库打开报错,报错信息: “system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。管理员联系我们数据恢复中心寻求帮助,并提供了Oracle_Home目录的所有文件。用户方要求恢复zxfg用户下的数据。 由于数据库没有备份,无法通过备份去恢复数据库。
|
21天前
|
存储 Oracle 关系型数据库
oracle数据恢复—Oracle数据库文件大小变为0kb的数据恢复案例
存储掉盘超过上限,lun无法识别。管理员重组存储的位图信息并导出lun,发现linux操作系统上部署的oracle数据库中有上百个数据文件的大小变为0kb。数据库的大小缩水了80%以上。 取出&并分析oracle数据库的控制文件。重组存储位图信息,重新导出控制文件中记录的数据文件,发现这些文件的大小依然为0kb。
|
8天前
|
存储 Oracle 关系型数据库
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
Oracle 关系型数据库 数据库
为Oracle数据库表创建自动增长序列及Oracle的常见操作
在SQL Server中,建立表字段自动增长,可以使用 identity(1,1)实现,但是在Oracle没有这样的函数,我们必须得为其创建序列(Sequence),方法如下:   --创建t...
927 0
|
2月前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
185 64
|
2天前
|
存储 Oracle 关系型数据库
数据库数据恢复—ORACLE常见故障的数据恢复方案
Oracle数据库常见故障表现: 1、ORACLE数据库无法启动或无法正常工作。 2、ORACLE ASM存储破坏。 3、ORACLE数据文件丢失。 4、ORACLE数据文件部分损坏。 5、ORACLE DUMP文件损坏。
30 11

推荐镜像

更多