一.oracle查看资源使用情况
1.1 查看表空间使用情况
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;
1.2 查看空间占用多的表或索引
----登录表空间对象查看每个表占用表空间大小;
SELECT
segment_name 对象,
segment_type 对象类型,
bytes / 1024 / 1024 MB,
tablespace_name 表空间名称
FROM
user_segments
ORDER BY
bytes DESC;
1.3 查看用户下各表所占的空间
select OWNER, t.segment_name, t.segment_type, sum(t.bytes / 1024 / 1024) MB
from dba_segments t
where t.owner = 'YAJWMS'
and t.segment_type='TABLE'
group by OWNER, t.segment_name, t.segment_type
order by MB desc;
二、表、表空间、用户的关系查询
2.1 查看表空间有哪些用户的数据
select distinct owner from dba_segments where tablespace_name ='&TABLE_NAME';
2.2 查看表空间里有哪些表;
select TABLE_NAME,TABLESPACE_NAME from dba_tables where TABLESPACE_NAME='&TABLE_NAME';
2.3 查看用户属于哪个表空间;
select username,default_tablespace from dba_users where username='YAJWMS';
2.4 查看表属于哪个表空间及用户对象;
select owner,tablespace_name from dba_tables where table_name='ET_HD_ORDER';
2.5 查看表空间的数据文件路径;
select * from dba_data_files t where t.tablespace_name = 'APPD'
三、表空间的扩展
3.1 方案一扩展表空间
---扩展表空间大小
alter database datafile '+YAJDATA/yianju/datafile/appd.dbf' resize 500M
----自增长设置;
alter database datafile '+YAJDATA/yianju/datafile/appd.dbf' autoextend onnext 50m maxsize 500m;
---增加数据文件;
alter tablespace `表空间名字` add datafile '+YAJDATA/yianju/datafile/appd.dbf' size 500M;
alter tablespace `表空间名字` add datafile '+YAJDATA/yianju/datafile/appd.dbf' size 500M autoextend on;
3.2 方案二移动至其它表空间
alter table ins.app_iops_dev_daily_nj move tablespace TBS_OSSMOB_ANDROID;
alter index index_name rebuild tablespace tablespace_name;--如果有索引的话必须重建索引
表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resize datafile,一般数据文件不要超过2G
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。