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-23 11:03 
Call me

6538.#### x ###


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


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

发表于 2004-11-23 14:22 
连接到:
Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production

SQL> create table part_tab(a int,b varchar2(4000)) partition by range(a) (partit
ion p_tab1 values less than (10),partition p_tab2 values less than (20),partitio
n p_tab3 values less than (30));

表已创建。

SQL> Execute ctx_ddl.drop_preference('mystore1');
BEGIN ctx_ddl.drop_preference('mystore1'); END;

*
ERROR 位于第 1 行:
ORA-20000: Oracle Text 错误:
DRG-10700: 首选项不存在: mystore1
ORA-06512: 在"CTXSYS.DRUE", line 157
ORA-06512: 在"CTXSYS.CTX_DDL", line 80
ORA-06512: 在line 1


SQL> Begin
  2  ctx_ddl.create_preference('mystore1', 'BASIC_STORAGE');
  3  ctx_ddl.set_attribute('mystore1', 'I_TABLE_CLAUSE',
  4                          'tablespace zhangbin8k ');
  5   ctx_ddl.set_attribute('mystore1', 'I_INDEX_CLAUSE',
  6                          'tablespace zhangbin8k compress 2 ');
  7  end;
  8  /

PL/SQL 过程已成功完成。

SQL> CREATE INDEX part_idx on part_tab(b) INDEXTYPE IS CTXSYS.CONTEXT
  2  LOCAL (partition p_idx1 parameters('storage mystore1'), partition p_idx2 pa
rameters('storage mystore1'), partition p_idx3 parameters('storage mystore1'));

索引已创建。

SQL> set autotrace trace stat exp
SQL> alter table part_tab nologging;

表已更改。

SQL> insert /*+ append */into select 1,title from app_Assetbasicinfo where categ
oryid=1 and rownum<10000;
insert /*+ append */into select 1,title from app_Assetbasicinfo where categoryid
=1 and rownum<10000
                         *
ERROR 位于第 1 行:
ORA-00903: 表名无效


SQL> insert /*+ append */into part_tab select 1,title from app_Assetbasicinfo wh
ere categoryid=1 and rownum<10000;

已创建9999行。

Statistics
----------------------------------------------------------
      11634  recursive calls
      22320  db block gets
       1063  consistent gets
        259  physical reads
    3654276  redo size
        619  bytes sent via SQL*Net to client
        611  bytes received via SQL*Net from client
          3  SQL*Net roundtrips to/from client
         25  sorts (memory)
          0  sorts (disk)
       9999  rows processed

SQL> execute ctx_ddl.sync_index('part_idx','50M','p_idx1');


看来load慢的原因是因为索引存在的情况下nologging表append 插入的时候产生了过多的redo

SQL> ALTER INDEX part_idx modify partition p_idx3 unusable;

索引已更改。

SQL> insert/*+ append */ into part_tab select 23,title from app_Assetbasicinfo w
here categoryid=1 and rownum<10000;
insert/*+ append */ into part_tab select 23,title from app_Assetbasicinfo where
categoryid=1 and rownum<10000
*
ERROR 位于第 1 行:
ORA-29954: 域索引分区被标记为 LOADING/FAILED/UNUSABLE

SQL> alter session set SKIP_UNUSABLE_INDEXES =true;

会话已更改。

SQL> insert into  part_tab values(23,'abc');
insert into  part_tab values(23,'abc')
*
ERROR 位于第 1 行:
ORA-29954: 域索引分区被标记为 LOADING/FAILED/UNUSABLE


http://download-west.oracle.com/ ... d_pclxut.htm#996816


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

欢迎访问
只看该作者    顶部
离线 d.c.b.a
人生积极一点好


精华贴数 6
个人空间 0
技术积分 14167 (83)
社区积分 1359 (804)
注册日期 2004-2-19
论坛徽章:22
现任管理团队成员Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章会员2007贡献徽章
生肖徽章2007版:猴ITPUB新首页上线纪念徽章    

发表于 2004-11-29 08:43 
不要起ctxsrv就不会自动同步了。


__________________

专业Oracle/Shareplex技术支持服务, 管理, 培训, 调优, 备份, 恢复!

个人主页: 订阅AnySQL | AnySQL | dbatools | AUL Step by Step | OracleSOS.com
联系方法: MSN: anysql©live.com, Skype: anysql, QQ: 37223884
只看该作者    顶部
离线 zhu1
木匠


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

发表于 2004-12-1 13:58 
UNUSABLE以后就不能insert 数据了

10g  怎么停下 ctxsrv.


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
离线 Arrayzhu1
木匠


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

发表于 2004-12-1 13:59 
work around is

1. load into temp table
2. sync text index
3. exchange temp table into the partition table


__________________
丹江草, 我的身心是健康的,我的思想是健康的,我的生活也是健康的。
只看该作者    顶部
相关内容


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