您的位置:首页 > 博客中心 > 数据库 >

Oracle 扩容表空间

时间:2022-03-15 18:26

system用户登陆oracle

首先查看表空间对应的数据文件位置以及大小

select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;

以下是查询到所有表空间对应的数据文件位置

技术图片

SELECT a.tablespace_name "表空间名",

total "表空间大小",

free "表空间剩余大小",

(total - free) "表空间使用大小",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

以下是查询到对应表空间的使用情况

技术图片

? ?

将表空间SYSAUX由0.45G扩展到3GB

执行以下命令

alter database datafile ‘/u01/app/oracle/12/oradata/orcl/sysaux01.dbf‘ resize 3096m;

执行完毕

技术图片

重新查询表空间大小

? ?

SELECT a.tablespace_name "表空间名",

total "表空间大小",

free "表空间剩余大小",

(total - free) "表空间使用大小",

total / (1024 * 1024 * 1024) "表空间大小(G)",

free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

(total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

round((total - free) / total, 4) * 100 "使用率 %"

FROM (SELECT tablespace_name, SUM(bytes) free

FROM dba_free_space

GROUP BY tablespace_name) a,

(SELECT tablespace_name, SUM(bytes) total

FROM dba_data_files

GROUP BY tablespace_name) b

WHERE a.tablespace_name = b.tablespace_name

? ?

? ?

技术图片

? ?

以上方法适用于原表空间数据文件所在目录有足够的存储空间使用时,如果原表空间数据文件所在目录没有足够的存储空间可用时,我们需要为表空间增加数据文件,以下问增加数据文件的slq语句

注意,通过增加数据文件来扩大表空间的操作需要oracle用户对数据文件所在目录有读写权限。

为UNDOTBS1表空间添加5G的存储文件

使用以下命令

alter tablespace UNDOTBS1 add datafile ‘/oracledata/UNDOTBS1.dbf‘ size 5120m;

? ?

关于临时表空间

? ?

? ?

? ?

本类排行

今日推荐

热门手游