Oracle如何扩展表空间

时间:2023-03-09 00:52:30
Oracle如何扩展表空间

一:

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

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

Oracle如何扩展表空间

--查询表空间信息

select username,default_tablespace,t.* from dba_users t

Oracle如何扩展表空间

二:

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

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;

Oracle如何扩展表空间

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

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


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

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

四:

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

Oracle如何扩展表空间

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