oracle分割槽表學習(一)

Nalternative發表於2011-02-09

          表或索引的所有分割槽必須具備相同的邏輯結構,例如列名(column name),資料型別(datatype),及資料約束(constraint)等,但每個分割槽的物理屬性可以不同,例如 pctfree,pctused,及表空間等。
         一個分割槽物件的所有分割槽必須儲存在資料塊容量(block size)相同的表空間中。

分割槽表分割槽在不同的表空間上:

SQL> CREATE TABLESPACE MYTEST1 DATAFILE 'F:\oracle\product\MYTEST1.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 128K;
Tablespace created
SQL> CREATE TABLESPACE MYTEST2  DATAFILE 'F:\oracle\product\MYTEST2.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 100K;
Tablespace created

--建立分割槽表

SQL> CREATE TABLE sales
  2      ( invoice_no NUMBER,
  3        sale_year  INT NOT NULL,
  4        sale_month INT NOT NULL,
  5        sale_day   INT NOT NULL )
  6    PARTITION BY RANGE (sale_year, sale_month, sale_day)
  7      ( PARTITION sales_q1 VALUES LESS THAN (1999, 04, 01)
  8      TABLESPACE MYTEST1,
  9      PARTITION sales_q4 VALUES LESS THAN (2000, 01, 01)
 10      TABLESPACE MYTEST2 );
 
Table created

SQL> CREATE TABLESPACE MYTEST3  DATAFILE 'F:\oracle\product\MYTEST3.DBF' SIZE 10M EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 128K blocksize 2048
  2  segment space management auto;
 
Tablespace created
 
SQL> DROP TABLE  sales;
 
Table dropped
 
SQL>
SQL> CREATE TABLE sales
  2      ( invoice_no NUMBER,
  3        sale_year  INT NOT NULL,
  4        sale_month INT NOT NULL,
  5        sale_day   INT NOT NULL )
  6    PARTITION BY RANGE (sale_year, sale_month, sale_day)
  7      ( PARTITION sales_q1 VALUES LESS THAN (1999, 04, 01)
  8      TABLESPACE MYTEST1,
  9      PARTITION sales_q4 VALUES LESS THAN (2000, 01, 01)
 10      TABLESPACE MYTEST3 );
 
CREATE TABLE sales
    ( invoice_no NUMBER,
      sale_year  INT NOT NULL,
      sale_month INT NOT NULL,
      sale_day   INT NOT NULL )
  PARTITION BY RANGE (sale_year, sale_month, sale_day)
    ( PARTITION sales_q1 VALUES LESS THAN (1999, 04, 01)
    TABLESPACE MYTEST1,
    PARTITION sales_q4 VALUES LESS THAN (2000, 01, 01)
    TABLESPACE MYTEST3 )
 
ORA-14519: 與 table  的表空間塊大小存在衝突: 表空間 MYTEST3 的塊大小 2048 [partition specification] 與以前指定/隱含的表空間 MYTEST1 的塊大小 8192 [partition specification] 發生衝突
 
        9i以後還提供了可以設定多種資料塊尺寸(2、4、8、16 或 32k)的buffer cache,以便存放不同資料塊尺寸的表空間中的物件。使用初始化引數:db_Nk_cache_size來指定不同資料塊尺寸的buffer cache,這裡的N就是2、4、8、16 或 32。建立資料庫時,使用初始化引數:db_block_size所指定預設的資料塊尺寸用於system表空間。然後可以指定最多4個不同資料塊尺寸的表空間,每種資料塊尺寸的表空間必須對應一種不同尺寸的buffer cache,否則不能建立不同資料塊尺寸的表空間。
參考:http://download.oracle.com/docs/cd/B19306_01/server.102/b14231/create.htm#sthref373

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

相關文章