Oracle 扩容表空间

Posted Withfeel

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

   

关于临时表空间

   

   

   

以上是关于Oracle 扩容表空间的主要内容,如果未能解决你的问题,请参考以下文章

oracle表空间扩容方法

oracle表空间到32G后扩容

Oracle 扩容表空间

oracle 表空间扩容方法

oracle数据库表空间扩容方法

[oracle]表空间情况查看占用扩容使用情况空间维护等操作