Bo's Oracle Station

查看: 2618|回复: 0

课程第58/59次(2017-07-22星期六上下午)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-7-22 15:35:09 | 显示全部楼层 |阅读模式
上完1Z0-053第15章,开始1Z0-053第18章
1Z0-052
19章(上完19章),1Z0-05321章(上完20章)和1Z0-063多租户部分共9章(上完0章)
总共上完全部49章中的39


行迁移与行链接:
  1. [oracle@station26 ~]$ sqlplus /nolog

  2. SQL*Plus: Release 12.1.0.2.0 Production on Sat Jul 22 15:12:43 2017

  3. Copyright (c) 1982, 2014, Oracle.  All rights reserved.

  4. SQL> conn hr/oracle_4U
  5. Connected.
  6. SQL> create table t05318_chain(a varchar2(2000), b varchar2(2000), c varchar2(2000), d varchar2(2000));

  7. Table created.

  8. SQL> insert into t05318_chain(a) values('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa');

  9. 1 row created.

  10. SQL> commit;

  11. Commit complete.

  12. SQL> update t05318_chain  set b='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

  13. 1 row updated.

  14. SQL> commit;

  15. Commit complete.

  16. SQL> update t05318_chain set c='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

  17. 1 row updated.

  18. SQL> commit;

  19. Commit complete.

  20. SQL> select dbms_rowid.rowid_block_number ( rowid ) from t05318_chain;

  21. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  22. ------------------------------------
  23.                               671621

  24. SQL> @?/rdbms/admin/utlchain.sql

  25. Table created.

  26. SQL> set linesize 1000
  27. SQL> select  * from CHAINED_ROWS;

  28. no rows selected

  29. SQL> analyze table t05318_chain list chained rows;

  30. Table analyzed.

  31. SQL> select  * from CHAINED_ROWS;

  32. no rows selected

  33. SQL> update t05318_chain set d='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa';

  34. 1 row updated.

  35. SQL> commit;

  36. Commit complete.

  37. SQL>  select dbms_rowid.rowid_block_number ( rowid ) from t05318_chain;

  38. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  39. ------------------------------------
  40.                               671621

  41. SQL> analyze table t05318_chain list chained rows;

  42. Table analyzed.

  43. SQL> select  * from CHAINED_ROWS;

  44. OWNER_NAME                                                                                                                         TABLE_NAME                                                                                                                          CLUSTER_NAME   PARTITION_NAME                                                                                                                    SUBPARTITION_NAME                                                                                                                     HEAD_ROWID         ANALYZE_TIMESTAMP
  45. -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ------------------ ------------------
  46. HR                                                                                                                                 T05318_CHAIN                                                                                                                                            N/A                                                                                                                              AAAX4cAAGAACj+FAAA 22-JUL-17

  47. SQL>  truncate table CHAINED_ROWS;

  48. Table truncated.

  49. SQL> alter table t05318_chain  move tablespace tbs16k;

  50. Table altered.

  51. SQL> analyze table t05318_chain list chained rows;

  52. Table analyzed.

  53. SQL> select  * from CHAINED_ROWS;

  54. no rows selected

  55. SQL>
复制代码

行迁移:
  1. SQL> create table t05318_migrate( a varchar2(2000))  pctfree 0;

  2. Table created.

  3. SQL> begin
  4.    for i in 1..733
  5.    loop
  6.       insert into  t05318_migrate values('A');
  7.     end loop;
  8.     commit;  2    3    4    5    6  
  9.   7  end;
  10.   8  /

  11. PL/SQL procedure successfully completed.

  12. SQL> select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  13.   2   group by dbms_rowid.rowid_block_number(rowid);

  14. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  15. ------------------------------------ ----------
  16.                               671621            733

  17. SQL> begin
  18.   2  for i in 1..100
  19.   3  loop
  20.   4  insert into  t05318_migrate values('B');
  21.   5  end loop;
  22.   6  commit;
  23.   7  end;
  24.   8  /

  25. PL/SQL procedure successfully completed.

  26. SQL>  select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  27.   2   group by dbms_rowid.rowid_block_number(rowid);

  28. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  29. ------------------------------------ ----------
  30.                               671622            100
  31.                               671621            733

  32. SQL> delete from t05318_migrate where A='B';

  33. 100 rows deleted.

  34. SQL> commit;

  35. Commit complete.

  36. SQL> select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  37.   2  group by dbms_rowid.rowid_block_number(rowid);

  38. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  39. ------------------------------------ ----------
  40.                               671621            733

  41. SQL> select  * from chained_rows;

  42. no rows selected

  43. SQL> analyze table t05318_migrate  list chained rows;

  44. Table analyzed.

  45. SQL>  select  * from chained_rows;

  46. no rows selected

  47. SQL> update t05318_migrate set a='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' where rownum=1;

  48. 1 row updated.

  49. SQL> commit;

  50. Commit complete.

  51. SQL> analyze table t05318_migrate  list chained rows;

  52. Table analyzed.

  53. SQL> select  * from chained_rows;

  54. OWNER_NAME                                                                                                                         TABLE_NAME                                                                                                                          CLUSTER_NAME   PARTITION_NAME                                                                                                                    SUBPARTITION_NAME                                                                                                                     HEAD_ROWID         ANALYZE_TIMESTAMP
  55. -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------- ------------------ ------------------
  56. HR                                                                                                                                 T05318_MIGRATE                                                                                                                                     N/A                                                                                                                              AAAX4gAAGAACj+FAAA 22-JUL-17

  57. SQL> select a from t05318_migrate where rowid='AAAX4gAAGAACj+FAAA';

  58. A
  59. ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  60. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
  61. aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa


  62. SQL> select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  63.   2  group by dbms_rowid.rowid_block_number(rowid);

  64. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  65. ------------------------------------ ----------
  66.                               671621            733

  67. SQL> alter table t05318_migrate move tablespace users;

  68. Table altered.

  69. SQL> select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  70.   2  group by dbms_rowid.rowid_block_number(rowid);

  71. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  72. ------------------------------------ ----------
  73.                               671635            730
  74.                               671636              3

  75. SQL> alter table t05318_migrate pctfree 10;

  76. Table altered.

  77. SQL> alter table t05318_migrate move tablespace users;

  78. Table altered.

  79. SQL> select  dbms_rowid.rowid_block_number(rowid) , count(*)  from t05318_migrate
  80.   2   group by dbms_rowid.rowid_block_number(rowid);

  81. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)   COUNT(*)
  82. ------------------------------------ ----------
  83.                               671619            657
  84.                               671620             76

  85. SQL> truncate table chained_rows;

  86. Table truncated.

  87. SQL> analyze table t05318_migrate  list chained rows;

  88. Table analyzed.

  89. SQL> select  * from chained_rows;

  90. no rows selected

  91. SQL>
复制代码
不可用索引,没有段:
  1. SQL> conn / as sysdba
  2. Connected.
  3. SQL> show parameter deffer
  4. SQL> show parameter defer

  5. NAME                                     TYPE         VALUE
  6. ------------------------------------ ----------- ------------------------------
  7. deferred_segment_creation             boolean         TRUE
  8. SQL> !clear


  9. SQL> conn hr/oracle_4U
  10. Connected.
  11. SQL> create table tpart1 (  a   number   , b varchar2(20))
  12.   2  partition by range (a)
  13.   3  (
  14.   4   partition p1 values less than (100),
  15.   5   partition p2 values less than (maxvalue) ) ;

  16. Table created.

  17. SQL> insert into tpart1 values (100,'A') ;

  18. 1 row created.

  19. SQL> insert into tpart1 values (1,'A') ;

  20. 1 row created.

  21. SQL>


复制代码

Screenshot.png

  1. select  * from dba_segments s
  2. where s.SEGMENT_NAME='TPART1';

  3. select  * from dba_indexes i
  4.   where i.INDEX_NAME='IOT1_INDEX';
  5.   
  6.   select  * from dba_segments s where s.SEGMENT_NAME
  7.     in ('IOT1','IOT1_INDEX');
  8.         
  9.         select  * from dba_Tables t
  10.          where t.TABLE_NAME='IOT1';
复制代码
  1. SQL> create index ipart1_a  on tpart1(a) local ;

  2. Index created.
复制代码
  1. SQL>  alter table tpart1 move  partition p1  tablespace example ;

  2. Table altered.

  3. SQL> alter index ipart1_a rebuild partition p1 ;

  4. Index altered.
复制代码
  1. SELECT segment_name, partition_name, segment_type
  2. FROM  dba_segments
  3. WHERE segment_name  like '%PART1%';
复制代码
索引的压缩:
  1. SQL> conn hr/hr     
  2. Connected.
  3. SQL> create table t1 ( a  char(2000)) ;

  4. Table created.

  5. SQL> select bytes  from user_segments where segment_name='T1';

  6.      BYTES
  7. ----------
  8.      65536
  9. SQL> begin
  10.   2    for i in 1..1000
  11.   3    loop
  12.   4       insert into t1 values ( 'A');
  13.   5   end loop;
  14.   6   commit;
  15.   7   end;
  16.   8  /

  17. PL/SQL procedure successfully completed.

  18. SQL> select bytes  from user_segments where segment_name='T1';

  19.      BYTES
  20. ----------
  21.    3145728

  22. SQL> create index i1 on t1 (a) ;

  23. Index created.

  24. SQL> select bytes  from user_segments where segment_name='I1';

  25.      BYTES
  26. ----------
  27.    4194304

  28. SQL> drop index i1;

  29. Index dropped.

  30. SQL> create index i1 on t1 (a) compress;

  31. Index created.

  32. SQL> select bytes  from user_segments where segment_name='I1';

  33.      BYTES
  34. ----------
  35.      65536


复制代码
  1. SQL> select  index_name, index_type , COMPRESSION  from user_indexes where index_name='I1';

  2. INDEX_NAME                       INDEX_TYPE                   COMPRESS
  3. ------------------------------ --------------------------- --------
  4. I1                               NORMAL                           ENABLED
复制代码
表空间的默认压缩:
  1. SQL*Plus: Release 12.1.0.2.0 Production on Sat Jul 22 17:09:04 2017

  2. Copyright (c) 1982, 2014, Oracle.  All rights reserved.

  3. SQL> conn / as sysdba
  4. Connected.
  5. SQL> create tablespace tbs_query datafile size 10M autoextend on default compress for query;
  6. create tablespace tbs_query datafile size 10M autoextend on default compress for query
  7. *
  8. ERROR at line 1:
  9. ORA-64307:  Exadata Hybrid Columnar Compression is not supported for
  10. tablespaces on this storage type


  11. SQL> create tablespace tbs_archive datafile size 10M autoextend on default compress for archive;
  12. create tablespace tbs_archive datafile size 10M autoextend on default compress for archive
  13. *
  14. ERROR at line 1:
  15. ORA-64307:  Exadata Hybrid Columnar Compression is not supported for
  16. tablespaces on this storage type


  17. SQL> !clear


  18. SQL> conn hr/oracle_4U
  19. Connected.
  20. SQL> create table t_nocompression (a varchar2(200)) tablespace tbs_nocompression;

  21. Table created.

  22. SQL> create table t_basic (a varchar2(200)) tablespace tbs_basic;

  23. Table created.

  24. SQL> create table t_oltp (a varchar2(200)) tablespace tbs_oltp;

  25. Table created.

  26. SQL> begin
  27.    for i in 1..400
  28.    loop
  29.       insert into t_nocompression values('AAAAAAAAAAAAAAAAAAAA');
  30.    end loop;
  31.    commit;
  32. end;  2    3    4    5    6    7  
  33.   8  /

  34. PL/SQL procedure successfully completed.

  35. SQL> begin
  36.    for i in 1..400
  37.    loop
  38.       insert into t_basic values('AAAAAAAAAAAAAAAAAAAA');
  39.    end loop;
  40.    commit;
  41. end;  2    3    4    5    6    7  
  42.   8  /

  43. PL/SQL procedure successfully completed.

  44. SQL> begin
  45.    for i in 1..400
  46.    loop
  47.       insert into t_oltp values('AAAAAAAAAAAAAAAAAAAA');
  48.    end loop;
  49.    commit;
  50. end;    2    3    4    5    6    7  
  51.   8  /

  52. PL/SQL procedure successfully completed.
复制代码
  1. select  t.tablespace_name,
  2.             t.def_tab_compression,
  3.                         t.compress_for  from dba_tablespaces t;

  4.                         
  5. create tablespace tbs_nocompression datafile size 10M autoextend on;

  6. create tablespace tbs_basic datafile size 10M autoextend on default compress basic;

  7. create tablespace tbs_oltp datafile size 10M autoextend on default compress for oltp;

  8. create tablespace tbs_query datafile size 10M autoextend on default compress for query;

  9. create tablespace tbs_archive datafile size 10M autoextend on default compress for archive;        

  10. ---
  11. select  t.tablespace_name, t.def_tab_compression, t.compress_for  from dba_tablespaces t
  12. where t.tablespace_name in ('TBS_NOCOMPRESSION',
  13.                                                   'TBS_BASIC', 'TBS_OLTP',
  14.                                                    'TBS_QUERY',
  15.                                                    'TBS_ARCHIVE');
  16.                                                                                                    
  17.                                                                                                    -----
  18. select  t.TABLE_NAME, t.PCT_FREE , t.COMPRESSION , t.COMPRESS_FOR, t.TABLESPACE_NAME
  19. from dba_tables t where t.TABLE_NAME   in ('T_NOCOMPRESSION','T_BASIC','T_OLTP');
  20.         
复制代码
  1. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_nocompression  group by  substr(rowid, 10, 6 );

  2.   COUNT(*) SUBSTR(ROWID,10,6)
  3. ---------- ------------------------
  4.        121 AAAACD
  5.        279 AAAACH

  6. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_basic  group by  substr(rowid, 10, 6 );

  7.   COUNT(*) SUBSTR(ROWID,10,6)
  8. ---------- ------------------------
  9.         90 AAAACD
  10.        310 AAAACH

  11. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_oltp  group by  substr(rowid, 10, 6 );

  12.   COUNT(*) SUBSTR(ROWID,10,6)
  13. ---------- ------------------------
  14.        400 AAAACH
复制代码
  1. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',
  2.                                         tabname => 'T_NOCOMPRESSION',row_id => rowid)
  3.       from hr.T_NOCOMPRESSION
  4.            group by     dbms_compression.get_compression_type(ownname => 'HR',
  5.                      tabname => 'T_NOCOMPRESSION',row_id => rowid);
  6.                                  
  7.                                  
  8. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',
  9.                                         tabname => 'T_BASIC',row_id => rowid)
  10.       from hr.T_BASIC
  11.            group by     dbms_compression.get_compression_type(ownname => 'HR',
  12.                      tabname => 'T_BASIC',row_id => rowid)                ;        
  13.                                  
  14. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',
  15.                                         tabname => 'T_OLTP',row_id => rowid)
  16.       from hr.T_OLTP
  17.            group by     dbms_compression.get_compression_type(ownname => 'HR',
  18.                      tabname => 'T_OLTP',row_id => rowid)                ;                        
复制代码
  1. SQL> create table t_basic2 (a varchar2(200)) tablespace tbs_nocompression compress;

  2. Table created.

  3. SQL> create table t_oltp2 (a varchar2(200)) tablespace tbs_nocompression compress for oltp;

  4. Table created.

  5. SQL> begin
  6.    for i in 1..400
  7.    loop
  8.       insert into t_basic2 values('AAAAAAAAAAAAAAAAAAAA');
  9.    end loop;
  10.    commit;
  11. end;  2    3    4    5    6    7  
  12.   8  /

  13. PL/SQL procedure successfully completed.

  14. SQL> begin
  15.    for i in 1..400
  16.    loop
  17.       insert into t_oltp2 values('AAAAAAAAAAAAAAAAAAAA');
  18.    end loop;
  19.    commit;
  20. end;  2    3    4    5    6    7  
  21.   8  /

  22. PL/SQL procedure successfully completed.

  23. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_basic2  group by  substr(rowid, 10, 6 );

  24.   COUNT(*) SUBSTR(ROWID,10,6)
  25. ---------- ------------------------
  26.        310 AAAACP
  27.         90 AAAACL

  28. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_oltp2  group by  substr(rowid, 10, 6 );

  29.   COUNT(*) SUBSTR(ROWID,10,6)
  30. ---------- ------------------------
  31.        400 AAAACX

  32. SQL>
复制代码
  1. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_BASIC2',row_id => rowid)
  2.       from hr.T_BASIC2 group by     dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_BASIC2',row_id => rowid);
  3. --sys--      
  4. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_OLTP2',row_id => rowid)
  5.       from hr.T_OLTP2 group by     dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_OLTP2',row_id => rowid);
复制代码
  1. SQL> alter table t_nocompression compress for oltp;

  2. Table altered.

  3. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_nocompression  group by  substr(rowid, 10, 6 );   

  4.   COUNT(*) SUBSTR(ROWID,10,6)
  5. ---------- ------------------------
  6.        121 AAAACD
  7.        279 AAAACH

  8. SQL> begin
  9.    for i in 1..400
  10.    loop
  11.       insert into t_nocompression values('AAAAAAAAAAAAAAAAAAAA');
  12.    end loop;
  13.    commit;
  14. end;   2    3    4    5    6    7  
  15.   8  /

  16. PL/SQL procedure successfully completed.

  17. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_nocompression  group by  substr(rowid, 10, 6 );

  18.   COUNT(*) SUBSTR(ROWID,10,6)
  19. ---------- ------------------------
  20.        279 AAAACD
  21.        242 AAAACE
  22.        279 AAAACH

  23. SQL> alter table t_nocompression move tablespace tbs_nocompression;

  24. Table altered.

  25. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_nocompression  group by  substr(rowid, 10, 6 );

  26.   COUNT(*) SUBSTR(ROWID,10,6)
  27. ---------- ------------------------
  28.        148 AAAACc
  29.        652 AAAACb

  30. SQL>
复制代码
  1. select  t.TABLE_NAME, t.PCT_FREE , t.COMPRESSION , t.COMPRESS_FOR, t.TABLESPACE_NAME
  2. from dba_tables t where t.TABLE_NAME   in ('T_NOCOMPRESSION','T_BASIC','T_OLTP');

  3. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_NOCOMPRESSION',row_id => rowid)
  4.    from hr.T_NOCOMPRESSION  group by     dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_NOCOMPRESSION',row_id => rowid);  
  5.    
  6.    ---
  7.    
复制代码
  1. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_basic  group by  substr(rowid, 10, 6 );

  2.   COUNT(*) SUBSTR(ROWID,10,6)
  3. ---------- ------------------------
  4.         90 AAAACD
  5.        310 AAAACH

  6. SQL> insert /*+ append */ into t_basic select  * from  t_basic;

  7. 400 rows created.

  8. SQL> commit;

  9. Commit complete.

  10. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_basic  group by  substr(rowid, 10, 6 );

  11.   COUNT(*) SUBSTR(ROWID,10,6)
  12. ---------- ------------------------
  13.        400 AAAACI
  14.         90 AAAACD
  15.        310 AAAACH

  16. SQL> alter table t_basic move tablespace  TBS_NOCOMPRESSION;

  17. Table altered.

  18. SQL> select  count(*)  , substr(rowid, 10, 6 ) from hr.t_basic  group by  substr(rowid, 10, 6 );

  19.   COUNT(*) SUBSTR(ROWID,10,6)
  20. ---------- ------------------------
  21.        725 AAAACD
  22.         75 AAAACE
复制代码
  1. select   count(*)  ,    dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_BASIC',row_id => rowid)
  2.       from hr.T_BASIC group by     dbms_compression.get_compression_type(ownname => 'HR',tabname => 'T_BASIC',row_id => rowid);
复制代码
  1. SQL> create table hr.t_basic_big compress as select  * from dba_source;

  2. Table created.
复制代码

Screenshot-1.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-11-22 00:29 , Processed in 0.047334 second(s), 28 queries .

快速回复 返回顶部 返回列表