如何为ORACLE表空间或临时表空间增加数据文件?

来源:互联网 发布:安庆市网络广播电视 编辑:程序博客网 时间:2024/06/06 07:40

经常会遇到数据表文件存储满了,数据库连接不上,如何为表空间增加新的数据文件呢?

分析:
1. 查询表空间剩余字节大小
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"
  FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME = '&tablespace_name'
GROUP BY TABLESPACE_NAME;
注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACE
SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
  FROM DBA_TEMP_FREE_SPACE
WHERE TABLESPACE_NAME = '&tablespace_name';

2. 如果不知道表空间数据文件目录规划,可以先查询出表空间所有数据文件
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"
  FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = '&tablespace_name';

注:如果是临时表空间,请查询DBA_TEMP_FILES
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
  FROM DBA_TEMP_FILES
WHERE TABLESPACE_NAME = '&tablespace_name';

3. 为空间不足的表空间增加数据文件
ALTER TABLESPACE 表空间名称 ADD DATAFILE '数据文件存放路径' SIZE 2G;
注:如果要为临时表空间扩容,使用下面的语句
ALTER TABLESPACE 临时表空间名称 ADD TEMPFILE '临时表空间存放路径' SIZE 2G;