oracle扩展表空间

一:查看表空间的名字及文件所在位置

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


二:查询表空间信息

select username,default_tablespace,t.* from dba_users t

 三:查询当前表空间下使用情况

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;

从查询结果看出,这个表空间已经满了,存不下任何东西,这样我们需要进行扩展表空间;

四:根据要求,我们需要将这个表空间扩展到4G

alter database datafile '表空间位置' resize 新的尺寸

alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\XYSHARE\SGSHARE.DBF' resize 4096m

当然还有其余别的方法增加表空间大小。暂时 只接触这一种,以后会补上。

五:增加后在查询表空间的大小,看看是不是增加了表空间大小。

六:根据相同的表空间名比较是否扩容过,比较下

select  b.file_name 物理文件名, 
  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 
  group by b.tablespace_name,b.file_name,b.bytes 
  order by b.tablespace_name;

发布了25 篇原创文章 · 获赞 4 · 访问量 1万+
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览