All parameter memory index for Oracle text indexes

Hi Experts,

I'm on Oracle 11.2.0.3 on Linux and have implemented Oracle Text. I'm not an expert in this area and need help on a question. I created the Oracle text index with the default setting. However, in a white paper of oracle, I read that the default setting is perhaps not good. Excerpt from the white paper by Roger Ford:

URL:http://www.oracle.com/technetwork/database/enterprise-edition/index-maintenance-089308.html

"(Part of this white paper below. )" ...)

Index memory as mentioned above, $I entries cached emptied out on the disk each time the indexing memory is exhausted. The default index to installing memory is a simple 12MB, which is very low. At the time of creating indexes, users can specify up to 50 MB, but it is still quite low.                                   

This would be by a CREATE INDEX, something like statement:

 CREATE INDEX myindex ON mytable(mycol) INDEXTYPE IS ctxsys.context PARAMETERS ('index memory 50M');  

Allow index of the parameters of memory beyond 50 MB, the CTXSYS user must first of all increase the value of the MAX_INDEX_MEMORY parameter, like this:

 begin ctx_adm.set_parameter('max_index_memory', '500M'); end;  

The parameter memory must never be high point causes paging, because this will have a serious effect on indexing speed. The smallest of dedicated systems, it is sometimes advantageous to temporarily reduce the amount of memory consumed by the Oracle SGA (for example by reducing DB_CACHE_SIZE and/or SHARED_POOL_SIZE) during the index creation process. Once the index has been created, the size of the SGA can be increased again to improve query performance. & quot;

(End of the excerpt from the white paper)


My question is:

(1) to apply this procedure (ctx_adm.set_parameter) obliged me to log on as user CTXSYS. Is this fair? or can it be avoided and will be based on the application schema? The CTXSYS user is locked by default and I had to unlock it. Is this OK to do it in production?

(2) what value I should use for the max_index_memory there are 500 MB - my SGA is 2 GB in Dev / QA and / 3 GB in the production. Also in the creation of the index which is the value should I set for the parameter memory index - I had left to default, but how do I change now? Should it be 50 MB as shown in the example above?

(3) the white paper also refer to the reconstruction of an index to an interval like once a month: ALTER INDEX DR$ index_name$ X REBUILD online;

-Is this good advice? I would like to ask the experts once before doing this.  We are on Oracle 11 g and the white paper was drafted in 2003.

Basically, while I read the book, I'm still not clear on many aspects and need help to understand this.

Thank you

OrauserN

Index entries are built in memory, and then flushed to disk, memory is exhausted. With a setting of high index memory will mean the index entries can be longer and less fragmented, which provides better performance of the query.  Conversely, a small memory parameter index will mean emptied the disk pieces are smaller, so queries (especially on common words) will have to do a lot more e/s to extract several pieces of index for the words.

Tags: Database

Similar Questions

  • Installation of APEX without Oracle Text Option

    Hello

    Is it possible to install the APEX 3.1.2 or 3.2 without the Option of text? The doc said yes, but the apex help can´t serve.
    The last time I tried it on a client side, I had a Setup error (but I can´t don't forget the text of the error)
    After the installation of Oracle TEXT it was ok.

    Thank you
    Marco

    Marco,

    I won't ask why you do not need help online? :-)

    But nevertheless, the installation program performs a check of the prerequisites for Oracle Text and will close if it is not installed.

    Tarraf

  • Is the XML API for Oracle 10.1, the same version 10.2?

    Hi all

    The XML API for Oracle 10.1, the same version 10.2 or 10.2 include additions?

    Kind regards

    Tim

    N °

    http://download.Oracle.com/docs/CD/B19306_01/server.102/b14214/Chapter1.htm#OBJECTIVENO04031

    Werner

  • Oracle Text, create index (indextype is ctxsys.context)

    Dear Sirs,

    I am a new user of text Oracle (Oracle 11 g release 11.2) and I'm unable to create an index of type ctxsys.context). Any suggestions? :

    Code:
    drop table mytable;
    drop index myindex force;
    create table mytable (id number primary key, docs clob);

    insert into mytable values (111555, "this text will be indexed '");
    insert into mytable values (111556, "it is an example of default data store");
    commit;

    create index myindex on mytable (docs)
    indexType is ctxsys.context
    parameters ("DATASTORE CTXSYS. DEFAULT_DATASTORE');
    +++++++
    error messages:
    create index myindex on mytable (docs)
    *
    ERROR on line 1:
    ORA-29855: an error has occurred in the execution of routine ODCIINDEXCREATE
    ORA-20000: Oracle text error:
    ORA-06508: PL/SQL: called program unit is not found
    ORA-06512: at "CTXSYS. DRUE", line 160
    ORA-06512: at "CTXSYS. TEXTINDEXMETHODS', line 366

    Please check for invalid objects. Connect as sys or system and run:

    Select object owner, object_name, object_type where status = 'INVALID ';

    View the results here and we will advise the next step.
    If all the objects owned by CTXSYS are not valid, you will need to recompile the schema CTXSYS.

  • Oracle Text, multi_column_datastore describe index

    Referring to the Re: Oracle Text, ctxsys.context problem with column number

    TOAD or SQL Navigator, you can click on an object any (such as a table, index) and click on the "script" tab where the code is generated to create.

    Assuming that I am a person who sees the index for the first time where/how I can find multi_columns/settings with which the index has been created?

    For example:
    exec ctx_ddl.drop_preference( 'myds' );
    exec ctx_ddl.create_preference( 'myds', 'MULTI_COLUMN_DATASTORE' );
    exec ctx_ddl.set_attribute( 'myds', 'COLUMNS', 'item_barcode, item_title, item_subtitle' );
    CREATE INDEX i_index_test
       ON item (item_title)
       INDEXTYPE IS ctxsys.context
       PARAMETERS ( 'datastore myds' );
    And script says:
    CREATE INDEX PLSQL.I_INDEX_TEST ON PLSQL.ITEM
    (ITEM_TITLE)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('datastore myds')
    NOPARALLEL;
    Where can I find datastore "myds"?

    You can use ctx_report to get information about an index.

    I use it for SQL * more like this:

    set pagesize 0
    set heading off
    set trimspool on
    set long 500000
    
    spool index.sql
    
    select ctx_report.create_index_script('MyIndexName') from dual;
    
    spool off
    

    The only thing it will not give you is the source for all of the procedures used in the user_datastore. You can get to user_sources.

  • Oracle Text Index

    Hi all

    I have a question about the Oracle text Index:

    The used Oracle text index after entering data in the CLOB column or before? or anytime.


    CREATE the INDEX Ora_TXT_Index_ON_Test ON te1 (name) INDEXTYPE IS CTXSYS. CONTEXT;

    EXEC DBMS_STATS. GATHER_TABLE_STATS (waterfall of the USER 'TE1' = > TRUE);

    concerning

    Hello
    a text index is not used in the normal way. You must use a clause in your SQL statement that is looking for your text by using the keyword Index of contains. An Oracle text Index will be refreshd of way manual or if you specify validation to your index.

    Perhaps this links help
    http://Oracle-text-de.blogspot.co.at/2008/06/scoring-MIT-Oracle-text.html
    http://docs.Oracle.com/CD/B19306_01/text.102/b14218/cqoper.htm

    concerning
    Peter

  • Oracle Text Index rebuilt manually or automatically by DEFAULT

    For the following statement:

    "The Oracle * text (officially called Oracle and Oracle Intermedia context) utility allows us to analyze through a column of large text and indexes on the words in the column."

    Unlike the ordinary tree or bitmap index, index of context, ctxcat and ctxrule Oracle may be * set isn't content update is changed.* like most of Oracle databases will use with standard relational tables ctxcat index, you must decide on a refresh interval.  Oracle provides the SYNC operator for this.  The default value is SY ^ NC = MANUAL and you must manually synchronize the index with CTX_DDL. SYNC_INDEX.

    SYNC (MANUAL |) EACH interval 'string ' | ON VALIDATION)]

    «As a result, Oracle Text indexes are only useful for removing full table scans when tables are read-only in large part and/or end users don't mind not having 100% search reminder»

    -My question: the statement above claims: "Oracle indexes context, ctxcat and ctxrule can be configured to not update the content is changed. '." " Then what is the default setting for updating the index, manual or automatic? For example:

    First of all, I created an index like this: create index users_address_idx on users (address) indextype is ctxsys.ctxcat;

    Then, I made a few changes on the table such that change the values of the column address for several lines.

    The Oracle system will rebuild the ctxcat index automatically?

    What does the ' default is SY ^ NC = MANUAL "as shown in the quote?


    Thank you for helping.

    Scott

    scottjhn wrote:
    This source: http://www.dba-oracle.com/oracle_tips_like_sql_index.htm States:

    All first upward, please do not use the Web sites which present only part of the information and instead to advertise their services.

    -My question: the statement above claims: "Oracle indexes context, ctxcat and ctxrule can be configured to not update the content is changed. '." " Then what is the default setting for updating the index, manual or automatic? For example:

    First of all, I created an index like this: create index users_address_idx on users (address) indextype is ctxsys.ctxcat;

    Then, I made a few changes on the table such that change the values of the column address for several lines.

    The Oracle system will rebuild the ctxcat index automatically?

    No, the deafult is SYNC = MANUAL
    http://docs.Oracle.com/CD/B28359_01/text.111/b28304/csql.htm#CIHGAAFI
    >

    What does the ' default is SY ^ NC = MANUAL "as shown in the quote?

    This means that the need for the Index to synchronize manually
    http://docs.Oracle.com/CD/B28359_01/text.111/b28304/cddlpkg.htm#i998469

  • ORACLE TEXT INDEX ON COLUMN VARCHAR2

    Hi all
    I find a search in our application very slow so I thought using ORACLE TEXT CTXCAT index based search but I find some inconsistencies. How can this be avoided... The following query should not return if I can replace with the text of the oracle, but I find few values... why result... I also gave some results of the sample below...

    SELECT first_name
    Of uc_partner_ms
    WHERE
    Upper (first_name) LIKE '% WIE % '.
    less
    SELECT first_name
    Of uc_partner_ms
    WHERE CATSEARCH (name,'* wie *', null) > 0

    RESULTS...

    Hans-Werner Mrowiec
    Heinz Oesterwiemann GmbH
    Helmut Froitzheim GmbH, Neuwied
    Heribert Schwies
    Hermann Twieling GmbH & Co. KG
    Breitwieser Horst
    Horst-Dieter Swie

    The script used to create indexes is

    Start
    ctx_ddl.create_preference ('mylex', 'BASIC_LEXER');
    ctx_ddl.set_attribute ('mylex', 'index_themes', 'NO');
    ctx_ddl.set_attribute ('mylex', 'mixed_case', 'NO');
    end;

    CREATE INDEX partner_index ON uc_partner_ms (first name)
    INDEXTYPE IS CTXSYS. CTXCAT
    parameters ('mylex LEXER');


    Where am I wrong that I couldn't guess a trend in the other that all results be lowercase...

    (1) what is the difference tag brings in the query?

    This is the QUERY MODEL, which allows you to use the CONTEXT GRAMMAR on the CTXCAT index, as if you were using CONTAINS. There are examples in the documentation here:

    http://download.Oracle.com/docs/CD/B19306_01/text.102/b14218/csql.htm#i1000002

    (2) is it a good idea to replace catsearch for like operator leader %?

    The wildcard character for a CATSEARCH operator on a CTXCAT index is the asterisk. The wildcard character for an operator CONTAINS a CONTEXT index is a percent sign. CATSEARCH does not support major wildcards, you can use a word followed by an asterisk, but not preceded by an asterisk. The percent sign is not a valid wildcard with CATSEARCH. However, when you use the query template and specify GRAMMAR = "CONTEXT". Then, it's as if you were using a CONTAINS operator with a CONTEXT index, so you can use a wildcard of beginning and the % sign is the wildcard character. You can use AS with signs of percentage before and after, but it is likely to be very slow, because it cannot use an index. If the main characters using generic is going to be a frequent requirement, then you would probably be better with a hint of CONTEXT with a BASIC_WORDLIST valued SUBSTRING_INDEX true for optimal speed.

    (3) also, I read in 10 g, the maximum number of rows returned is only 15000. is this true?

    N ° you probably read about the WILDCARD_MAXTERMS of 15,000 in 10 g limit. This is the maximum number of separate tokens (not lines) that can match a wildcard character without producing an error. In 11g the maximum is 50,000. The default values are lower. If you want to allow a large number of generic searches that match a large number of chips, then you probably assign the WILDCARD_MAXTERMS the most. However, there will always be some queries that are too general, you should plan to trap the error and returns a comprehensible message to your user, asking them that their search is too broad and to enter a value for more specific search.

  • (9.2.0.5.0) 9i - Oracle Text - Indexing of Oracle files on the FTP server

    I'm using Oracle 9i (9.2.0.5.0) and I cannot upgrade to a newer version of Oracle DB.
    I am new to this technology, and I have not tried it yet myself.

    I was reading some articles, documents or references on Oracle text technology and I find that Oracle text must be able to create an index of context on files residing on the FTP server.
    I also discovered that, for this purpose, a 'URL_DATASTORE' should be used.

    I'd be happy if someone can answer my question before I decide to start using this technology:
    Is there a limitation that I should be informed when creating index of context on files residing on the FTP server? (file size limit, limitation of the types of files supported)
    -In the creation of the index process are the files indexed, downloaded and copied in the Oracle database permanently or only temporarily until the index is created?
    -Everything is of incremental indexing (when I add new files in the data store that I don't have to rebuild the entire index)?
    There there a formula between context index disk size and the disk size indexed files?

    Kind regards

    Michal

    Is there a limitation that I should be informed when creating index of context on files residing on the FTP server? (file size limit, limitation of the types of files supported)
    Maximum file size is configurable up to 2 GB. No limitation on the file type from the data store itself, but if you want to process binary file list filter suported file formats will apply (see the appendix in the Administrator's guide)

    -In the creation of the index process are the files indexed, downloaded and copied in the Oracle database permanently or only temporarily until the index is created?
    That temporarily

    -Everything is of incremental indexing (when I add new files in the data store that I don't have to rebuild the entire index)?
    The question, I suspect that you see this as a robot - you expect to provide the address of an FTP site and have it look for all documents. This isn't how it works. Instead, you must place all of the URLS in a table, and text will index these URLS (and only these URLs)

    If new files are added, you must reorganize somehow having the new lines added to your table. Then the text will do an incremental update, it will not have to rebuild the entire index.

    There there a formula between context index disk size and the disk size indexed files?
    It varies a lot depending on the data types and indexing of selected options, but a typical result is that the index will be 40% of the total size of the file. However, if the documents are in the format (for example, Word, PDF) the percentage will be much smaller.

  • Problem indexing Oracle text

    Hi all

    We have recently migrated one of our database to oracle 10.2.0.2 to Oracle 10.2.0.4 and since that time, Oracle Text Engine an indexer is unable to work properly.

    Indexing data systematically result in the following error:
    DRG-50857: error oracle in dreii0fsh
    ORA-06550: line 1, column 106:
    PLS-00302: component 'S_MODE' must be declared.
    ORA-06550: line 1, column 10:
    PL/SQL: Statement ignored

    Note that the data that have been indexed with the previous Oracle version can still be found with ' Select... where... contains. ', although new datas not indexable at all.

    Can someone help me with this problem?

    Published by: methos on May 11, 2010 06:59

    See on metalink:

    "DRG-50857: oracle in dreii0fsh error ' when creating indexes of TEXT [750898.1 ID]"

    It seems that you updated the binaries, but Oracle not the text itself.

    Werner

  • Error while creating or rebuilding Oracle text Lexer keyword index

    Hi all
    I am getting following error when I create oracle text indexes using lexer & keyword in the list of stopwords.
    Please help me if any body know.
    Thanks in advance.


    Error from the 1 in the command line:
    CREATE INDEX TXT_INX_TEXT_SEARCH ON TEXT_SEARCH (BFILE_DOC)

    Post INDEXTYPE IS "CTXSYS. "" (LOCAL) CONTEXT.
    PARTITION SETTINGS "BEFORE_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "THE_REST' ('LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)')
    )
    Error in the command line: 1 column: 13
    Error report:
    SQL error: ORA-29855: error when executing routine ODCIINDEXCREATE
    ORA-20000: Oracle text error:
    DRG-11000: invalid keyword LEXER
    ORA-06512: at "CTXSYS. DRUE", line 160
    ORA-06512: at "CTXSYS. TEXTINDEXMETHODS', line 365
    29855 00000 - "an error occurred in the execution of routine ODCIINDEXCREATE.
    * Cause: Cannot run the ODCIIndexCreate routine.
    * Action: Check if the routine was coded correctly.


    Kind regards
    Jack R.

    Hello

    It works if you put a clause of additional PARAMETERS to the end, so the creation looks like:
    CREATE INDEX TXT_INX_TEXT_SEARCH ON TEXT_SEARCH (BFILE_DOC)
    INDEXTYPE IS "CTXSYS. "" (LOCAL) CONTEXT.
    PARTITION SETTINGS "BEFORE_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2007" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2008" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q1_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q2_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q3_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "Q4_2009" ("LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)"),
    PARTITION SETTINGS "THE_REST' ('LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)')
    )
    PARAMETERS ('LEXER dd_lexer list of words EMPTY dd_stoplist SYNC (ON COMMIT)')<==>

    Hope this helps

    Herald tiomela

  • Oracle text index - unexpected behavior

    We have a SEARCH_TABLE (in Oracle 12.1.0.1.0) with a couple of files (actually about 10,000,000 records):

    ID ADDRESS

    1     | WIMPEL | 57. 9733BK | GRONINGEN |

    2     | JOHAN WILSSTRAAT | 7 ||| 1333PV | ALMERE |

    3     | ABRAHAM KUYPERHOF | 10. 8091XN | WEZEP |


    To support research on the table addresses, we apply an Oracle text index:

    create index ST_CTX1 on SEARCH_TABLE (address)

    indexType is ctxsys.context

    parameters ("DATASTORE CTXSYS. DEFAULT_DATASTORE');


    Our research focuses on whole words (without jokers). When searching through the data, it usually comes back with the correct results.


    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'GRÖNING') > 0

    ;

    Returns nothing, that is correct. Once the search argument 'GRÖNING' is replaced by 'GRONINGEN', ID 1 is correctly selected. According to this behavior, the following query returns no records:

    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'ABR & KUYPERHOF') > 0

    ;


    Surprisingly, however, the following query returns record ID 3:

    SELECT THE ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, ' A & KUYPERHOF ') > 0

    ;

    (Even if data does not contain the complete word 'A'). This unexpected behavior only seems to occur when you use "A" as the initial character.

    The following query (with the search starting with the character 'J' argument) returns no data. Which is the expected behavior.

    SELECT the ID

    OF SEARCH_TABLE

    WHERE CONTAINS (ADDRESS, 'J & WILSSTRAAT') > 0

    ;

    Anyone has an idea why the text index returns with A situations? Any ideas on how to solve this problem are appreciated.

    Mark

    According to the list of empty words by default in 11.2, the letters a, d, i, s, and t are listed, so would be removed from the wanted list of tokens.  Thus, 'A & WILSSTRAAT' becomes '& WILSTRAAT' and search text line with a single word.  'j' is not an empty word, so it is considered to be a token is valid and is not in your tables.  Look in CTXSYS. CTX_STOPWORDS to see what you have.

  • Oracle Text multi column index based query returns no rows

    Hello

    I have a MAH_KERESES_MV table with 3 columns OBJEKTUM_NEV, KERESES_SZOVEG_1, KERESES_SZOVEG_2. I create the following Oracle multi column text index:

    ctx_ddl.create_preference exec ('MAH_SEARCH', 'MULTI_COLUMN_DATASTORE');
    ctx_ddl.set_attribute exec ('MAH_SEARCH', 'COLUMNS', 'OBJEKTUM_NEV, KERESES_SZOVEG_1, KERESES_SZOVEG_2');

    create index MAX_KERES_CTX on MAH_KERESES_MV (OBJEKTUM_NEV)
    indexType is ctxsys.context
    parameters ("DATASTORE MAH_SEARCH");
    But the query returns no rows, although if I make the query with the 'like' operator, and then I get the results as expected:

    SELECT id, OBJEKTUM_NEV
    OF MAH_KERESES_MV
    WHERE CONTAINS (OBJEKTUM_NEV, "C") > 0;

    Can some body please help? TIA,

    Tamas

    You can do it in Oracle Text, well it is not necessarily desirable.

    You can search the

    WHERE CONTAINS(OBJEKTUM_NEV, '%C%')>0;
    

    And it will probably work in a simple test. However, using a leader like this wildcard prevents them the index on the table "list of words" used, so such a request can be very slow on a large system.
    You can improve this by using SUBSTRING_INDEX, but making your much bigger index. And you could always hit the 'expansions too' problem if %C % expansion is more than about 15,000 words (depending on version and different settings).

    Also be aware of differences in case - %C % will match 'fact' or 'FACT', as part of a CONTAINS, but not part of a TYPE.

  • How FLASHBACK all TABLEs and indexes in a certain pattern for a restoration of p?

    Today I read a few web pages on how to use FLASHBACK to restore to a Restore Point.

    Unfortunately, all of these examples show just how to restore a single TABLE for example

    FLASHBACK TABLE t to RESTORE POINT before_we_do_anything;

    But how can I FLASHBACK all TABLEs (and indexes and other dependent objects) in a certain pattern to a one-step restore point)?

    FLASHBACK myschema.* to before_we_do_anything POINT of RESTORATION;

    does not work.

    Peter

    There is nothing like that. However, you could flashback the entire database to a point in time. It would of course have implications through patterns all the good.

    Nicolas.

  • Need help with the search for special characters in oracle text

    Hi all

    Oracle 11g sql developer 4.0 help

    I am facing this challenge where Oracle text when it comes to searching for text that contains a special character.

    What I've done so far with the help of http://www.orafaq.com/forum/t/162229/

    "CREATE TABLE"SOS" COMPANY ".

    (SELECT "COMPANY_ID" NUMBER (10,0) NOT NULL,)

    VARCHAR2 (50 BYTE) "COMPANY."

    VARCHAR2 (50 BYTE) "ADDRESS1"

    VARCHAR2 (10 BYTE) "ADDRESS2"

    VARCHAR2 (40 BYTE) 'CITY ',.

    VARCHAR2 (20 BYTE) 'STATE ', HE SAID.

    NUMBER (5.0) "ZIP".

    ) CREATION OF IMMEDIATE SEGMENT

    PCTFREE, PCTUSED, INITRANS 40 10 1 MAXTRANS 255 NOCOMPRESS SLAUGHTER

    STORAGE (INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645)

    PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS USER_TABLES DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT 1)

    TABLESPACE 'USERS ';

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (1, 'LSG SOLUTIONS LLC', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (2,' LOVE "S TRAVEL', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (3, 'DEVON ENERGY', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (4, 'SONIC INC', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (5, "MSCI", null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (6, 'ERNEST AND YOUNG', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (7, "JOHN DEER", null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (8,'Properties@Oklahoma, LLC', null, null, null, null, null);

    Insert into COMPANY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (9, 'D.D.T L.L.C.', null, null, null, null, null);

    BEGIN

    CTX_DDL. CREATE_PREFERENCE ("your_lexer", "BASIC_LEXER");

    CTX_DDL. SET_ATTRIBUTE ("your_lexer", "' SKIPJOINS,"., @-"'); -to jump. , @ - ' symbols

    END;

    /

    CREATE INDEX my_index2 ON COMPANY (COMPANY_NAME)

    INDEXTYPE IS CTXSYS. CONTEXT IN PARALLEL

    PARAMETERS ("LEXER your_lexer");

    SELECT
    company_name
    FROM company
    WHERE CATSEARCH(company.COMPANY_NAME, 'LLC','') > 0
    ORDER BY company.COMPANY_ID;
    
    

    output

    company_name

    1 LSG SOLUTIONS LLC

    2 Properties@Oklahoma, LLC

    only 2 rows back but must return 3

    It helps if you post a copy and paste of effective enforcement of the full code, including the results.  You posted an index of context with the query with catsearch, which requires a ctxcat index.  You must be a context clue that you did not post and did not add your lexer to.  The following table shows it returns all the lines of 3 as planned using either a with catsearch ctxcat index or a context index with contains, as long that you include the lexer in your create index.  You must also be sure that the index is created, or synchronized after inserting or updating data.

    Scott@ORCL >-version:

    Scott@ORCL > SELECT banner version of v$.

    BANNER

    --------------------------------------------------------------------------------

    Oracle Database 11 g Enterprise Edition Release 11.2.0.1.0 - 64 bit Production

    PL/SQL Release 11.2.0.1.0 - Production

    CORE 11.2.0.1.0 Production

    AMT for 64-bit Windows: Version 11.2.0.1.0 - Production

    NLSRTL Version 11.2.0.1.0 - Production

    5 selected lines.

    Scott@ORCL >-table and the test data:

    Scott@ORCL > CREATE TABLE 'SOCIETY '.

    2 ("COMPANY_ID" NUMBER (10,0) NULL NOT ACTIVATE,)

    3 'COMPANY_NAME' VARCHAR2 (50 BYTE),

    VARCHAR2 (50 BYTE) 4 "ADDRESS1"

    5 "ADDRESS2" VARCHAR2 (10 BYTE),

    VARCHAR2 (40 BYTE) 6 'CITY',

    7 VARCHAR2 (20 BYTE) 'STATE ', HE SAID.

    NUMBER (5.0) 8 'ZIP '.

    (9) THE CREATION OF IMMEDIATE SEGMENT

    PCTFREE 10 10 PCTUSED 40 INITRANS, MAXTRANS NOCOMPRESS SLAUGHTER 1 255

    11 STORAGE (INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645)

    12 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS USER_TABLES DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT 1)

    TABLESPACE 13 "USERS."

    Table created.

    Scott@ORCL > START

    2 insert in SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (1, 'LSG SOLUTIONS LLC', null, null, null, null, null);

    3 insert in SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (2,' LOVE "S TRAVEL', null, null, null, null, null);

    4 insert into SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (3, 'DEVON ENERGY', null, null, null, null, null);

    5 insert into SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (4, 'SONIC INC', null, null, null, null, null);

    6 insert in SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (5, "MSCI", null, null, null, null, null);

    7 insert into SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (6, 'ERNEST AND YOUNG', null, null, null, null, null);

    8 insert in SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (7, "JOHN DEER", null, null, null, null, null);

    9 insert in SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (8,'Properties@Oklahoma, LLC', null, null, null, null, null);

    10 insert into SOCIETY (COMPANY_ID, COMPANY_NAME, Address1, Address2, CITY, STATE, ZIP) values (9, 'D.D.T L.L.C.', null, null, null, null, null);

    11 END;

    12.

    PL/SQL procedure successfully completed.

    Scott@ORCL >-lexer:

    Scott@ORCL > START

    CTX_DDL 2. CREATE_PREFERENCE ("your_lexer", "BASIC_LEXER");

    CTX_DDL 3. SET_ATTRIBUTE ("your_lexer", "' SKIPJOINS,"., @-"'); -to jump. , @ - ' symbols

    4 END;

    5.

    PL/SQL procedure successfully completed.

    Scott@ORCL >-ctxcat index and using catsearch queries:

    Scott@ORCL > CREATE INDEX my_index2 ON COMPANY (COMPANY_NAME)

    2 INDEXTYPE IS CTXSYS. CTXCAT PARALLEL

    3 PARAMETERS ("LEXER your_lexer");

    The index is created.

    Scott@ORCL > SELECT

    2 company_name

    3 the COMPANY

    4. WHERE the CATSEARCH (company.COMPANY_NAME, 'LLC', ") > 0

    5 ORDER BY company.COMPANY_ID;

    COMPANY_NAME

    --------------------------------------------------

    LSG SOLUTIONS LLC

    Properties@Oklahoma, LLC

    D.D.T L.L.C.

    3 selected lines.

    Scott@ORCL >-context and using the query index contains:

    Scott@ORCL > CREATE INDEX my_index3 ON COMPANY (COMPANY_NAME)

    2 INDEXTYPE IS CTXSYS. CONTEXT IN PARALLEL

    3 PARAMETERS ("LEXER your_lexer");

    The index is created.

    Scott@ORCL > SELECT

    2 company_name

    3 the COMPANY

    4 WHERE CONTAINS (company.COMPANY_NAME, 'LLC') > 0

    5 ORDER BY company.COMPANY_ID;

    COMPANY_NAME

    --------------------------------------------------

    LSG SOLUTIONS LLC

    Properties@Oklahoma, LLC

    D.D.T L.L.C.

    3 selected lines.

Maybe you are looking for

  • OfficeJet 4500 scanner with feeder

    I can scan a single page when I place the document on the glass.  However, when I put 2 (or more) pages in the charger it does not work.  It will pull through the feeder and scan documents (PDF) images is blurred.  I don't know how to solve this prob

  • Is it possible to have the lockscreen auto rotation?

    When I anchor my HD Atrix in the set-up of the car, the lock turns screen landscape; is it possible to get the phone to do so when it is not docked in the car dock?

  • HP ENVY 15 USB failed t

    I have a laptop HP Envy 15 old two week running Windows 8.1. Today I plugged my mobile phone to the laptop to sync my music and the phone was NOT recognized as a device. Then my keyboard and mouse logitech immediately stopped working. They work via a

  • HP update software utility

    I am running windows xp 3. 32 bit, never had a problem to start the software utility from HP update so far. He said that there is an update for it 5.005.000.002. I downloaded it and when I run it I get a box with a red circle with a white X inside an

  • I have a seuillee image and I need to find the actual surface of the black region

    I have a seuillee image and I need to find the true field of the black region.iam new view.please guide me.i lab joined the image...