ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g的shrink space功能还是不错的!

10g的shrink space功能还是不错的!

原创 Linux操作系统 作者:warehouse 时间:2006-12-05 00:00:00 0 删除 编辑
10g的shrink space功能还是不错的!

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

SQL> desc t
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------

A CHAR(1000)

SQL> truncate table t;

表被截断。

SQL> insert into t values('a');

已创建 1 行。

SQL> insert into t values('b');

已创建 1 行。

SQL> insert into t values('c');

已创建 1 行。

SQL> insert into t values('d');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
a AAACnmAAHAAAAAKAAA
b AAACnmAAHAAAAAKAAB
c AAACnmAAHAAAAAKAAC
d AAACnmAAHAAAAALAAA

SQL> delete from t where a in ('a' , 'b');

已删除2行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnmAAHAAAAAKAAC
d AAACnmAAHAAAAALAAA

SQL> alter table t shrink space cascade;
alter table t shrink space cascade
*
第 1 行出现错误:
ORA-10635: Invalid segment or tablespace type

SQL> select tablespace_name , segment_space_management from dba_tablespaces;

TABLESPACE_NAME SEGMEN
------------------------------ ------
SYSTEM MANUAL
UNDOTBS1 MANUAL
SYSAUX AUTO
TEMP MANUAL
USERS AUTO
PERFSTAT AUTO
TEST AUTO
TEST1 MANUAL

已选择8行。

SQL> select table_name , tablespace_name from user_tables where table_name='T';

TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
T TEST1

SQL> alter table t move tablespace users;

表已更改。

SQL>

SQL> alter table t shrink space;
alter table t shrink space
*
第 1 行出现错误:
ORA-10636: ROW MOVEMENT is not enabled


SQL> alter table t enable row movement;

表已更改。

SQL> alter table t shrink space;

表已更改。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnnAAEAAAACEAAA
d AAACnnAAEAAAACEAAB

SQL> insert into t values('e');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnrAAEAAAACEAAA
d AAACnrAAEAAAACEAAB
e AAACnrAAEAAAACHAAA

SQL> insert into t values('f');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnrAAEAAAACEAAA
d AAACnrAAEAAAACEAAB
e AAACnrAAEAAAACHAAA
f AAACnrAAEAAAACHAAB

SQL> insert into t values('g');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnrAAEAAAACEAAA
d AAACnrAAEAAAACEAAB
e AAACnrAAEAAAACHAAA
f AAACnrAAEAAAACHAAB
g AAACnrAAEAAAACHAAC

SQL> insert into t values('h');

已创建 1 行。

SQL> commit;

提交完成。

SQL> select substr(a , 1 , 1) , rowid from t ;

SU ROWID
-- ------------------
c AAACnrAAEAAAACEAAA
d AAACnrAAEAAAACEAAB
e AAACnrAAEAAAACHAAA
f AAACnrAAEAAAACHAAB
g AAACnrAAEAAAACHAAC
h AAACnrAAEAAAACHAAD

已选择6行。

SQL>
......
主要是验证一下hwm之上的空间并不能通过这种方式shrink!

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/19602/viewspace-61707/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-07

  • 博文量
    717
  • 访问量
    5144576