IT虾米网

oracle扩展表空间详解

lxf 2021年09月18日 数据库 259 0
本文章主要介绍了oracle扩展表空间,具有不错的的参考价值,希望对您有所帮助,如解说有误或未考虑完全的地方,请您留言指出,谢谢!

1.  查看表空间的名字及文件所在的位置

select tablespace_name, 
       file_id, 
       file_name, 
       round(bytes / (1024 * 1024), 0) total_space 
  from sys.dba_data_files 
 order by tablespace_name;

2.  指定表空间查看数据文件目录

select name from v$datafile where ts# in (select ts# from v$tablespace where name='USERS');

3.  查询表名,空间大小,已使用情况及闲余空间

SELECT UPPER(F.TABLESPACE_NAME) "表空间名", 
D.TOT_GROOTTE_MB "表空间大小(M)", 
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", 
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比", 
F.TOTAL_BYTES "空闲空间(M)", 
F.MAX_BYTES "最大块(M)" 
FROM (SELECT TABLESPACE_NAME, 
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES, 
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES 
FROM SYS.DBA_FREE_SPACE 
GROUP BY TABLESPACE_NAME) F, 
(SELECT DD.TABLESPACE_NAME, 
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB 
FROM SYS.DBA_DATA_FILES DD 
GROUP BY DD.TABLESPACE_NAME) D 
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME 
ORDER BY 1;

4.  指定表空间查看使用率

select b.tablespace_name "表空间",b.bytes/1024/1024 "大小M", (b.bytes-sum(nvl(a.bytes,0)))/1024/1024 "已使用M", substr((b.bytes-sum(nvl(a.bytes,0)))/(b.bytes)*100,1,5) "利用率" from dba_free_space a,dba_data_files b where a.file_id=b.file_id and b.tablespace_name='USERS' group by b.tablespace_name,b.file_name,b.bytes order by b.tablespace_name;

5.  查询表空间信息

select username,default_tablespace,t.* from dba_users t

6.  查询表空间使用情况

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) "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;

7.  查看剩余空间

select group_number,name,total_mb,free_mb from v$asm_diskgroup;

8.  Oracle表空间扩容

表空间最大为:32GB 
alter database datafile '表空间位置' resize 新的尺寸 
 
操作: 
指定的路径由表空间位置所在 
alter tablespace USERS add datafile '/u01/odata/db/ausers13.dbf' size 30G autoextend on; 
 
例: 
+DATA/icdc/datafile/data.268.902365317 
 
扩展空间 
alter database datafile '+DATA' size 20G;

温馨提示:本文由自己记录,仅作参考,出了问题概不负责。。。。。


发布评论
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

Oracle数据泵数据迁移详解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。