ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle分区表学习(一)

oracle分区表学习(一)

原创 Linux操作系统 作者:Nalternative 时间:2011-02-09 19:34:58 0 删除 编辑

          表或索引的所有分区必须具备相同的逻辑结构,例如列名(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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-02-09

  • 博文量
    123
  • 访问量
    174258