如何在oracle中把被自动增长的表空间的缩小到理想的位置
2012-12-04 18:26
253 查看
我在导入别个的表的时候 不小心没有指定表空间,结果导入到默认的表空间,一下子把我 C盘装满了 。先找到你被自增长的表空间的。删除里面的表并且recycle bin中的都要清除,还有你建的索引之类的都清楚了,删除表空间下没有用的表和索引。
SELECT CEIL(MAX_BLOCK * BLOCK_SIZE / 1024)
FROM (SELECT MAX(BLOCK_ID) MAX_BLOCK
FROM DBA_EXTENTS
WHERE FILE_ID IN (SELECT FILE_ID
FROM DBA_DATA_FILES D
WHERE D.TABLESPACE_NAME = '表空间的名字')) M,
(SELECT VALUE / 1024 BLOCK_SIZE
FROM V$PARAMETER
WHERE NAME = 'db_block_size') B
查询表空间的实际使用的数量。
SELECT A.TABLESPACE_NAME,
FILENUM,
TOTAL "TOTAL (MB)",
F.FREE "FREE (MB)",
TO_CHAR(ROUND(FREE * 100 / TOTAL, 2), '990.00') "FREE%",
TO_CHAR(ROUND((TOTAL - FREE) * 100 / TOTAL, 2), '990.00') "USED%",
ROUND(MAXSIZES, 2) "MAX (MB)"
FROM (SELECT TABLESPACE_NAME,
COUNT(FILE_ID) FILENUM,
SUM(BYTES / (1024 * 1024)) TOTAL,
SUM(MAXBYTES) / 1024 / 1024 MAXSIZES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024))) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE A.TABLESPACE_NAME = F.TABLESPACE_NAME
查询你所有的表空间的使用情况。
然后缩小你表空间 alter database datafile 'F:\app\you\oradata\orcl\USERS01.DBF' resize 1024m;
SELECT CEIL(MAX_BLOCK * BLOCK_SIZE / 1024)
FROM (SELECT MAX(BLOCK_ID) MAX_BLOCK
FROM DBA_EXTENTS
WHERE FILE_ID IN (SELECT FILE_ID
FROM DBA_DATA_FILES D
WHERE D.TABLESPACE_NAME = '表空间的名字')) M,
(SELECT VALUE / 1024 BLOCK_SIZE
FROM V$PARAMETER
WHERE NAME = 'db_block_size') B
查询表空间的实际使用的数量。
SELECT A.TABLESPACE_NAME,
FILENUM,
TOTAL "TOTAL (MB)",
F.FREE "FREE (MB)",
TO_CHAR(ROUND(FREE * 100 / TOTAL, 2), '990.00') "FREE%",
TO_CHAR(ROUND((TOTAL - FREE) * 100 / TOTAL, 2), '990.00') "USED%",
ROUND(MAXSIZES, 2) "MAX (MB)"
FROM (SELECT TABLESPACE_NAME,
COUNT(FILE_ID) FILENUM,
SUM(BYTES / (1024 * 1024)) TOTAL,
SUM(MAXBYTES) / 1024 / 1024 MAXSIZES
FROM DBA_DATA_FILES
GROUP BY TABLESPACE_NAME) A,
(SELECT TABLESPACE_NAME, ROUND(SUM(BYTES / (1024 * 1024))) FREE
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F
WHERE A.TABLESPACE_NAME = F.TABLESPACE_NAME
查询你所有的表空间的使用情况。
然后缩小你表空间 alter database datafile 'F:\app\you\oradata\orcl\USERS01.DBF' resize 1024m;
相关文章推荐
- 如何在oracle中设置字段自动增长
- 如何在oracle中设置字段自动增长
- oracle 创建用户,表空间,给权限,设置表空间自动增长
- 如何让Oracle表字段自动增长
- oracle-如何让表的一个列自动增长
- Oracle如何更改表空间的数据文件位置详解
- oracle ORA-01653 表空间不能自动增长的原因及处理方法
- 如何在oracle中设置字段自动增长
- oracle如何设置序列自动增长
- Oracle 如何将已经扩充的表空间缩小
- 如何让Oracle表字段自动增长
- 如何实现oracle中的某个字段自动增长
- oracle 创建用户,表空间,给权限,设置表空间自动增长
- ora-01652问题 oracle 如何缩小和重建temp表空间的数据文件
- oracle中如何设置主键并且让其自动增长
- 如何让Oracle表字段自动增长
- 如何给DataGrid添加自动增长列
- 如何改变表空间文件存放的位置
- 在Oracle、MySQL、MS SQL Server中创建自动增长字段
- oracle 表空间 不足时如何处理