ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle专题深入讨论 » 全文检索 Oracle Text, data load by partitation, async refresh index

标题: 全文检索 Oracle Text, data load by partitation, async refresh index
离线 Arrayzhu1
木匠


精华贴数 0
个人空间 0
技术积分 340 (5839)
社区积分 63 (4428)
注册日期 2002-7-16
论坛徽章:0
      
      

发表于 2004-11-18 11:46 
全文检索 Oracle Text, data load by partitation, async refresh index

Hi All 老大们,

一个问题求教:

场景:
两个分区,建好文本索引。
加载第一个分区数据
  性能良好
Text索引同步
  性能良好

加载第二个分区数据
  性能难以接受!!!

请问有何办法 让第二个分区处于离线或禁用状态 ?
加载完数据, 然后同步.


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111201 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2004-11-18 20:09 
没实际做过:

文本索引支持local索引吗?

如果支持,难道也仍然很慢?


如果仍然很慢,那是否可新建一个表,把数据加载进去后创建文本索引,然后和原来的分区表的分区 exchage


__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 zhu1
木匠


精华贴数 0
个人空间 0
技术积分 340 (5839)
社区积分 63 (4428)
注册日期 2002-7-16
论坛徽章:0
      
      

发表于 2004-11-19 10:08 
文本索引支持local索引

文本索引支持local索引.

Exchange Partition 是一种理想情况.
数据并不是按照时间分区的顺序加载的, 有差异, 造成 多次同步, 极大影响性能.
Thx, Zhu1


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 biti_rainy
人生就是如此



精华贴数 38
个人空间 0
技术积分 111201 (4)
社区积分 11832 (132)
注册日期 2001-12-12
论坛徽章:41
现任管理团队成员ITPUB长老会成员ITPUB元老年度论坛发贴之星年度论坛发贴之星ITPUB北京九华山庄2008年会纪念徽章
管理团队2007贡献徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章

发表于 2004-11-19 10:32 
local 也会多次无谓的同步?


__________________
眼界决定边界,态度决定高度
blog:
人生就是如此
只看该作者    顶部
离线 zhu1
木匠


精华贴数 0
个人空间 0
技术积分 340 (5839)
社区积分 63 (4428)
注册日期 2002-7-16
论坛徽章:0
      
      

发表于 2004-11-19 11:24 
我就想知道如何关掉某个Partiton 的 Text Index 同步

苦苦求索


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 玉面飞龙
斧头帮帮主


精华贴数 1
个人空间 0
技术积分 10307 (118)
社区积分 3554 (395)
注册日期 2002-1-20
论坛徽章:24
现任管理团队成员ITPUB元老ITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章蓝锆石
会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:龙生肖徽章2007版:蛇生肖徽章2007版:龙

发表于 2004-11-22 10:04 
加载第二个分区数据
性能难以接受!!!
???
是怀疑因为索引处于同步状态,而LOAD文本的时候需要同时维护文本索引?
不要设置全文索引自动同步就可以了。

如何关掉某个Partiton 的 Text Index  ?
在9I的ORACLE DOCUMENT里面没有看到过相关功能。


__________________
http://www.yumianfeilong.com 包括 oracle技术,投资理财,财经评论等~

欢迎访问
只看该作者    顶部
离线 zhu1
木匠


精华贴数 0
个人空间 0
技术积分 340 (5839)
社区积分 63 (4428)
注册日期 2002-7-16
论坛徽章:0
      
      

发表于 2004-11-23 09:50 
怎样设置全文索引 不 自动同步?

这厢有利.


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 玉面飞龙
斧头帮帮主


精华贴数 1
个人空间 0
技术积分 10307 (118)
社区积分 3554 (395)
注册日期 2002-1-20
论坛徽章:24
现任管理团队成员ITPUB元老ITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章蓝锆石
会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:龙生肖徽章2007版:蛇生肖徽章2007版:龙

发表于 2004-11-23 10:18 
Re: 怎样设置全文索引 不 自动同步?

Oracle提供一个全文索引同步服务进程负责监视索引表变动并且第一时间同步索引。
只需要在后台运行这个进程,它会监视数据的变化,及时进行同步。但由于存在一些问题在未来的ORACLE版本中将要被取代。
host ctxsrv -user ctxsys/ctxsys>&/tmp/ctx.log&

当你启动了CTXSRV服务进程,在后台的同步请求处理就会象事时一样,在你提交修改1,2秒后新的数据马上就被索引了;
默认情况下,如果你不启动CTXSRV进程,索引不会自动更新除非你手工告诉它们去更新自己。使用 alter index <iname> rebuild parameters ('sync') 更新索引。

推荐使用sync同步索引。语法:
ctx_ddl.sync_index(
idx_name  IN  VARCHAR2 DEFAULT NULL
memory IN VARCHAR2 DEFAULT NULL,
part_name IN VARCHAR2 DEFAULT NULL
parallel_degree IN NUMBER DEFAULT 1);

idx_name     索引名称
memory      指定同步索引需要的内存。默认是系统参数DEFAULT_INDEX_MEMORY 。指定一个大的内存时候可以加快索引效率和查询速度,且索引有较少的碎片
part_name  同步哪个分区索引。
parallel_degree  并行同步索引。设置并行度。
例如:
使用2M内存同步索引myindex

说了这么多我想你是不会使用host ctxsrv -user ctxsys/ctxsys>&/tmp/ctx.log&的



可以TRACE一下看看为什么慢

以下是9I支持的情况;可以尝试先LOAD数据在并行创建索引

QUOTE:
6分区
CONTEXT索引支持在分区表山建立本地分区索引,但仍然有一些限制。如下
        分区表必须是按范围分区,不支持HASH分区和复合分区。
        你应该为每个分区指定索引分区名称。如果不指定,系统默认为每个分区表指定。分区索引列表的顺序必须和分区表的顺序一致。
        可以为每个分区分别指定PRAMETERS参数,但是PARAMETERS只允许包括STORAGE和MEMEROY参数。
        不能指定ONLINE建立索引。
       可以查询CTX_INDEX_PARTITIONS或者CTX_USER_INDEX_PARTITIONS获得更多信息。
     6.1Creating a Local Partitioned Index

PROMPT create partitioned table and populate it

CREATE TABLE part_tab (a int, b varchar2(40)) PARTITION BY RANGE(a)
(partition p_tab1 values less than (10),
partition p_tab2 values less than (20),
partition p_tab3 values less than (30));

PROMPT create customer storage preference assigned each partition

Execute ctx_ddl.drop_preference('mystore1');
Begin
ctx_ddl.create_preference('mystore1', 'BASIC_STORAGE');
ctx_ddl.set_attribute('mystore1', 'I_TABLE_CLAUSE',
                        'tablespace indx ');
ctx_ddl.set_attribute('mystore1', 'I_INDEX_CLAUSE',
                        'tablespace users03 compress 2 ');
end;

PROMPT create partitioned index

CREATE INDEX part_idx on part_tab(b) INDEXTYPE IS CTXSYS.CONTEXT
LOCAL (partition p_idx1 parameters(‘storage mystore1’), partition p_idx2 parameters(‘storage mystore2’), partition p_idx3 parameters(‘storage mystore3’));



6.2Creating a Local Partitioned Index in Parallel
可以并行的建立分区索引,加快建立索引速度。但是建立索引不能“一步到位“。我们必须先建立一个unusable索引,然后利DBMS_PCLXUTIL.BUILD_PART_INDEX 并行建立索引。
PROMPT the base table has three partitions.
PROMPT  We create a local partitioned unusable index first

create index tdrbip02bx on tdrbip02b(text)
indextype is ctxsys.context local (partition tdrbip02bx1,
                                   partition tdrbip02bx2,
                                   partition tdrbip02bx3)
unusable;

PROMPT run the DBMS_PCLUTIL.BUILD_PART_INDEX, which builds the 3 partitions in parallel (inter-partition parallelism). Also inside each partition, index creation is done in parallel (intra-partition parallelism) with a parallel degree of 2.

begin
dbms_pclxutil.build_part_index(3,2,'TDRBIP02B','TDRBIP02BX',TRUE);
end
/




__________________
http://www.yumianfeilong.com 包括 oracle技术,投资理财,财经评论等~

欢迎访问
只看该作者    顶部
离线 zhu1
木匠


精华贴数 0
个人空间 0
技术积分 340 (5839)
社区积分 63 (4428)
注册日期 2002-7-16
论坛徽章:0
      
      

发表于 2004-11-23 10:28 
10g RAC, 100TB data, running Oracle Text

我 MSN 在线.

For information on Text indexes and partitioned tables in 8i up to 8.1.7, please see:
- Note 153264.1 "Frequently Asked Questions for Oracle Text"
- Note 120610.1 "Technical Overview: interMedia Text version 8.1.6"

For information pertaining to partition features added in newer releases, see:
- Note 150307.1 "Technical Overview: Oracle Text version 9.0.1"
- Note 221940.1 "Technical Overview: Oracle Text version 9.2.0"
- Note:249991.1 Technical Overview: Oracle Text version 10g Release1


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 玉面飞龙
斧头帮帮主


精华贴数 1
个人空间 0
技术积分 10307 (118)
社区积分 3554 (395)
注册日期 2002-1-20
论坛徽章:24
现任管理团队成员ITPUB元老ITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章蓝锆石
会员2007贡献徽章会员2006贡献徽章授权会员生肖徽章2007版:龙生肖徽章2007版:蛇生肖徽章2007版:龙

发表于 2004-11-23 10:46 
MSN单位把断口给关闭了,不让用了

100TB data, running Oracle Text ? 不知道有没有成功的案理

以前我测试的结果 CONTEXT对中文索引 情况
表数据占用空间1344M
索引占用空间15232M
索引建立时间9个小时(测试机器比较差)
花费临时表空间 6G


__________________
http://www.yumianfeilong.com 包括 oracle技术,投资理财,财经评论等~

欢迎访问
只看该作者    顶部
相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问