Oracle教程之管理表(五)--Oracle表空间回收
原创
©著作权归作者所有:来自51CTO博客作者Oracle小混子的原创作品,请联系作者获取转载授权,否则将追究法律责任
1、原始表结构信息
06:49:50 SQL> analyze table emp1 compute statistics;
Table analyzed.
06:50:00 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:50:18 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 91 5 14336
2、delete删除部分记录
06:50:48 SQL> DELETE from emp1 where deptno=30;
6144 rows deleted.
06:50:53 SQL> select count(*) from emp1;
COUNT(*)
----------
8192
06:51:03 SQL> analyze table emp1 compute statistics;
Table analyzed.
06:51:08 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:51:11 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 91 5 8192
3、利用move 释放空间
06:51:49 SQL> alter table emp1 move;
Table altered.
06:51:53 SQL> analyze table emp1 compute statistics;
Table analyzed.
06:51:57 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:52:01 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 53 3 8192
4、利用 shrink space 释放空间
06:52:03 SQL> DELETE from emp1 where deptno=10;
4096 rows deleted.
06:52:28 SQL> select count(*) from emp1;
COUNT(*)
----------
4096
06:52:33 SQL> analyze table emp1 compute statistics;
Table analyzed.
06:52:36 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:52:39 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 53 3 4096
06:53:36 SQL> alter table emp1 shrink space;
alter table emp1 shrink space
*
ERROR at line 1:
ORA-10636: ROW MOVEMENT is not enabled
06:53:56 SQL> alter table emp1 enable row movement;
Table altered.
06:54:15 SQL> alter table emp1 shrink space;
Table altered.
06:54:42 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:54:46 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 53 3 4096
06:54:48 SQL> analyze table emp1 compute statistics
06:54:57 2 ;
Table analyzed.
06:54:58 SQL> select table_name,blocks,empty_blocks,num_rows from user_tables
06:55:01 2 where table_name='EMP1';
TABLE_NAME BLOCKS EMPTY_BLOCKS NUM_ROWS
---------- ---------- ------------ ----------
EMP1 22 10 4096
CUUG
更多oracle视频教程请点击:http://crm2.qq.com/page/portalpage/wpa.php?uin=800060152&f=1&ty=1&aty=0&a=&from=6
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Oracle 删除表空间回收磁盘空间
表空间被删除后,表空间的数据文件并不会被系统回收并释放,所以还需要手工删除它。3、再次查询表空间的数据库文件对应表空间名称是否还存在
oracle 数据库 sql 表空间 SQL -
Oracle回收磁盘空间
关于回收数据文件的一些事情
表空间 oracle 问题解决方法 -
oracle 回收表空间的数据文件大小
查看表空间的使用情况: 回收表空间数据文件 执行回收reize数据文件的sql
oracle 表空间 sed