查看Oracle表空间Sql语句 本文档详细介绍了如何查看Oracle表空间,查询表空间使用情况,扩充表空间,删除表空间文件等详细sql。下面将对标题、描述、标签和部分内容中的知识点进行详细说明。 一、查看Oracle表空间 Oracle表空间是Oracle数据库中存储数据的逻辑存储单元。查看Oracle表空间的sql语句可以使用以下几个方法: 1. 查看表空间大小:使用以下sql语句可以查看表空间的大小: ``` SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 tablespace_size_M FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME; ``` 该sql语句使用 DBA_DATA_FILES 视图,计算每个表空间的总大小,并将其转换为MB单位。 2. 查看表空间剩余空间:使用以下sql语句可以查看表空间的剩余空间: ``` SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 TABSPACE_FREE_SIZE_M FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME; ``` 该sql语句使用 DBA_FREE_SPACE 视图,计算每个表空间的剩余空间,并将其转换为MB单位。 3. 查看表空间使用情况:使用以下sql语句可以查看表空间的使用情况: ``` SELECT a.tablespace_name, a.total, b.free, a.total-b.free used FROM ( SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 TOTAL FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME ) A, ( SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME ) B WHERE a.tablespace_name = b.tablespace_name; ``` 该sql语句使用 DBA_DATA_FILES 和 DBA_FREE_SPACE 视图,计算每个表空间的总大小和剩余空间,并计算出表空间的使用情况。 二、扩充表空间 扩充表空间可以使用以下sql语句: ``` ALTER TABLESPACE 表空间名称 ADD DATAFILE '文件路径' SIZE 文件大小; ``` 例如: ``` ALTER TABLESPACE MYTS ADD DATAFILE 'D:\ORACLE\ORADATA\MYTS01.DBF' SIZE 100M; ``` 该sql语句将为 MYTS 表空间添加一个新的数据文件,大小为100M。 三、删除表空间文件 删除表空间文件可以使用以下sql语句: ``` ALTER TABLESPACE 表空间名称 DROP DATAFILE '文件路径'; ``` 例如: ``` ALTER TABLESPACE MYTS DROP DATAFILE 'D:\ORACLE\ORADATA\MYTS01.DBF'; ``` 该sql语句将删除 MYTS 表空间中的文件 D:\ORACLE\ORADATA\MYTS01.DBF。 四、其他相关sql语句 1. 查看段落名称和大小: ``` SELECT segment_name, SUM(BYTES)/1024/1024 FROM USER_EXTENTS GROUP BY segment_name; ``` 该sql语句使用 USER_EXTENTS 视图,计算每个段落的大小,并将其转换为MB单位。 2. 查看会话信息: ``` SET TRIMSPOOL ON SET LINESIZE 2000 SET PAGESIZE 2000 SET NEWPAGE 1 SET HEADING OFF SET TERMOUT OFF SPOOL D:\EXP.TXT SELECT * FROM V$DATABASE; SPOOL OFF ``` 该sql语句使用 V$DATABASE 视图,输出数据库的信息,并将其保存到文件 D:\EXP.TXT 中。 3. 查看排序使用情况: ``` SELECT SE.USERNAME, SE.SID, SU.BLOCKS*TO_NUMBER(P.VALUE) AS SPACE, tablespace, segtype, sql_text FROM V$SORT_USAGES U, V$PARAMETER P, V$SESSIONS SE, V$SQLS WHERE P.NAME='db_block_size' AND SU.SESSION_ADDR=SE.SADDR AND S.HASH_VALUE=SU.SQL_HASH_VALUE; ``` 该sql语句使用 V$SORT_USAGES、V$PARAMETER、V$SESSIONS 和 V$SQLS 视图,计算每个会话的排序使用情况,并将其与数据库的其他信息关联起来。 本文档提供了多种查看Oracle表空间的sql语句,并对扩充表空间和删除表空间文件进行了详细说明。
--1.查看所有表空间大小
SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 tablespacesize_M FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME;
--2.未使用的表空间大小
SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 TABSPACE_FREE_SIZE_M FROM DBA_FREE_SPACE
group by TABLESPACE_NAME;
--3.所有使用空间可以这样计算
SELECT a.tablespace_name,a.total,b.free, a.total-b.free used from
( SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 TOTAL FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
( SELECT TABLESPACE_NAME,SUM(BYTES)/1024/1024 FREE FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) B
where a.tablespace_name=b.tablespace_name;
--4.下面这条语句查看所有段的大小
select segment_nam,sum(bytes)/1024/1024 from USER_EXTENTS GROUP BY segment_name;
--5.在命令行情况下如何将结果放到一个文件里 用到了telnet
SET TRIMSPOOL ON
SET LINESIZE 2000
SET PAGESIZE 2000
SET NEWPAGE 1
SET HEADING OFF
SET TERM OFF
SPOOL D:\EXP.TXT
SELECT * FROM V$DATABASE;
下载后可阅读完整内容,剩余3页未读,立即下载
- 粉丝: 2
- 资源: 19
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦