eygle.com   eygle.com
eygle.com  
 

« 曲曲折折后的满座高朋 - 记与孟静之小聚 | Blog首页 | David.Guo的DBA招聘启示 地点广州 »

关于分区表与唯一索引的测试记录

关于分区表与唯一索引,以下是一点测试记录。

非分区字段不能创建Local Unique索引:
SQL> connect eygle/eygle
Connected.
SQL> CREATE TABLE docinfo(
  2  docid    NUMBER ,
  3  docsz    NUMBER ,
  4  CONSTRAINT uk_docid UNIQUE(docid) USING INDEX LOCAL)
  5  PARTITION BY RANGE(docsz)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));
CREATE TABLE docinfo(
*
ERROR at line 1:
ORA-14039: partitioning columns must form a subset of key columns of a UNIQUE index

当然此时可以创建全局Unique索引:
SQL> CREATE TABLE docinfo(
  2  docid    NUMBER ,
  3  docsz    NUMBER ,
  4  CONSTRAINT uk_docid UNIQUE(docid) USING  INDEX )
  5  PARTITION BY RANGE(docsz)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

Table created.

可以在分区字段上创建Local Unique索引:
SQL> CREATE TABLE docinfo(
  2  docid    NUMBER ,
  3  docsz    NUMBER ,
  4  CONSTRAINT uk_docsz UNIQUE(docsz) USING  INDEX LOCAL)
  5  PARTITION BY RANGE(docsz)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

Table created.

SQL> drop table docinfo;

Table dropped.

或者可以创建包含分区字段的联合Unique索引:
SQL> CREATE TABLE docinfo(
  2  docid    NUMBER ,
  3  docsz    NUMBER ,
  4  CONSTRAINT uk_docsz UNIQUE(docid,docsz) USING  INDEX LOCAL)
  5  PARTITION BY RANGE(docsz)
  6  (PARTITION p1 VALUES LESS THAN (100),
  7  PARTITION p2 VALUES LESS THAN(MAXVALUE));

Table created.

SQL> drop table docinfo;

Table dropped.


历史上的今天...
      >> 2008-03-11文章:
             关于HDS的高端存储设备USPV
      >> 2007-03-11文章:
             Oracle与Linux/Unix下的时间处理
------
这篇 【关于分区表与唯一索引的测试记录】来自 eygle.com | CSDN网摘| del.icio.us|Google订阅 | 鲜果订阅 | 抓虾订阅

By eygle on 2009-03-11 20:53 | Comments (0) | Posted to FAQ | Edit |Pageviews:

相关文章 随机文章
大表之困惑 - 数据建模的前期规划十分重要
mon_mods$ is used for DML monitoring
使用Oracle Database 11g创建Interval分区表
Oracle的分区表和Local索引创建与维护
使用外部表分析eygle.com的网站访问日志
配置AWStats,Apache日志分析工具
Statspack之九-其它重要脚本
ORACLE 9iR2 软件下载地址收藏
DataGuard ORA-01111文件创建失败问题解决
收到招商银行MSN信用卡
搜索本站:

留言 (0)

发表留言:



Remember Me?
(输入验证码后方可评论,谢谢支持)



CopyRight © 2004~2010 eygle.com, All rights reserved.