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#;

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

Oracle 扩容表空间

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

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

Oracle 扩容表空间

   

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

执行以下命令

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

执行完毕

Oracle 扩容表空间

重新查询表空间大小

   

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

   

   

Oracle 扩容表空间

   

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

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

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

使用以下命令

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

   

关于临时表空间

   

   

   

上一篇:Oracle 整库备份还原


下一篇:oracle 查询表空间