Oracle 扩容表空间

system用户登陆oracle

https://blog.csdn.net/zyingpei/article/details/88870693

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

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;

? ?

关于临时表空间

? ?

? ?

? ?

相关文章