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;

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

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


alter database datafile '表空间位置' resize 新的尺寸
alter database datafile 'D:\APP\ADMINISTRATOR\ORADATA\XYSHARE\SGSHARE.DBF' resize 4096m

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

四:

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

sgshare已经增加到了4G的大小。可以正常传输数据。





posted @ 2018-10-10 15:56  迷途的小码农  阅读(45000)  评论(2编辑  收藏  举报