Oracle Text release 11.2.0.3.0 mandatory Patches (Doc ID 1386945.1)

I've been asked to draw people's attention to Support Note 1386945.1
This covers problems that some users have experienced when upgrading existing Oracle Text installations to version 11.2.0.3.
The most common problem is getting an error:
ORA-07445: exception encountered: core dump [druhfind()+370]
You could also see
ORA-20000: Oracle Text error:
DRG-50857: oracle error in textindexmethods.ODCIIndexInsert
ORA-20000: Oracle Text error:
DRG-10607: index meta data is not ready yet for queuing DML
DRG-50857: oracle error in drdmlv
ORA-01426: numeric overflow
ORA-30576: ConText Option dictionary loading error
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 752
or
DRG-10607: index meta data is not ready yet for queuing DML
DRG-50857: oracle error in drdmlv
ORA-01426: numeric overflow
There may also be issues with IPV6 URLs and the URL data store.
The recommended fixes are:
Apply generic Patch 13258936 to fix the meta data corruption.
Apply Patch 12960302 to fix the ORA-30576, DRG-10607 and ORA-1426 errors.
Apply generic Patch 13366268 to fix the core dump in function druhfind() from 'create index' statement and the import problem. This patch contains also the fix for Bug 13352423.
Apply Patch 12985184 to fix the IPv6 url problem.
Roger

Hi;
Is Oracle Database 11g Release 2 (11.2.0.3.0) available for IBM AIX on POWER Systems (64-bit),Yes
Or do we need to upgrade 11.2.0.1 to 11.2.0.3.0.Please clarifyYou dont need upgrade, download patchset from metalink and start your process.
Also see:
Oracle Database on Unix AIX,HP-UX,Linux,Mac OS X,Solaris,Tru64 Unix Operating Systems Installation and Configuration Requirements Quick Reference (8.0.5 to 11.2) [ID 169706.1]
PS:Please dont forget to change thread status to answered if it possible when u belive your thread has been answered, it pretend to lose time of other forums user while they are searching open question which is not answered,thanks for understanding
Regard
Helios

Similar Messages

  • Installing Oracle Text in 9i

    I'm attempting to create the neccessary object for the CTXSYS user and am missing the LIBCTXX*.* file. Where do I find it?

    "you don't need to install special software for oracle text. just connect to ctxsys as user and ctxsys as password."
    That is true... if you created your database under some conditions (using the assintent, for instance)
    If you want to install Oracle Text manually on 9i you can follow [http://download.oracle.com/docs/cd/B10501_01/win.920/a95491/config.htm]
    or, better yet: Manual Installation, Deinstallation of Oracle Text Release 9.2 [ID 275689.1] published in My Oracle support (formerly Metalink)
    Edited by: user498631 on 10/06/2010 07:29 PM

  • Need to have more info about the latest patch on Oracle 10g Release 2

    Please this is the follwing answer that was given to explain the purpose of patching the latest release of Oracle 10g release 2.
    We are applying the patch to the 32bit environment to resolve memory errors.
    This patch should be applied to the 64bit environments too as to maintain consistency in our database versions
    Personaly I don't believe the response is accurate to patch the database.
    Does someone can tell me where to find more information about the latest path of Oracle 10g release 2?
    Thanks a lot

    You can find more information about a patchset by going over the readme document associated with the patch. As such, it is not exactly clear what kind of information you are looking for.
    Login into Metalink=>Patches&Updates=>Simple Search=>
    Product or Family=> RDBMS
    Select your OS
    if will your a link to the readme file...
    Hope this helps
    Thanks
    Chandra

  • Getting error while importing schema with ORACLE TEXT

    IMP-00003: ORACLE error 20000 encountered
    ORA-20000: Oracle Text error:
    DRG-52204: error while registering index
    DRG-10507: duplicate index name: WORKORDER_Q, owner: SYS
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.DRIIMP", line 115
    ORA-06512: at line 2
    IMP-00088: Problem importing metadata for index WORKORDER_Q. Index creation will be skipped
    Database version - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    Os version - Linux nlxs1012.slb.atosorigin-asp.com 2.6.18-308.el5 #1 SMP Fri Jan 27 17:17:51 EST 2012 x86_64 x86_64 x86_64 GNU/Linux
    We have take export of schema from production db now importing data to qa environment..
    In import facing above error..

    I am importing objects from P20_MAXIMO to Q25_MAXIMO to another database..
    Below is import par file..
    USERID='/ as sysdba'
    FILE=exp_P20_MAXIMO_C2364781.dmp
    LOG=imp_P20_MAXIMO__Q25_MAXIMO_C2364781_1.log
    FROMUSER=P20_MAXIMO
    TOUSER=Q25_MAXIMO
    buffer=1000000
    feedback=100000
    Export parfile
    userid='/ as sysdba'
    owner=P20_MAXIMO
    FILE=exp_P20_MAXIMO_C2364781.dmp
    LOG=exp_P20_MAXIMO_C2364781.log
    buffer=10000000
    feedback=100000
    statistics=none

  • Pre-loading Oracle text in memory with Oracle 12c

    There is a white paper from Roger Ford that explains how to load the Oracle index in memory : http://www.oracle.com/technetwork/database/enterprise-edition/mem-load-082296.html
    In our application, Oracle 12c, we are indexing a big XML field (which is stored as XMLType with storage secure file) with the PATH_SECTION_GROUP. If I don't load the I table (DR$..$I) into memory using the technique explained in the white paper then I cannot have decent performance (and especially not predictable performance, it looks like if the blocks from the TOKEN_INFO columns are not memory then performance can fall sharply)
    But after migrating to oracle 12c, I got a different problem, which I can reproduce: when I create the index it is relatively small (as seen with ctx_report.index_size) and by applying the technique from the whitepaper, I can pin the DR$ I table into memory. But as soon as I do a ctx_ddl.optimize_index('Index','REBUILD') the size becomes much bigger and I can't pin the index in memory. Not sure if it is bug or not.
    What I found as work-around is to build the index with the following storage options:
    ctx_ddl.create_preference('TEST_STO','BASIC_STORAGE');
    ctx_ddl.set_attribute ('TEST_STO', 'BIG_IO', 'YES' );
    ctx_ddl.set_attribute ('TEST_STO', 'SEPARATE_OFFSETS', 'NO' );
    so that the token_info column will be stored in a secure file. Then I can change the storage of that column to put it in the keep buffer cache, and write a procedure to read the LOB so that it will be loaded in the keep cache. The size of the LOB column is more or less the same as when creating the index without the BIG_IO option but it remains constant even after a ctx_dll.optimize_index. The procedure to read the LOB and to load it into the cache is very similar to the loaddollarR procedure from the white paper.
    Because of the SDATA section, there is a new DR table (S table) and an IOT on top of it. This is not documented in the white paper (the white paper was written for Oracle 10g). In my case this DR$ S table is much used, and the IOT also, but putting it in the keep cache is not as important as the token_info column of the DR I table. A final note: doing SEPARATE_OFFSETS = 'YES' was very bad in my case, the combined size of the two columns is much bigger than having only the TOKEN_INFO column and both columns are read.
    Here is an example on how to reproduce the problem with the size increasing when doing ctx_optimize
    1. create the table
    drop table test;
    CREATE TABLE test
    (ID NUMBER(9,0) NOT NULL ENABLE,
    XML_DATA XMLTYPE
    XMLTYPE COLUMN XML_DATA STORE AS SECUREFILE BINARY XML (tablespace users disable storage in row);
    2. insert a few records
    insert into test values(1,'<Book><TITLE>Tale of Two Cities</TITLE>It was the best of times.<Author NAME="Charles Dickens"> Born in England in the town, Stratford_Upon_Avon </Author></Book>');
    insert into test values(2,'<BOOK><TITLE>The House of Mirth</TITLE>Written in 1905<Author NAME="Edith Wharton"> Wharton was born to George Frederic Jones and Lucretia Stevens Rhinelander in New York City.</Author></BOOK>');
    insert into test values(3,'<BOOK><TITLE>Age of innocence</TITLE>She got a prize for it.<Author NAME="Edith Wharton"> Wharton was born to George Frederic Jones and Lucretia Stevens Rhinelander in New York City.</Author></BOOK>');
    3. create the text index
    drop index i_test;
      exec ctx_ddl.create_section_group('TEST_SGP','PATH_SECTION_GROUP');
    begin
      CTX_DDL.ADD_SDATA_SECTION(group_name => 'TEST_SGP', 
                                section_name => 'SData_02',
                                tag => 'SData_02',
                                datatype => 'varchar2');
    end;
    exec ctx_ddl.create_preference('TEST_STO','BASIC_STORAGE');
    exec  ctx_ddl.set_attribute('TEST_STO','I_TABLE_CLAUSE','tablespace USERS storage (initial 64K)');
    exec  ctx_ddl.set_attribute('TEST_STO','I_INDEX_CLAUSE','tablespace USERS storage (initial 64K) compress 2');
    exec  ctx_ddl.set_attribute ('TEST_STO', 'BIG_IO', 'NO' );
    exec  ctx_ddl.set_attribute ('TEST_STO', 'SEPARATE_OFFSETS', 'NO' );
    create index I_TEST
      on TEST (XML_DATA)
      indextype is ctxsys.context
      parameters('
        section group   "TEST_SGP"
        storage         "TEST_STO"
      ') parallel 2;
    4. check the index size
    select ctx_report.index_size('I_TEST') from dual;
    it says :
    TOTALS FOR INDEX TEST.I_TEST
    TOTAL BLOCKS ALLOCATED:                                                104
    TOTAL BLOCKS USED:                                                      72
    TOTAL BYTES ALLOCATED:                                 851,968 (832.00 KB)
    TOTAL BYTES USED:                                      589,824 (576.00 KB)
    4. optimize the index
    exec ctx_ddl.optimize_index('I_TEST','REBUILD');
    and now recompute the size, it says
    TOTALS FOR INDEX TEST.I_TEST
    TOTAL BLOCKS ALLOCATED:                                               1112
    TOTAL BLOCKS USED:                                                    1080
    TOTAL BYTES ALLOCATED:                                 9,109,504 (8.69 MB)
    TOTAL BYTES USED:                                      8,847,360 (8.44 MB)
    which shows that it went from 576KB to 8.44MB. With a big index the difference is not so big, but still from 14G to 19G.
    5. Workaround: use the BIG_IO option, so that the token_info column of the DR$ I table will be stored in a secure file and the size will stay relatively small. Then you can load this column in the cache using a procedure similar to
    alter table DR$I_TEST$I storage (buffer_pool keep);
    alter table dr$i_test$i modify lob(token_info) (cache storage (buffer_pool keep));
    rem: now we must read the lob so that it will be loaded in the keep buffer pool, use the prccedure below
    create or replace procedure loadTokenInfo is
      type c_type is ref cursor;
      c2 c_type;
      s varchar2(2000);
      b blob;
      buff varchar2(100);
      siz number;
      off number;
      cntr number;
    begin
        s := 'select token_info from  DR$i_test$I';
        open c2 for s;
        loop
           fetch c2 into b;
           exit when c2%notfound;
           siz := 10;
           off := 1;
           cntr := 0;
           if dbms_lob.getlength(b) > 0 then
             begin
               loop
                 dbms_lob.read(b, siz, off, buff);
                 cntr := cntr + 1;
                 off := off + 4096;
               end loop;
             exception when no_data_found then
               if cntr > 0 then
                 dbms_output.put_line('4K chunks fetched: '||cntr);
               end if;
             end;
           end if;
        end loop;
    end;
    Rgds, Pierre

    I have been working a lot on that issue recently, I can give some more info.
    First I totally agree with you, I don't like to use the keep_pool and I would love to avoid it. On the other hand, we have a specific use case : 90% of the activity in the DB is done by queuing and dbms_scheduler jobs where response time does not matter. All those processes are probably filling the buffer cache. We have a customer facing application that uses the text index to search the database : performance is critical for them.
    What kind of performance do you have with your application ?
    In my case, I have learned the hard way that having the index in memory (the DR$I table in fact) is the key : if it is not, then performance is poor. I find it reasonable to pin the DR$I table in memory and if you look at competitors this is what they do. With MongoDB they explicitly says that the index must be in memory. With elasticsearch, they use JVM's that are also in memory. And effectively, if you look at the awr report, you will see that Oracle is continuously accessing the DR$I table, there is a SQL similar to
    SELECT /*+ DYNAMIC_SAMPLING(0) INDEX(i) */    
    TOKEN_FIRST, TOKEN_LAST, TOKEN_COUNT, ROWID    
    FROM DR$idxname$I
    WHERE TOKEN_TEXT = :word AND TOKEN_TYPE = :wtype    
    ORDER BY TOKEN_TEXT,  TOKEN_TYPE,  TOKEN_FIRST
    which is continuously done.
    I think that the algorithm used by Oracle to keep blocks in cache is too complex. A just realized that in 12.1.0.2 (was released last week) there is finally a "killer" functionality, the in-memory parameters, with which you can pin tables or columns in memory with compression, etc. this looks ideal for the text index, I hope that R. Ford will finally update his white paper :-)
    But my other problem was that the optimize_index in REBUILD mode caused the DR$I table to double in size : it seems crazy that this was closed as not a bug but it was and I can't do anything about it. It is a bug in my opinion, because the create index command and "alter index rebuild" command both result in a much smaller index, so why would the guys that developped the optimize function (is it another team, using another algorithm ?) make the index two times bigger ?
    And for that the track I have been following is to put the index in a 16K tablespace : in this case the space used by the index remains more or less flat (increases but much more reasonably). The difficulty here is to pin the index in memory because the trick of R. Ford was not working anymore.
    What worked:
    first set the keep_pool to zero and set the db_16k_cache_size to instead. Then change the storage preference to make sure that everything you want to cache (mostly the DR$I) table come in the tablespace with the non-standard block size of 16k.
    Then comes the tricky part : the pre-loading of the data in the buffer cache. The problem is that with Oracle 12c, Oracle will use direct_path_read for FTS which basically means that it bypasses the cache and read directory from file to the PGA !!! There is an event to avoid that, I was lucky to find it on a blog (I can't remember which, sorry for the credit).
    I ended-up doing that. the events to 10949 is to avoid the direct path reads issue.
    alter session set events '10949 trace name context forever, level 1';
    alter table DR#idxname0001$I cache;
    alter table DR#idxname0002$I cache;
    alter table DR#idxname0003$I cache;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0001$I;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0002$I;
    SELECT /*+ FULL(ITAB) CACHE(ITAB) */ SUM(TOKEN_COUNT),  SUM(LENGTH(TOKEN_INFO)) FROM DR#idxname0003$I;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0001$I ITAB;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0002$I ITAB;
    SELECT /*+ INDEX(ITAB) CACHE(ITAB) */  SUM(LENGTH(TOKEN_TEXT)) FROM DR#idxname0003$I ITAB;
    It worked. With a big relief I expected to take some time out, but there was a last surprise. The command
    exec ctx_ddl.optimize_index(idx_name=>'idxname',part_name=>'partname',optlevel=>'REBUILD');
    gqve the following
    ERROR at line 1:
    ORA-20000: Oracle Text error:
    DRG-50857: oracle error in drftoptrebxch
    ORA-14097: column type or size mismatch in ALTER TABLE EXCHANGE PARTITION
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.CTX_DDL", line 1141
    ORA-06512: at line 1
    Which is very much exactly described in a metalink note 1645634.1 but in the case of a non-partitioned index. The work-around given seemed very logical but it did not work in the case of a partitioned index. After experimenting, I found out that the bug occurs when the partitioned index is created with  dbms_pclxutil.build_part_index procedure (this enables  enables intra-partition parallelism in the index creation process). This is a very annoying and stupid bug, maybe there is a work-around, but did not find it on metalink
    Other points of attention with the text index creation (stuff that surprised me at first !) ;
    - if you use the dbms_pclxutil package, then the ctx_output logging does not work, because the index is created immediately and then populated in the background via dbms_jobs.
    - this in combination with the fact that if you are on a RAC, you won't see any activity on the box can be very frightening : this is because oracle can choose to start the workers on the other node.
    I understand much better how the text indexing works, I think it is a great technology which can scale via partitioning. But like always the design of the application is crucial, most of our problems come from the fact that we did not choose the right sectioning (we choosed PATH_SECTION_GROUP while XML_SECTION_GROUP is so much better IMO). Maybe later I can convince the dev to change the sectionining, especially because SDATA and MDATA section are not supported with PATCH_SECTION_GROUP (although it seems to work, even though we had one occurence of a bad result linked to the existence of SDATA in the index definition). Also the whole problematic of mixed structured/unstructured searches is completly tackled if one use XML_SECTION_GROUP with MDATA/SDATA (but of course the app was written for Oracle 10...)
    Regards, Pierre

  • Upgrading Oracle Text - Post upgrade step 10.2 to 11.2

    I already upgraded my 10.2.0.4 database to 11.2.0.1 and have to do post upgrade steps. In step 39 of Manual guideline (837570.1) is not clear for me. If some one can explain further would be appriciated. When i check my source ORACLE_HOME/ctx/admin/ctxf102.txt or ctxf102.sql
    Step 39
    Upgrading Oracle Text
    Copy the following files from the previous Oracle home to the new Oracle home:
    * Stemming user-dictionary files
    * User-modified KOREAN_MORPH_LEXER dictionary files
    * USER_FILTER executables
    To obtain a list of the above files, use:
    $ORACLE_HOME/ctx/admin/ctxf<version>.txt
    $ORACLE_HOME/ctx/admin/ctxf<version>.sql
    where version is 920,101,102
    For instance, if upgrading from 10.2.0
    *1. For dictionary files check*
    *$ORACLE_HOME/ctx/admin/ctxf102.txt*
    *2. Execute the script as database user SYS,SYSTEM, or CTXSYS*
    *$ORACLE_HOME/ctx/admin/ctxf102.sql*
    If your Oracle Text index uses KOREAN_LEXER which was deprecated in Oracle 9i and desupported in Oracle 10g Release 2, see below Note for further information on manual migration from KOREAN_LEXER to KOREAN_MORPH_LEXER.
    Note 300172.1 Obsolescence of KOREAN_LEXER Lexer Type

    Hi Srini
    Thank you very much. now i got it.
    Oracle asked me to identify the CTXCAT indexes with KOREAN_LEXER execute the following query as user CTXSYS: if nothing return then i can skip this step.
    SELECT idx_name
    FROM ctxsys.ctx_indexes
    WHERE idx_type = 'CTXCAT'
    AND idx_name IN
    (SELECT ixo_index_name
    FROM ctxsys.ctx_index_objects
    WHERE ixo_class = 'LEXER'
    AND ixo_object = 'KOREAN_MORPH_LEXER ');
    SELECT isl_index_owner,isl_index_name,isl_language
    FROM CTXSYS.ctx_index_sub_lexers
    WHERE isl_object = 'KOREAN_MORPH_LEXER';

  • Oracle Text Search Problem

    hi,
    we have implemented oracle text search. When trying to search a keyword contains in Adobe Reader 7.0 pdf version no search result is showing while the same keyword search is showing the pdf file which is in Adobe Reader 6.0.
    Can any one please help with the way out?
    Oracle Version:Oracle10g(Release 2)
    //saby

    usually this sort of thing occurs when the filters that you are using predate the release of acrobat involved. I don't know for sure the dates on your particular versions - and indeed you don't give us the db patch level - but a metalink search should reveal this.
    Niall Litchfield

  • Why oracle text index column taking long  time

    why oracle text index column is taking long time to return result.I created text index on a column if I run the query on a single table result is very fast.If I join table with other table (10 records only )
    it is taking long time but in explain plan it is searching by index only.
    I created this index for searching a varchar2 column,the data is comma seperated values like ( UK,US,IT,BR) and the table having records 20 lakhs.Normally if I query with like operater
    ( like '%US%' ) it is taking full table scan because I am using '%' both sides. Please help me on this regard how to search the data with less time. Here is may sample code and explain plan.
    SQL*Plus: Release 9.2.0.1.0 - Production on Wed Jan 28 16:54:22 2009
    Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
    Connected to:
    Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
    With the Partitioning, OLAP and Oracle Data Mining options
    JServer Release 9.2.0.1.0 - Production
    SQL&gt; set timing on
    SQL&gt; set linesize 180
    SQL&gt; explain plan for SELECT T.esongid FROM (SELECT A.ESONGID FROM wcmedeco.EDECO_ESONGS_TERR_CTRY 
    A WHERE CONTAINS(A.TERR_CTRY_NAMES,'US')&gt;0  
      2  GROUP BY A.ESONGID)K,T
      3  WHERE  K.ESONGID=T.ESONGID;
    Explained.
    Elapsed: 00:00:00.01
    SQL&gt; select *from table(dbms_xplan.display);
    PLAN_TABLE_OUTPUT
    | Id  | Operation                      |  Name                   | Rows  | Bytes | Cost  |
    |   0 | SELECT STATEMENT               |                         |     1 |    26 |     4 |
    |   1 |  NESTED LOOPS                  |                         |     1 |    26 |     4 |
    |   2 |   VIEW                         |                         |     1 |    13 |     4 |
    |   3 |    SORT GROUP BY               |                         |     1 |    89 |     4 |
    |   4 |     TABLE ACCESS BY INDEX ROWID| EDECO_ESONGS_TERR_CTRY  |     1 |    89 |     2 |
    |   5 |      DOMAIN INDEX              | IDX_TERR_CTRY_NAMES     |       |       |     0 |
    |   6 |   INDEX RANGE SCAN             | IDX_ESONGID_T           |     1 |    13 |     1 |
    PLAN_TABLE_OUTPUT
    Note: cpu costing is off, 'PLAN_TABLE' is old version
    14 rows selected.
    Elapsed: 00:00:00.00
    SQL&gt; Regards,
    Rajasekhar

    You have not formatted your code properly so we cannot see the query you're executing. Please put some line breaks in.
    Secondly, how fresh are the statistics on those tables? Are you really returning one record out of twenty million?
    Cheers, APC
    blog: http://radiofreetooting.blogspot.com

  • Using psp with oracle text.

    we are design a simple document management application using psp with oracle text.
    we can query on index and finding the record and display the result on browser page.
    but we can't take document link on the same browser page. So we can't take document itself.
    We are using Oracle database release 1 text
    Thanks for your help.

    Sorry. The correct one is http://otn.oracle.com/docs/products/oracle9i/doc_library/release2/text.920/a96517/acase.htm#620714

  • Who's using Oracle Text?

    Hi all,
    I've done some experimenting with Oracle Text, and it seems to
    offer some handy stuff. I am a bit disappointed with the quality
    of the INSO filtering technology, especially for PDFs. There are
    also some items that seem, at best, extremely difficult, and at
    worst, impossible. (Highlighting a matched search term found in
    a PDF file comes to mind. It's not going to do my users a whole
    lot of good to get a match to a search in a 200 page PDF file,
    just to then have to go digging all the way through Acrobat
    Reader to get to the actual content that matched...) My initial
    impression is that this may be great if you just have a pile of
    ASCII text files, but that using it for much more than that is
    pushing it...
    Anyway, I've done lots of digging through here and Metalink, and
    have seen tons of weird kinds of problems. What I'm looking for
    are some stories: Tell me how you used it to do something good.
    Let me know what the problems were, and how you surmounted them
    (or didn't). Basically, I'd like to get some personal
    experiences from folks that I can use to make a determination
    whether I should continue to investigate using this tool, or if I
    should pursue a third-party solution (like Verity, etc.).
    Advice from folks with specific experience doing
    document/content/knowledge management with Oracle Text would be
    appreciated as well.
    Thanks!
    Sean

    Sean,Steve, first: Thanks for the response! I'd about given up on
    this thread ;-)
    You certainly bring up some interesting points.
    Couple fo points from my side ...
    1. I am affiliated with Oracle - I work in the Product team,
    doing Product managementThanks for being up front about that. I only questioned Omar
    about it simply because his "Author" identifier didn't show an
    e-mail address -- yours does, so I could've figured it out.
    2. You are quite correct that the point of these forums is to get
    real customers to discuss real applications/problems/solutions.
    This Text forum seems to be getting some input from customers,
    though it's patchy.I assumed that was the case, but I've been a bit disappointed in
    the results (not specifically about this thread, just in general
    from reviewing various other forums too -- not that I've been
    anywhere near exhaustive in my reading of all the forums.) In
    retrospect, I should've just left the PDF filtering question out.
    It changed the focus of this thread from "what cool stuff are
    you doing with Oracle Text and how hard was it to do?" to "the
    filtering sucks and can we fix it." I didn't mean for that to
    happen, and got a bit too short with Omar as a result.
    As usual, hindsight's 20/20.
    I tend to come more from an "open source" (don't judge me for
    that, I don't particularly care for that term -- I just use it
    for lack of a current better term) perspective -- basically
    fairly open discussions about projects with lots of sharing of
    ideas and such. It seems from an outsider's perspective (I'm
    very new to the Oracle world) that the current culture may not be
    quite ready for that (see Oliver's post before yours above). We
    seem to end up here less "talking about stuff" and more "help,
    it's broken!" That's perfectly OK, but it seems like we already
    have that in the Metalink forums (although I guess this area is
    more public). I'd venture that this tendancy might disappear
    over time, especially if discussions are fostered by Oracle (like
    you're doing here -- thanks again!).
    Will you be at Oracle OpenWorld in December ?
    We are trying to set up a SIG within the Oracle User Group, as a
    further incentive for customers to have these kinds of
    discussions.Unfortunately, no. I'll be traveling most of the month of
    December for the holidays. I really wish I was going now though,
    it would be great to get in on that. I'll definately try to make
    it next time.
    3. Yes it is difficult to highlight within a PDF document. You
    don't say which version you are using, but we recently (8.1.7)
    switched to INSO for our PDF filter (before that we used INSO for
    everything except PDF). The 9i PDF filter is much better : and
    the 9.2 (not yet released, but a backport is available) is better
    still.I'm using 8.1.7.2 -- I'll be moving to 9i soon (probably late
    this year or first thing after the new year). I look forward to
    seeing how the filters do in the new version.
    When I've recently talked to other vendors that are managing to
    do the PDF highlighting (Verity and Convera, for example) they've
    indicated that there is a standard mechanism to specify word
    highlighting when you launch or trigger the reader. I haven't
    checked into it beyond that, but at least it's a thread of hope.
    PDF is a difficult format to work with. It's intended to be a
    "print format" or "final-form format", i.e. it was never intended
    to be filtered/indexed/highlighted.Yeah, there are several problems with it. Unfortunately (or
    fortunately, depending on your viewpoint) it's fairly ubiquitous,
    so I'm stuck with it. I'd still rather have the documents in PDF
    than something even more proprietary though. At least I can get
    a reliable viewer for PDFs for my UNIX systems.
    I've seen a number of
    companies that claim to do PDF filtering and highlighting, but
    I haven't yet seen anyone that makes a great job of it. We have
    discussed this with Adobe : watch this space, hopefully we'll be
    able to provide a better solution soon.That would be excellent. I personally have seen it work
    adequately. It may not be perfect, but it's still handy. When
    speaking with a Verity rep, they indicated something about the
    reader accepting an XML stream of positioning data and then he
    clammed up (this guy may just have been blowing smoke so take
    that with as many grains of salt as you like).
    Meanwhile I, like you, encourage other customers to speak up on
    this forum - I'd certainly like to know more about people's
    experiences and requirements in this area.Thank you for your encouragement. My responses here in no way
    reflect any disatisfaction with Oracle products. I'm having a
    good time using a solid database for a change. I just want to
    insure I use it to its fullest, and that's why I'm here.
    Oh, and if anybody wants the advice of an old-school UNIX geek,
    I'll be around ;-)
    Sean

  • ODF support in Oracle Text 10g R2 version ??

    Currently, we are using Oracle Text 10g Release 2 version for HTML section searching in our application. we don't have any issues in Microsoft office 2003 documents.
    But, when we use Open office documents(ODF), it is not working. It is throwing the following exception:
    java.sql.SQLException: ORA-20000: Oracle Text error:
    DRG-11207: user filter command exited with status 1
    DRG-11222: Third-party filter does not support this known document format.
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.CTX_DOC", line 825
    ORA-06512: at line 1
    We are using "AUT_FILTER" filter technology.
    Any ideas for solving this issue?

    You start to have to think outside the box at this point -- AUTO_LEXER isn't going to be able to support you natively.
    You could file an SR, and let Oracle tell you whether they'd be willing to integrate changes (like new Verity libraries as they are developed) to 10.2.
    That assumes that Autonomy (owner of Verity) has improved their support for ODF.
    The OpenOffice formats are all xml-based; you could write something custom to extract the text from your openoffice files and submit them to Oracle as straight XML. I've done something similar to support Office 2007 formats.
    You could write a custom USER_LEXER (which is essentially the same as custom extraction, but may be an easier place to hook in your custom code).
    That's the main reason I suggested moving up to 11g -- none of the other choices have any easy, short-term fix or workaround.

  • Oracle Text query: Escaping characters and specifying progression sequences

    How can I combine the escaping of a search string and the specification of progression sequences within an oracle text query
    so that in all cases the correct results are delivered (see example below)?
    The scenario in which to use this is the following:
    + Database: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0
    + Requirement: Hitlist of results ordered by score whereby the different part within
    the result list are specified using progression sequences within oracle text query
    Example:
    create table service_provider (
    id number,
    name_c varchar(100),
    uri_c varchar(255)
    insert into service_provider values (1,'ABB Company Mgmt','http://www.abb-company-mgmt.de');
    insert into service_provider values (2,'Dr. Abbas Ming','http://www.dr-abbas-ming.de');
    insert into service_provider values (3,'SABBATA United','http://www.sabbata-united.de');
    insert into service_provider values (4,'ABB','http://www.abb.de');
    insert into service_provider values (5,'AND Company Mgmt','http://www.and-company-mgmt.de');
    insert into service_provider values (6,'Dr. Andas Ming','http://www.dr-andas-ming.de');
    insert into service_provider values (7,'SANDATA United','http://www.sandata-united.de');
    insert into service_provider values (8,'AND','http://www.and.de');
    Query 1: works correctly in this case
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>abb</seq>' ||
    '<seq>abb%</seq>' ||
    '<seq>%abb%</seq>' ||
    '<seq>fuzzy(abb,1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     4     ABB     http://www.abb.de
    76     1     ABB Company Mgmt     http://www.abb-company-mgmt.de
    51     2     Dr. Abbas Ming     http://www.dr-abbas-ming.de
    26     3     SABBATA United     http://www.sabbata-united.de
    Query 2: procudes error
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>and</seq>' ||
    '<seq>and%</seq>' ||
    '<seq>%and%</seq>' ||
    '<seq>fuzzy(and,1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    produces ORA-29902, ORA-20000, DRG-50901 because AND is a reserved word in oracle text
    So we need escaping ...
    Query 3: does not work correctly
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>{abb}</seq>' ||
    '<seq>{abb%}</seq>' ||
    '<seq>{%abb%}</seq>' ||
    '<seq>fuzzy({abb},1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     4     ABB     http://www.abb.de
    76     1     ABB Company Mgmt     http://www.abb-company-mgmt.de
    Query 4: does not produce an error, but also does not work correctly
    select * from (
    select /*+ FIRST_ROWS */ score(1), this_.*
    from service_provider this_
    where
    CONTAINS ( this_.NAME_C , '<QUERY><textquery grammar="CONTEXT">' ||
    '<progression>' ||
    '<seq>{and}</seq>' ||
    '<seq>{and%}</seq>' ||
    '<seq>{%and%}</seq>' ||
    '<seq>fuzzy({and},1,100,WEIGHT)</seq>' ||
    '</progression></textquery></QUERY>', 1 ) > 0
    order by score(1) desc, this_.NAME_C
    ) where rownum < 21
    delivers
    76     8     AND     http://www.and.de
    76     5     AND Company Mgmt     http://www.and-company-mgmt.de

    Anywhere that you just use the word by itself, enclose it in {}, but anywhere that you add % on either side or both don't enclose it in {}. Please see the demonstration below.
    SCOTT@10gXE> SELECT * FROM v$version
      2  /
    BANNER
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE     10.2.0.1.0     Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    SCOTT@10gXE> create table service_provider
      2    (id     number,
      3       name_c     varchar(100),
      4       uri_c     varchar(255))
      5  /
    Table created.
    SCOTT@10gXE> insert all
      2  into service_provider values (1,'ABB Company Mgmt','http://www.abb-company-mgmt.de')
      3  into service_provider values (2,'Dr. Abbas Ming','http://www.dr-abbas-ming.de')
      4  into service_provider values (3,'SABBATA United','http://www.sabbata-united.de')
      5  into service_provider values (4,'ABB','http://www.abb.de')
      6  into service_provider values (5,'AND Company Mgmt','http://www.and-company-mgmt.de')
      7  into service_provider values (6,'Dr. Andas Ming','http://www.dr-andas-ming.de')
      8  into service_provider values (7,'SANDATA United','http://www.sandata-united.de')
      9  into service_provider values (8,'AND','http://www.and.de')
    10  into service_provider values (9,'EBB','fuzzy test')
    11  into service_provider values (10,'OND','fuzzy test')
    12  select * from dual
    13  /
    10 rows created.
    SCOTT@10gXE> CREATE INDEX your_index
      2  ON service_provider (name_c)
      3  INDEXTYPE IS CTXSYS.CONTEXT
      4  PARAMETERS ('STOPLIST CTXSYS.EMPTY_STOPLIST')
      5  /
    Index created.
    SCOTT@10gXE> VARIABLE search_string VARCHAR2 (100)
    SCOTT@10gXE> EXEC :search_string := 'abb'
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> COLUMN name_c FORMAT A20 WORD_WRAPPED
    SCOTT@10gXE> COLUMN uri_c  FORMAT A40
    SCOTT@10gXE> select *
      2  from   (select /*+ FIRST_ROWS */ score(1), this_.*
      3            from   service_provider this_
      4            where  CONTAINS
      5                  (this_.NAME_C ,
      6                   '<QUERY>
      7                   <textquery grammar="CONTEXT">
      8                     <progression>
      9                       <seq>{'         || :search_string || '}</seq>
    10                       <seq>'         || :search_string || '%</seq>
    11                       <seq>%'         || :search_string || '%</seq>
    12                       <seq>fuzzy({' || :search_string || '},1,100,WEIGHT)</seq>
    13                     </progression>
    14                  </textquery>
    15                   </QUERY>', 1 ) > 0
    16            order  by score(1) desc, this_.NAME_C)
    17  where  rownum < 21
    18  /
      SCORE(1)         ID NAME_C               URI_C
            76          4 ABB                  http://www.abb.de
            76          1 ABB Company Mgmt     http://www.abb-company-mgmt.de
            51          2 Dr. Abbas Ming       http://www.dr-abbas-ming.de
            26          3 SABBATA United       http://www.sabbata-united.de
             4          9 EBB                  fuzzy test
    SCOTT@10gXE> EXEC :search_string := 'and'
    PL/SQL procedure successfully completed.
    SCOTT@10gXE> /
      SCORE(1)         ID NAME_C               URI_C
            76          8 AND                  http://www.and.de
            76          5 AND Company Mgmt     http://www.and-company-mgmt.de
            51          6 Dr. Andas Ming       http://www.dr-andas-ming.de
            26          7 SANDATA United       http://www.sandata-united.de
             5         10 OND                  fuzzy test
    SCOTT@10gXE>

  • Oracle Text and Order By

    In the Portal Search Properties you can turn on Oracle
    Text Searching. When reading the help page for that
    page you can follow a link at the bottom to a help page
    called "Performing a custom search". In the middle
    of that page there is a section called "Order By List".
    The third paragraph contains this sentence: "If Oracle
    Text is enabled, this option does not appear in the
    search submission portlet.".
    What is seems to mean is that if you turn on Oracle Text
    the developer or user can no longer have control of the
    order of found items.
    Is there really no way (even undocumented) of ordering
    found items when Oracle Text is used?
    As I have custom attributes on my custom items I must
    use Oracle Text if I want a search to work on those
    attributes, right?
    I have added a hidden field called p_order_by_attribute
    in my search form with the value "3,0" that should mean
    Display Name but without effect.
    Kind regards
    Tomas Albinsson
    Stockhlm, Sweden

    When Oracle Text is enabled there is no way to order search results as they will always be ordered by Oracle text score.
    Enabling Order By feature with Oracle Text on is a planned feature for a future release.

  • Problems with bound parameters in oracle text queries

    Executing the following query I get strange effects depending on the value I pass for the search string :str ...
    With value "Med" everything works fine and I get the results I have expected.
    But when passing "Tech" as value to the query, the result is ORA-20000 and DRG-50901 (Oracle Text error, syntax error in parser)
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || :str || '}</seq><seq>'
    || :str || '%</seq><seq>%'
    || :str || '%</seq><seq>fuzzy({'
    || :str || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) <> 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    When passing the search string "Tech" directly to the query without using bound paramters, everthing works fine:
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || 'Tech' || '}</seq><seq>'
    || 'Tech' || '%</seq><seq>%'
    || 'Tech' || '%</seq><seq>fuzzy({'
    || 'Tech' || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) <> 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    Also, when I use >0 instead of <>0 everthing works fine:
    select * from (
    SELECT /*+ FIRST_ROWS */ *
    FROM SERVICE_CATEGORY sCat
    WHERE (
    CONTAINS ( sCat.SERVICE_CATEGORY_C , '<QUERY><textquery grammar="CONTEXT"><progression><seq>{'
    || 'Tech' || '}</seq><seq>'
    || 'Tech' || '%</seq><seq>%'
    || 'Tech' || '%</seq><seq>fuzzy({'
    || 'Tech' || '},1,100,WEIGHT)</seq></progression></textquery></QUERY>', 1 ) > 0 AND
    sCat.SERVICE_TYPE_C IS NULL AND sCat.SERVICE_SPECIALTY_C IS NULL )
    ORDER BY score(1) DESC ) where rownum <= 20
    Does anybody have an explanation for the strange effect when using a bound parameter in combination with <> 0?

    I don't know why your query using bind variables is giving you a problem but use of literal inside CONTAINS second argument is encouraged anyway over bind variables starting with 10gR2 (unless you are confident enough about the cost and selectivity of your queries to the extent that you can use SQL hint instead). The literal replacement feature introduced in release 9i caused a hard-parse if the literal value changed but starting with 10gR2, at least for CONTAINS, a hard-parse is avoided even if the literal value has changed as long as the cost and selectivity is similar to an existing cursor in the library cache (e.g. within 10%).
    Faisal

  • Oracle Text valid file formats

    We are using Oracle Text 10g release 1. In the Oracle Text documentation in appendix B it lists all the supported file formats Oracle text can filter and turn to text. Does anyone know whether there is a document that not only has the supported file formats but also the file extensions of these file types?

    Hi,
    It depends on your release of 10gR1 as to the filter you'll use. At 10.1.0.4 the Verity KeyView filter is used. Prior to that (in 10gR1) the INSO filter was used. This determines the file formats that are supported.
    Depending on your release, you can 'Google' for either INSO filter or Verity KeyView filter and get more details on the filters.
    Thanks,
    Ron

Maybe you are looking for

  • I am using the wrong language to access a secure website. How can I change it to English?

    I am trying to access my university account from a computer in Germany and while I can access some features, such as e-mail, it is not allowing me access to my secure faculty account. The message I am getting is that I am using the wrong language, i.

  • Sales Order item should not be allowed to modify after doing PGI.

    Dear all SAP experts, When i create a sales order say for 10 pieces. Now I have created the delivery for all the 10 pieces & also created the invoice. My requirement is when i create a delivery for all 10 pieces then after doing the PGI the system sh

  • Talisman web-router setup

    I have a WRT54G v. 2.2, and through previous experiences I realised that I have to first clone my MAC address in order for the router to connect to  the internet. However, when i put in 192.168.1.1 into my web browser, and put in my user name and pas

  • Problem with save directory in photobooth

    I installed Leopard this week and when I go into photobooth I get this message: There was a problem creating the photo save directory /Users/Pictures/Photobooth. Your photos cannot be saved. Has anyone else seen this? Do you know what to do? I have p

  • WF table overview is diff from applet view

    Hi, Here is the issue. When i checked my SC approval, it shows in Table view, Awaiting approval at 2nd level. Where as in applet view, it displays both 1st and 2nd levels as approved. How come i am getting 2 diff status? I guess its a bug.. Did anyon