Oracle表空间不足的处理方法

1、查看表空间使用情况

SELECT A.TABLESPACE_NAME "表空间名称",
       A.BYTES / 1024 / 1024 "总大小(MB)",
       round(B.BYTES / 1024 / 1024, 1) "已使用(MB)",
       round(C.BYTES / 1024 / 1024, 1) "未使用(MB)",
       round((B.BYTES * 100) / A.BYTES, 2) "使用率(%)",
       round((C.BYTES * 100) / A.BYTES, 2) "空闲率(%)"
  FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C
 WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
   AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;

2、查看数据文件是否自动增长

SELECT FILE_NAME "数据文件",
       ROUND(BYTES / 1024 / 1024 / 1024) "当前大小(GB)",
       AUTOEXTENSIBLE "是否自动增长"
  FROM DBA_DATA_FILES T
 WHERE T.TABLESPACE_NAME = 'TEST';

是否自动增长 字段为YES的为自动增长,看它数据文件是否块达到32G,如果快要到32G了,就算是数据是自动增长也已经是极限了,需增加数据文件 ,将快要到32g自动增长的数据文件设置成不让自动增长。

3、关闭数据文件自动增长(数据文件路径及以实际环境为准)

ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/test/test01.dbf' AUTOEXTEND OFF;

4、增加新的数据文件(数据文件路径及大小以实际环境为准)

ALTER TABLESPACE TEST ADD DATAFILE '/u01/app/oracle/oradata/test/test02.dbf' SIZE 5G AUTOEXTEND ON NEXT 10M;

 

你可能感兴趣的:(Oracle日常管理,Oracle日常管理)