查看Oracle表空间Sql语句
来源:互联网 发布:什么是3g 4g网络 编辑:程序博客网 时间:2024/04/19 19:40
--查看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;
spool off
--6.查看当前正在使用的临时表空间大小
SELECT SE.USERNAME,SE.SID,SU.BLOCKS*TO_NUMBER(RTRIM(P.VALUE)) AS SPACE,
tablespace,segtype,sql_text
FROM V$SORT_USAGE SU,V$PARAMETER P,V$SESSION SE,V$SQL S
WHERE P.NAME='db_block_size'
AND SU.SESSION_ADDR=SE.SADDR
AND S.HASH_VALUE=SU.SQLHASH
AND S.ADDRESS=SU.SQLADDR
order by se.username,se.sid;
--7.查询所有的表空间
SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;
--8.查看表空间中分布的用户信息
SELECT TABLESPACE_NAME,OWNER,SUM(BYTES) FROM DBA_SEGMENTS
GROUP BY TABLESPACE_NAME,OWNER;
--9.查看表空间已经使用的百分比
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"表示已经使用的百分比
--10.比如从9中查看到MLOG_NORM_SPACE表空间已使用百分比达到90%以上,可以查看该表空间总共有几个数据文件
--每个数据文件是否自动扩展,可以自动扩展的最大值
SELECT FILE_NAME,TABLESPACE_NAME,BYTES/1024/1024 "byte MB" ,MAXBYTES/1024/1024 "maxbytes MB" FROM DBA_DATA_FILES
where tablespace_name='EXAMPLE';
--11.查看xxx表空间是否为自动扩展
SELECT FILE_ID,FILE_NAME,TABLESPACE_NAME,AUTOEXTENSIBLE,INCREMENT_BY FROM DBA_DATA_FILES
order by file_id desc;
--12.比如MLOG_NORM_SAPCE表空间目前的大小为19G,但是最大每个数据文件只能为20GB,数据文件快要写满,
--可以境加表空间的数据文件,用操作系统unix,linux中的df -g命令
--获取创建表空间的语句
SELECT DBMS_METADATA.GET_DDL('TABLESPACE','EXAMPLE') from dual;
--13.确认磁盘空间足够,增加一个数据文件
ALTER TABLESPACE MLOG_NORM_SPACE
ADD DATAFILE '/orace/Mlog_Norm_data001.dbf'
SIZE 10M AUTOEXTEND ON MAXSIZE 20G;
--14.验证已经增加的数据文件
SELECT FILE_NAME,FILE_ID,TABLESPACE_NAME FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME='MLOG_NORM_SPACE';
--15.删除表空间数据文件
ALTER TABLESPACE MLOG_NORM_SPACE
drop datafile '/orace/Mlog_Norm_data001.dbf';
--16.确定控制文件的名称与大小
select name,block_size*file_size_blks bytes from v$controlfile;
--17.确定联机重做日志文件成员的名称和大小
select member,bytes from v$log join v$logfile using(group#);
--18.确定数据文件和临时文件的名称和大小
SELECT NAME,BYTES FROM V$DATAFILE
- 查看Oracle表空间Sql语句
- Oracle查看sql表空间使用情况语句
- 查看Oracle表空间使用情况SQL语句
- Oracle DBA--查看表空间的使用情况SQL语句
- Oracle DBA--查看表空间的使用情况SQL语句
- oracle查看数据库表空间使用情况sql语句
- Oracle DBA--查看表空间的使用情况SQL语句
- oracle查看表空间sql
- Oracle查看用户默认表空间使用情以及手动扩展表空间sql语句
- 查看表占用空间的sql语句
- 查看表空间使用情况sql语句
- Oracle 查看表空间的大小及使用情况sql语句(oracle数据库维护精品)
- 查看oracle中哪些SQL语句在执行和给定表空间数据量增长
- Oracle创建表空间、创建用户以及授权、查看权限常用sql语句
- Oracle 查看表空间的大小及使用情况sql语句
- Oracle 查看表空间的大小和使用情况sql语句
- Oracle 查看表空间的大小及使用情况sql语句
- Oracle 查看表空间的大小及使用情况sql语句
- 我的近期学习目标
- jQuery插件汇总(待添加)
- struts2.1、struts2.3 getJson区别
- ios 7 唯一标识的问题
- 奥卡姆剃刀原则
- 查看Oracle表空间Sql语句
- vb.net链接ACCESS在xp下可以,在win7 64位下连接不上
- Maven管理Oracle JDBC驱动
- GDB指令——读取符号表
- aspcms后台美化
- oracle 创建用户,表空间授权等操作
- linux驱动学习(八) i2c驱动架构 i2c驱动分析
- 十进制经纬度与经纬度度分秒之间的互相转换
- MYSQL设置远程用户连接