應用9i新特性:在資料庫中使用不同塊大小的表空間

husthxd發表於2004-09-30

 待續


 

平臺:windows 2000 sp3

DB Oracle 9.0.1.1.1

 

statspack對資料庫進行效能監測發現Top 1等待事件是db file sequential read,在增大資料庫表、索引的freelists後,效能改變不大。由於該資料庫的標準塊大小為4k,使用的資料庫版本是bug多多的901,所以保持業務表資料不變,規劃使用16k的表空間來存放大表的索引(就算出錯,重建索引即可)。

 

-- 首先配置初始化引數並建立表空間

sql>conn / as sysdba

sql>alter system set db_16k_cache_size=100m scope=both;

sql>create tablespace global_gryszm_index_16k datafile ‘%ORADATA%global_gryszm_index_16k_ 01.dbf’ size 1000m blocksize 16k;

我們來看看塊大小變化前索引的統計資訊

column index_name format a30

select

index_name    ,

num_rows      ,

avg_leaf_blocks_per_key       l_blocks,

avg_data_blocks_per_key        d_blocks,

clustering_factor                     cl_fac,

blevel

from user_indexes

where table_name = ‘JF_YLYSZM’

/

 

INDEX_NAME                                                     NUM_ROWS   L_BLOCKS  D_BLOCKS CL_FAC         BLEVEL

IDX_JF_YLYSZM_DWID00_JZNYUE                      24902405                      7                 24             1266585            3

IDX_JF_YLYSZM_GMSFHM                                   24812266                      1                 101            20646456             3

IDX_JF_YLYSZM_GRBH00_NYUE00                         24812266                      1                 1               22685500             3

PRIMARYKEY_YLYSZM                                          24443477                      1                 1               24443474             3

UNIQUE_YLYSZM                                                24474797                      1                 1               22338997             3

 

透過線上rebuild索引把索引move到新的表空間上:

sql>alter index IDX_JF_YLYSZM_DWID00_JZNYUE reduild online tablespace global_gryszm_index_16k;

sql>alter index IDX_JF_YLYSZM_GMSFHM reduild online tablespace global_gryszm_index_16k;

sql>alter index IDX_JF_YLYSZM_GRBH00_NYUE00 reduild online tablespace global_gryszm_index_16k;

sql>alter index PRIMARYKEY_YLYSZM reduild online tablespace global_gryszm_index_16k;

sql>alter index UNIQUE_YLYSZM reduild online tablespace global_gryszm_index_16k;

 

塊大小變化後索引的統計資訊:

column index_name format a30

select

index_name    ,

num_rows      ,

avg_leaf_blocks_per_key       l_blocks,

avg_data_blocks_per_key        d_blocks,

clustering_factor                     cl_fac,

blevel

from user_indexes

where table_name = ‘JF_YLYSZM’

/

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-21556/,如需轉載,請註明出處,否則將追究法律責任。

相關文章