免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2171 | 回复: 3
打印 上一主题 下一主题

求教:ORACLE分区别索引及其表空间的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-16 16:34 |只看该作者 |倒序浏览
需求:
1、 数据库见表,采用了复合分区:RANGE-RANGE复合分区。
2、 想通过索引提高DML操作性能,看到ORACLE有GLOBAL/LOCAL两种分区方式。另外,还有设计索引表空间的设计。


对于RANGE-RANGE复合分区的索引,以及索引表空间的概念和设计,不清楚。请给位达达指点一二。

问题(目标数据库表数据都是海量数据):
1、 RANGE-RANGE复合分区应该采用怎样的表空间设计方式?(每个分区对应一个表空间?所有的表都基于分区条件保存到不同的表空间以及对应的数据文件。)
2、 索引 - GLOBAL索引听说如果数据做了改变,需要对索引进行重建!(这可是个浩大工程!!!吓人啊。)所以,我是不是适合建立LOCAL索引?也就是索引都和每个分区绑定,由数据库系统进行自动重建维护索引的有效性。
3、 如果我适合用LOCAL索引。我看到别的文章有建立独立的表空间进行索引文件的存储,这个咋回事?完全不懂。是不是说索引可以建立自己的表空间,然后独立的数据文件存储索引信息。DML操作先是访问索引文件,然后访问数据文件进行数据的操作?


=============================
对于复合分区的表空间如何设计?
=============================
比如RANGE-RANGE类型的复合表空间。如下如何制定表空间?是不是只能制定二级子分区的表空间?主分区被映射到子分区,然后才是映射到物理存储啊?也就是说只能在subpartition .... tablespace ...了
SQL> CREATE TABLE T_RANGE_RANGE
  2  PARTITION BY RANGE (CREATED)
  3  SUBPARTITION BY RANGE (LAST_DDL_TIME)
  4  (
  5   PARTITION P1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD'))
  6   (
  7    SUBPARTITION P1_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')),
  8    SUBPARTITION P1_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')),
  9    SUBPARTITION P1_SP3 VALUES LESS THAN (MAXVALUE)
10   ),
11   PARTITION P2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD'))
12   (
13    SUBPARTITION P2_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')),
14    SUBPARTITION P2_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')),
15    SUBPARTITION P2_SP3 VALUES LESS THAN (MAXVALUE)
16   ),
17   PARTITION P3 VALUES LESS THAN (MAXVALUE)
18   (
19    SUBPARTITION P3_SP1 VALUES LESS THAN (TO_DATE('2007-9-1', 'YYYY-MM-DD')),
20    SUBPARTITION P3_SP2 VALUES LESS THAN (TO_DATE('2007-10-1', 'YYYY-MM-DD')),
21    SUBPARTITION P3_SP3 VALUES LESS THAN (MAXVALUE)
22   )
23  )
24  AS SELECT * FROM DBA_OBJECTS;


===================================
越来越玉米糊了。。。。看到一个例子这么写。主分区指定表空间,子分区也有自己的表空间。
===================================
四、复合范围列表分区:这种分区是基于范围分区和列表分区,表首先按某列进行范围分区,然后再按某列进行列表分区,分区之中的分区被称为子分区。
示例1:
CREATE TABLE SALES
(
PRODUCT_ID VARCHAR2(5),
SALES_DATE DATE,
SALES_COST NUMBER(10),
STATUS VARCHAR2(20)
)
PARTITION BY RANGE(SALES_DATE)
SUBPARTITION BY LIST (STATUS)
(
PARTITION P1 VALUES LESS THAN (TO_DATE('2003-01-01','YYYY-MM-DD')) TABLESPACE P1_TS
(
SUBPARTITION P1SUB1 VALUES ('ACTIVE') TABLESPACE SUBP1_TS1,
SUBPARTITION P1SUB2 VALUES ('INACTIVE') TABLESPACE SUBP1_TS2
),
PARTITION P2 VALUES LESS THAN (TO_DATE('2003-03-01','YYYY-MM-DD')) TABLESPACE P2_TS
(
SUBPARTITION P2SUB1 VALUES ('ACTIVE') TABLESPACE SUBP2_TS1,
SUBPARTITION P2SUB2 VALUES ('INACTIVE') TABLESPACE SUBP2_TS2
)
)


这是怎么回事?主分区指定一个表空间,子分区再指定一个表空间,那数据到底是怎么个保存呢?如果主分区指定了表空间,子分区不再指定表空间,那是不是就默认保存在主分区指定的表空间?如果主分区指定了表空间,主分区指定的表空间还有什么用途呢?

表空间怎么搞的这么饶舌啊。。。。晕死。。。

问题较多,还请帮忙,最好能够结合示例说明。谢谢了!

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
2 [报告]
发表于 2011-12-16 23:14 |只看该作者
没有搞过分区。

论坛徽章:
0
3 [报告]
发表于 2011-12-17 13:31 |只看该作者

RE: 求教:ORACLE分区索引及其表空间的问题

这里涉及几个关键的问题:
1、 表空间、分区、复合分区
2、 表空间在分区尤其在复合分区情况下的具体关联

我的问题比较多,还请各位达达阅读指点。

没有搞过分区。
renxiao2003 发表于 2011-12-16 23:14

论坛徽章:
0
4 [报告]
发表于 2012-01-01 21:25 |只看该作者
。。。
没有人熟悉这个方向么?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP