Is Oracle XML DB...right solution?

Background:
I'm working on a system, which gets content from various providers and our engine processes the content and extracts the key information and stores them in relational tables. End users can view this information using our web application. Our web application supports multiple levels of filtering (in other words n levels of filters - described below). In addition, application also supports users to and, or, not one or more filters.
Problem:
With relational schema we were not able to support n number of filters.
Here's why it's difficult with relational schema:
- get base data set
- apply filter 1 (value 1, 2, 3)
- filter 1 results
- apply filter 2 (value 90, 91, 99) on filter 1 results (trick part is applying filter2 constraints on filter1 results)
- filter2 results
- apply filter n on filter n-1 results and so on.
not exact query.. sample version for demonstration (for simplicity sake i've used only one table...in reality each exists query will be using more than one table)
select *
from content f1
where filter in (1, 2, 3)
and exists (select null from content f2
          where f2.contentid = f1.contentid
               and f2.filter not in (90, 91, 99))
and so on...
As number of filters increases in number, it's difficult to generate efficient queries.
As interim solution, we have decided to store the entire data in memory and operate on it. It works very well (really fast too). But, we are limited by memory size. Above solution is not scalable for large volumes of data.
Solution (using Oracle XML db):
Then, I stumbled on to XML db option and I did some preliminary investigation. Seems like, nice solution for above problem.
This is what I did so far using XML db:
Step 1:
Created and registered schema.
declare
xmlblurb varchar2(4000) := '<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xdb="http://xmlns.oracle.com/xdb"
version="1.0" xdb:storeVarrayAsTable="true">
<xs:element name="docattribs" type="DocAttribsType" xdb:defaultTable="O_DOCATTRIBUTES1"/>
<xs:complexType name="DocAttribsType">
<xs:sequence>
<xs:element name="brandgroups" type="BrandGroupsType"/>
<xs:element name="messagegroups" type="MessageGroupsType"/>
<xs:element name="sources" type="SourcesType"/>
<xs:element name="contentgroups" type="ContentGroupsType"/>
<xs:element name="authors" type="AuthorsType"/>
<xs:element name="themes" type="ThemesType"/>
<xs:element name="entities" type="EntitiesType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="BrandGroupsType">
<xs:sequence>
<xs:element name="bg" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageGroupsType">
<xs:sequence>
<xs:element name="mg" type="MessageGroupType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="MessageGroupType">
<xs:sequence>
<xs:element name="bg" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="SourcesType">
<xs:sequence>
<xs:element name="source" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ContentGroupsType">
<xs:sequence>
<xs:element name="pcg" type="ParentContentGroupType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ParentContentGroupType">
<xs:sequence>
<xs:element name="cg" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="AuthorsType">
<xs:sequence>
<xs:element name="author" type="AuthorType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="AuthorType">
<xs:attribute name="name" type="xs:string"/>
</xs:complexType>
<xs:complexType name="ThemesType">
<xs:sequence>
<xs:element name="theme" type="IdType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="EntitiesType">
<xs:sequence>
<xs:element name="af" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="a" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="b" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="c" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="l" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="m" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="p" type="IdMentionsType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="IdMentionsType">
<xs:attribute name="id" type="xs:integer"/>
<xs:attribute name="mentions" type="xs:integer"/>
</xs:complexType>
<xs:complexType name="IdType">
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>     
</xs:schema>';
begin
     dbms_xmlschema.registerSchema('nt_t_docAttributes.xsd',
                                             xmlblurb,
                                             TRUE,
                                             TRUE,
                                             FALSE);
end;
Step 2:
Created table with XMLType column (with the help of article posted at this link http://forums.oracle.com/forums/thread.jspa?threadID=244846&start=15&tstart=0)
CREATE TABLE ot_docattributes (
docid NUMBER,
docdate DATE,
statusid NUMBER)
TABLESPACE data_10m_a
ALTER TABLE ot_docattributes
add (docdata xmltype)
xmltype column docdata store as object relational
xmlschema "nt_t_docAttributes.xsd" element "docattribs"
VARRAY DOCDATA."XMLDATA"."authors"."author" STORE AS table ot_authors
(constraint pk_ot_authors primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."brandgroups"."bg" STORE AS table ot_brandgroups
(constraint pk_ot_brandgroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."contentgroups"."pcg" STORE AS table ot_contentgroups
(constraint pk_ot_contentgroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
varray "cg" store as table ot_contentgroup
(constraint pk_ot_contentgroup primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."a" STORE AS table ot_analysts
(constraint pk_ot_analysts primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."af" STORE AS table ot_analystfirms
(constraint pk_ot_analystfirms primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."b" STORE AS table ot_brands
(constraint pk_ot_brands primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."c" STORE AS table ot_companies
(constraint pk_ot_companies primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."l" STORE AS table ot_locations
(constraint pk_ot_locations primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."m" STORE AS table ot_messages
(constraint pk_ot_messages primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."entities"."p" STORE AS table ot_people
(constraint pk_ot_people primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."messagegroups"."mg" STORE AS table ot_messagegroups
(constraint pk_ot_messagegroups primary key (NESTED_TABLE_ID, ARRAY_INDEX))
varray "bg" store as table ot_brandgroup
(constraint pk_ot_brandgroup primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."sources"."source" STORE AS table ot_sources
(constraint pk_ot_sources primary key (NESTED_TABLE_ID, ARRAY_INDEX))
VARRAY DOCDATA."XMLDATA"."themes"."theme" STORE AS table ot_themes
(constraint pk_ot_themes primary key (NESTED_TABLE_ID, ARRAY_INDEX))
Step 3:
Using Plsql script constructed and loaded XML data into above table. Here's the sample data:
<docattribs>
<brandgroups>
<bg id="28" mentions="1"/>
<bg id="34" mentions="1"/>
</brandgroups>
<messagegroups/>
<sources>
<source id="8243"/>
</sources>
<contentgroups>
<pcg id="263">
<cg id="270"/>
</pcg>
<pcg id="264">
<cg id="275"/>
</pcg>
</contentgroups>
<authors/>
<themes/>
<entities>
&lt;b id="28" mentions="1"/&gt;
&lt;b id="34" mentions="1"/&gt;
<c id="4320" mentions="2"/>
<c id="9662" mentions="1"/>
<c id="36259" mentions="1"/>
<c id="44573" mentions="1"/>
<c id="69889" mentions="2"/>
<c id="78583" mentions="1"/>
<c id="93566" mentions="1"/>
<c id="142667" mentions="1"/>
<c id="142669" mentions="1"/>
<c id="155740" mentions="1"/>
<c id="221847" mentions="5"/>
<l id="187667" mentions="1"/>
<l id="222780" mentions="1"/>
&lt;p id="5973" mentions="1"/&gt;
&lt;p id="47503" mentions="1"/&gt;
&lt;p id="113753" mentions="3"/&gt;
&lt;p id="114425" mentions="7"/&gt;
&lt;p id="209501" mentions="2"/&gt;
</entities>
</docattribs>
Step 4:
Here are typical queries we will use via our application. Using following queries application will fetch relevant docids and
uses them to fetch detail information. See samples below:
-- 19 secs.
-- 41185 rows
-- only watchlist
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
-- 8 secs.
-- 7605 rows
-- watchlist + brand filter (Viagra OR Zoloft)
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
-- 8 secs
-- 2324 rows
-- watchlist + brand filter (Viagra OR Zoloft) + not brand filter (Financial and Levitra)
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=16]') = 0
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=40]') = 0;
-- 8 secs
-- 141 rows
-- watchlist + brand filter (Viagra OR Zoloft) + not brand filter (Financial and Levitra)
-- message group filter ()
SELECT COUNT (docid)
FROM ot_docattributes
WHERE ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=1]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=2]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=5]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=7]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=8]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=9]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=12]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=13]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=14]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=15]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=19]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=30]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=34]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=43]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=48]') = 1
AND ( EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=50]') = 1
OR EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=27]') = 1
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=16]') = 0
AND EXISTSNODE (docdata, '/docattribs/brandgroups/bg[@id=40]') = 0
AND EXISTSNODE (docdata, '/docattribs/messagegroups/mg[@id=27]') = 1;      
Here's query execution plan:
Operation     Object Name     Rows     Bytes     Cost     Object Node     In/Out     PStart     PStop
SELECT STATEMENT Optimizer Mode=ALL_ROWS          1           1191.16324450158                     
SORT AGGREGATE          1      164                          
FILTER                                        
TABLE ACCESS FULL     ELILILLY_ORK.OT_DOCATTRIBUTES     16      2 K     1161.13277939939                     
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_BRANDGROUPS     1      28      3.00304620318792           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_BRANDGROUPS     2           2.00200471148267                
TABLE ACCESS BY INDEX ROWID     ELILILLY_ORK.OT_MESSAGEGROUPS     1      42      3.00304658697702           
INDEX RANGE SCAN     ELILILLY_ORK.PK_OT_MESSAGEGROUPS     2           2.00200471148267           
DB & OS Info:
Oracle Version : 10.1.0.2.0
OS : Linux
Finally, Here are my questions:
1. Currently, I'm running my queries against 122k rows (data growth rate is ~2million rows per month) . I feel, it's taking too much time for such a small data set. How can i improve the performace of above queries? Or Is there a better way to write them? Since, its in evolution stage, i'm open to restructuring the schema if needed for better performance.
2. Is this correct approach? If not, Is there a better way to solve the above problem?
3. Any suggestions/tips are welcome.
I apologize, for such a lengthy post (my intention was to provide as much information as possible).
Thanks in advance.

Org Index Overflow makes it an index organized table (IOT) as distinct from a heap table (HT). In the original design we expected to see some performance enhancements from the use of IOT (In particular when re-serializing entire XML documents that had been persisted with Nested table storage), practice the benefits of IOT over HT in the XML DB use case have been marginal. We still create IOT by default when the tables are generated via Schema Registration, however it is likely that this will become controllable via a Schema Annotation in the not too distant future.
There are cases where the use of IOT causes problems, the most noticalbe of which is where you want to create a Text Index on a specific element or attribute which is mapped to a column in the Nested Table. If the NT is an IOT this is not possible, where if the Nested Table is an HT then there is no problem

Similar Messages

  • Is Oracle Text the right solution for this need of a specific search!

    Hi ,
    We are on Oracle 11.2.0.2 on Solaris 10. We have the need to be able to do search on data that are having diacritical marks and we should be able to do the serach ignoring this diacritical marks. That is the requirement. Now I got to hear that Oracle Text has a preference called BASIC_LEXER which can bypass the diacritical marks and so solely due to this feature I implemented Oracle Text and just for this diacritical search and no other need.
    I mean I set up preference like this:
      ctxsys.ctx_ddl.create_preference ('cust_lexer', 'BASIC_LEXER');
      ctxsys.ctx_ddl.set_attribute ('cust_lexer', 'base_letter', 'YES'); -- removes diacritics
    With this I set up like this:
    CREATE TABLE TEXT_TEST
      NAME  VARCHAR2(255 BYTE)
    --created Oracle Text index
    CREATE INDEX TEXT_TEST_IDX1 ON TEXT_TEST
    (NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    --sample data to illustrate the problem
    Insert into TEXT_TEST
       (NAME)
    Values
       ('muller');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('müller');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('MULLER');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('MÜLLER');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('PAUL HERNANDEZ');
    Insert into TEXT_TEST
       (NAME)
    Values
       ('CHRISTOPHER Phil');
    COMMIT;
    --Now there is an alternative solution that is there,  instead of thee Oracle Text which is just a plain function given below (and it seems to work neat for my simple need of removing diacritical characters effect in search)
    --I need to evaluate which is better given my specific needs -the function below or Oracle Text.
    CREATE OR REPLACE FUNCTION remove_dia(p_value IN VARCHAR2, p_doUpper IN VARCHAR2 := 'Y')
    RETURN VARCHAR2 DETERMINISTIC
    IS
    OUTPUT_STR VARCHAR2(4000);
    begin
    IF (p_doUpper = 'Y') THEN
       OUTPUT_STR := UPPER(p_value);
    ELSE
       OUTPUT_STR := p_value;
    END IF;
    OUTPUT_STR := TRANSLATE(OUTPUT_STR,'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ', 'AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');
    RETURN (OUTPUT_STR);
    end;
    --now I query for which name stats with  a P%:
    --Below query gets me unexpected result of one row as I am using Oracle Text where each word is parsed for search using CONTAINS...
    SQL> select * from text_test where contains(name,'P%')>0;
    NAME
    PAUL HERNANDEZ
    CHRISTOPHER Phil
    --Below query gets me the right and expected result of one row...
    SQL> select * from text_test where name like 'P%';
    NAME
    PAUL HERNANDEZ
    --Below query gets me the right and expected result of one row...
    SQL>  select * from text_test where remove_dia(name) like remove_dia('P%');
    NAME
    PAUL HERNANDEZMy entire need was only to be able to do a search that bypasses diacritical characters. To implement Oracle Text for that reason, I am wondering if that was the right choice! More so when I am now finding that the functionality of LIKE is not available in Oracle Text - the Oracle text search are based on tokens or words and they are different from output of the LIKE operator. So may be should I have just used a simple function like below and used that for my purpose instead of using Oracle Text:
    This function (remove_dia) just removes the diacritical characters and may be for my need this is all that is needed. Can someone help to review that given my need I am better of not using Oracle Text? I need to continue using the functionality of Like operator and also need to bypass diacritical characters so the simple function that I have meets my need whereas Oracle Text causes a change in behaviour of search queries.
    Thanks,
    OrauserN

    If all you need is LIKE functionality and you do not need any of the complex search capabilities of Oracle Text, then I would not use Oracle Text. I would create a function-based index on your name column that uses your function that removes the diacritical marks, so that your searches will be faster. Please see the demonstration below.
    SCOTT@orcl_11gR2> CREATE TABLE TEXT_TEST
      2    (NAME  VARCHAR2(255 BYTE))
      3  /
    Table created.
    SCOTT@orcl_11gR2> Insert all
      2  into TEXT_TEST (NAME) Values ('muller')
      3  into TEXT_TEST (NAME) Values ('müller')
      4  into TEXT_TEST (NAME) Values ('MULLER')
      5  into TEXT_TEST (NAME) Values ('MÜLLER')
      6  into TEXT_TEST (NAME) Values ('PAUL HERNANDEZ')
      7  into TEXT_TEST (NAME) Values ('CHRISTOPHER Phil')
      8  select * from dual
      9  /
    6 rows created.
    SCOTT@orcl_11gR2> CREATE OR REPLACE FUNCTION remove_dia
      2    (p_value   IN VARCHAR2,
      3       p_doUpper IN VARCHAR2 := 'Y')
      4    RETURN VARCHAR2 DETERMINISTIC
      5  IS
      6    OUTPUT_STR VARCHAR2(4000);
      7  begin
      8    IF (p_doUpper = 'Y') THEN
      9        OUTPUT_STR := UPPER(p_value);
    10    ELSE
    11        OUTPUT_STR := p_value;
    12    END IF;
    13    RETURN
    14        TRANSLATE
    15          (OUTPUT_STR,
    16           'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÑÒÓÔÕÖØÙÚÛÜÝàáâãäåçèéêëìíîïñòóôõöøùúûüýÿ',
    17           'AAAAAACEEEEIIIINOOOOOOUUUUYaaaaaaceeeeiiiinoooooouuuuyy');
    18  end;
    19  /
    Function created.
    SCOTT@orcl_11gR2> show errors
    No errors.
    SCOTT@orcl_11gR2> CREATE INDEX text_test_remove_dia_name
      2  ON text_test (remove_dia (name))
      3  /
    Index created.
    SCOTT@orcl_11gR2> set autotrace on explain
    SCOTT@orcl_11gR2> select * from text_test
      2  where  remove_dia (name) like remove_dia ('mü%')
      3  /
    NAME
    muller
    müller
    MULLER
    MÜLLER
    4 rows selected.
    Execution Plan
    Plan hash value: 3139591283
    | Id  | Operation                   | Name                      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                           |     1 |  2131 |     2   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| TEXT_TEST                 |     1 |  2131 |     2   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | TEXT_TEST_REMOVE_DIA_NAME |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('mü%'))
           filter("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('mü%'))
    Note
       - dynamic sampling used for this statement (level=2)
    SCOTT@orcl_11gR2> select * from text_test
      2  where  remove_dia (name) like remove_dia ('P%')
      3  /
    NAME
    PAUL HERNANDEZ
    1 row selected.
    Execution Plan
    Plan hash value: 3139591283
    | Id  | Operation                   | Name                      | Rows  | Bytes | Cost (%CPU)| Time     |
    |   0 | SELECT STATEMENT            |                           |     1 |  2131 |     2   (0)| 00:00:01 |
    |   1 |  TABLE ACCESS BY INDEX ROWID| TEXT_TEST                 |     1 |  2131 |     2   (0)| 00:00:01 |
    |*  2 |   INDEX RANGE SCAN          | TEXT_TEST_REMOVE_DIA_NAME |     1 |       |     1   (0)| 00:00:01 |
    Predicate Information (identified by operation id):
       2 - access("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('P%'))
           filter("SCOTT"."REMOVE_DIA"("NAME") LIKE "REMOVE_DIA"('P%'))
    Note
       - dynamic sampling used for this statement (level=2)
    SCOTT@orcl_11gR2>

  • IOException thrown in oracle.xml.parser.v2.XMLElement.readExternal() method

    Hi,
    I have a bpel process which takes in a particular xml format and does some processing asynchronously. I am calling this bpel process from a web application which uses axis web service to call this application.
    Everything works fine when the xml is small (around 10 to 15 kb). But once the xml gets huge(around 250 to 400 kb) error is thrown in bpel in the oracle.xml.parser.v2.XMLElement.readExternal() method. It seems like bpel is not able to reconstruct the object that it had written to some stream before. I learnt from some forum posts that this done for optimizing performance but I would like to know whether i have to tweak something here.
    Particularly what does this "java.io.IOException: Error in reading Namespace associated with the node" mean. Below is the error log
    10/01/05 20:40:51 java.io.IOException: Error in reading Namespace associated with the node
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLElement.readExternal(XMLElement.java:2954)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2842)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLNode.readChildNodes(XMLNode.java:2843)
    10/01/05 20:40:51      at oracle.xml.parser.v2.XMLDocument.readExternal(XMLDocument.java:3394)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:345)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
    10/01/05 20:40:51      at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
    10/01/05 20:40:51      at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
    10/01/05 20:40:51      at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
    10/01/05 20:40:51      at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
    10/01/05 20:40:51      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    10/01/05 20:40:51      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    10/01/05 20:40:51      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    10/01/05 20:40:51      at java.lang.reflect.Method.invoke(Method.java:585)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
    10/01/05 20:40:51      at java.security.AccessController.doPrivileged(Native Method)
    10/01/05 20:40:51      at javax.security.auth.Subject.doAs(Subject.java:396)
    10/01/05 20:40:51      at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    10/01/05 20:40:51      at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
    10/01/05 20:40:51      at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
    10/01/05 20:40:51      at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
    10/01/05 20:40:51      at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
    10/01/05 20:40:51      at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
    10/01/05 20:40:51      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    10/01/05 20:40:51      at java.lang.reflect.Method.invoke(Method.java:585)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
    10/01/05 20:40:51      at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
    10/01/05 20:40:51      at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
    10/01/05 20:40:51      at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
    10/01/05 20:40:51      at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
    10/01/05 20:40:51      at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
    10/01/05 20:40:51      at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
    10/01/05 20:40:51      at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
    10/01/05 20:40:51      at java.lang.Thread.run(Thread.java:595)
    10/01/05 20:40:51 0 - ORABPEL-00000
    Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
    Handled As: com.collaxa.cube.CubeException
    10/01/05 20:40:51 1 - ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
    <2010-01-05 20:40:51,381> <ERROR> <pmf_capability_domain.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube delivery": [com.collaxa.cube.CubeException: Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
    Handled As: com.collaxa.cube.CubeException
    ] -> [com.collaxa.cube.xml.dom.DOMException: Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf.  The exception reported is Error in reading Namespace associated with the node
    ORABPEL-00000
    Exception not handled by the Collaxa Cube system.
    An unhandled exception has been thrown in the Collaxa Cube system. The exception reported is: "ORABPEL-09222
    Cannot deserialize DOM element.
    Failed to deserialize the DOM element from binary format, the document id 806601993018f2af:-5dd89d4f:125feeefac4:-7fbf. The exception reported is Error in reading Namespace associated with the node
         at com.collaxa.cube.xml.dom.SDOMHelper.loadCompressedNormalDom(SDOMHelper.java:355)
         at com.collaxa.cube.xml.dom.SDOMHelper.load(SDOMHelper.java:135)
         at com.collaxa.cube.xml.dom.DOMUtil.loadDocument(DOMUtil.java:2266)
         at com.collaxa.cube.engine.delivery.DeliveryHelper.loadParts(DeliveryHelper.java:878)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:515)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:342)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at com.evermind.server.ThreadState.runAs(ThreadState.java:648)
         at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
         at CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at sun.reflect.GeneratedMethodAccessor49.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:585)
         at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.interceptor.system.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
         at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
         at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
         at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
         at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
         at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
         at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
         at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
         at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
         at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
         at java.lang.Thread.run(Thread.java:595)
    Exception: ORABPEL-09222

    I finally found the root cause of the solution. We are using axis serialization/deserialization at the client end to call the bpel service which works well for small xml. But mysteriously for larger xmls the deserialization fails at the server end when the incoming xml is being used. So we used the regular oracle java api to call the web service. This solved the problem.
    We could not find whether the problem lies with Oracle SOA suite 10.1.3.1 or Apache axis 2.0. But as of now these two seem to be incompatible for large xmls at the moment.
    Any pointers are welcome!

  • Internal Exception: oracle.xml.parser.v2.XMLParseException xsi:type "toplin

    i am using toplink 10.1.3.0.0 with oracle app server 10.1.2.2, i am using change field optimistic locking and generating the project xml,
    application runs great locally in the jdeveloper, but when it is deployed on app server getting following error
    here are the headers from both my project.xml as well as session xml..
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink:object-persistence version="Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)" xmlns:opm="http://xmlns.oracle.com/ias/xsds/opm" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:toplink="http://xmlns.oracle.com/ias/xsds/toplink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <opm:name>PROJ</opm:name>
    <opm:class-mapping-descriptors>
    <opm:class-mapping-descriptor xsi:type="toplink:relational-class-mapping-descriptor">
    <?xml version="1.0" encoding="UTF-8"?>
    <toplink-sessions version="4.5" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <session xsi:type="server-session">
    <name>PROJSession</name>
    <event-listener-classes/>
    <logging xsi:type="toplink-log">
    <log-level>finer</log-level>
    </logging>
    <primary-project xsi:type="xml">PROJ.xml</primary-project>
    <login xsi:type="database-login">
    <platform-class>oracle.toplink.platform.database.oracle.OraclePlatform</platform-class>
    <user-name></user-name>
    any help/idea appreciated...
    Exception [TOPLINK-9005] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.SessionLoaderException
    Exception Description: An exception was thrown while loading the <project-xml> file [PROJ.xml].
    Internal Exception: Exception [TOPLINK-25004] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.exceptions.XMLMarshalException
    Exception Description: An error occurred unmarshalling the document
    Internal Exception: Exception [TOPLINK-27101] (Oracle TopLink - 10g Release 3 (10.1.3.0.0) (Build 060118)): oracle.toplink.platform.xml.XMLPlatformException
    Exception Description: An error occurred while parsing the document.
    Internal Exception: oracle.xml.parser.v2.XMLParseException: xsi:type "toplink:changed-field-locking-policy" not resolved to a type definition
    at oracle.toplink.exceptions.SessionLoaderException.failedToLoadProjectXml(SessionLoaderException.java:74)
    at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.loadProjectConfig(TopLinkSessionsFactory.java:316)
    at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.createSession(TopLinkSessionsFactory.java:241)
    at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildServerSessionConfig(TopLinkSessionsFactory.java:215)
    at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildSession(TopLinkSessionsFactory.java:168)
    at oracle.toplink.tools.sessionconfiguration.TopLinkSessionsFactory.buildTopLinkSessions(TopLinkSessionsFactory.java:124)
    at oracle.toplink.tools.sessionconfiguration.XMLSessionConfigLoader.load(XMLSessionConfigLoader.java:103)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:367)
    at oracle.toplink.tools.sessionmanagement.SessionManager.getSession(SessionManager.java:334)
    at myProjectPackage.common.data.toplink.ToplinkDataManagerPeer.<init>(ToplinkDataManagerPeer.java:41)
    at myProjectPackage.common.data.DataManagerFactory.getDataManagerInstance(DataManagerFactory.java:40)
    at myProjectPackage.common.servlet.NYSDOTFilter.getDataManager(NYSDOTFilter.java:964)
    at myProjectPackage.common.servlet.NYSDOTFilter.doFilter(NYSDOTFilter.java:144)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
    at myProjectPackage.caf.servlet.NYSDOTCAFFilter.doFilter(NYSDOTCAFFilter.java:90)
    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
    at myProjectPackage.common.servlet.NYSDOTLoginFilter.doFilter(NYSDOTLoginFilter.java:95)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:669)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:340)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:830)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:228)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:133)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:570)

    first thanks for your reply,
    i already figured that out and deployed it using 10.1.3.1 jars
    my question
    1) if it is a bug , how come it works fine with jdeveloper (
    i would appreciate if you could provide any info about it.
    2) i dont want to sound sarcastic , but 10.1.3.1 has of optimistic locking and the recommended solution i found was to use descriptor.getQueryManager().setUpdateCallCacheSize(0);
    looks like 10.1.3.1 fixed one bug and introduced other one which was working fine earlier...
    is there any other way of fixing optimistic locking issue other than using the
    descriptor.getQueryManager().setUpdateCallCacheSize(0);
    where i can find the latest/greatest (up to date patched version of toplink)
    thanks again for your help

  • Oracle Installation or Uninstallation Solutions For Windows 95/98/2000/ME/NT/XP

    You must read carefully the following steps here. If you previously installed any Oracle's products on your machine, I strongly recommend you to clean up thoroughly before install the new products.
    ================================================================
    Uninstallation
    The easiest way to remove ALL traces of Oracle software, for an 8i installation, is:
    (1) Using regedit, remove the key \\HKEY_LOCAL_MACHINE\\SOFTWARE\ORACLE.
    (2) Remove all the Oracle services (usually called Ora-something) from \\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.
    (3) Go to the ORACLE_HOME directory (usually C:\Oracle\Ora81). Go to the BIN directory beneath this. Rename the file OCIW32.DLL to something like OCIW32.OLD.
    (4) Reboot your box.
    (5) Once you have logged on again, delete the directories C:\Program Files\Oracle and C:\Oracle.
    (6) Right-click on My Computer, select Properties->Environment. Edit the environmental variable PATH to remove all refernces to files in the two directories you have just deleted.
    (7) Remove the Oracle folders from your Start menu.
    *** Obviously, using regedit on your machine always entails risks, and I won't be held responsible if you end up trashing your system. However, the above procedure is one I have used many times with complete success. You have been warned! ;) ***
    As to logging on, the "standard" Oracle accounts are:
    SYS/change_on_install (SYSDBA - database owner)
    SYSTEM/manager (Owns various VIEWs and utility PACKAGEs)
    and (optionally):
    SCOTT/tiger (Training account containing some sample tables)
    If you're using PO8i on the local machine, you shouldn't need to worry about setting up NET*8 (Oracle's networking protocols)
    =================================================================
    Windows 95 and 98
    This will remove all Oracle products, Oracle services, and Oracle registry entries from your computer.
    Complete the following steps to create a Clean Machine. Backup any relevant databases before proceeding!
    On Windows 95 and Windows 98:
    1. Ensure you shutdown your Oracle. Right click on the Oracle Icon in the toolbar and click on the shutdown option.
    2. Un-install all your Oracle products if possible. Use universal installer to do that. Ignore this step if you dont have universal installer on your machine.
    3. In regedit, go to HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE.
    4. Delete the ORACLE key.
    5. Edit your AUTOEXEC.BAT file and remove your %ORACLE_HOME%\bin and JRE paths from the path setting.
    6. From the Windows Explorer (or from the command prompt), delete the Oracle directory (Oracle Base).
    7. Delete <system_drive>:\Program Files\Oracle (from the Windows NT Explorer or from the command prompt).
    8. Delete Icons from <system_drive>: \Windows\Start Menu\Programs\Oracle - <HOME> and <system_drive>:\Windows\StartMenu\Programs\Oracle Installation Products. Where <HOME> is the previous HOME name.
    9. Reboot your computer.
    On Windows NT:
    1. Ensure you are logged in as a user with Administrator privileges.
    2. Stop all Oracle Services through Control Panel Services. Use universal installer to un-install your Oracle products. Ignore un-install if you dont have universal installer on your machine.
    3. Using regedit (at the command prompt, type regedit), go to HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE and delete the ORACLE key.
    4. Open HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services, and remove all keys under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services that begin with ORACLE.
    5. Open HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application, and remove all keys under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application that begin with ORACLE.
    6. Close regedit.
    7. From the Control Panel, open System.
    8. If JRE was installed by Oracle, remove the %ORACLE_HOME%\BIN path and the JRE path. For example, you may see a path similar to this one: C:\ORACLE\ORAxx\BIN;G: \Program Files\Oracle\jre\1.1.7\bin. Go to Start > Control Panel > System > Environment tab. Click on the system variable path and modify the path.
    9. Delete Icons from <system_drive>:\Winnt\Profiles\All Users\Start Menu\Programs\Oracle - <HOME> and <system_drive>:\Winnt\Profiles\All Users\Start Menu\Programs\Oracle Installation Products. Where <HOME> is the previous HOME name.
    10. Delete <system_drive>:\Program Files\Oracle (from the Windows NT Explorer or from the command prompt).
    11. Reboot your computer.
    12. Delete all ORACLE_BASE directories (You can find the Oracle homes listed in HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOMES).
    ================================================================
    Doc ID:
    Note:131299.1
    Subject:
    Oracle Installer 8.1.X Hangs on Machines with Pentium 4
    Processors
    Type:
    ALERT
    Status:
    PUBLISHED
    Content
    Type:
    TEXT/PLAIN
    Creation
    Date:
    02-JAN-2001
    Last
    Revision Date:
    18-APR-2001
    This alert was modified 16-January-2001 by specifying specific
    Oracle Universal
    Installer Versions in the the Versions Affected section.
    Oracle Universal Installer (OUI) for 8.1.x Hangs on Machines
    with Pentium 4
    Processors
    ~~~~~~~~~~~~~~~~~~
    Versions Affected
    ~~~~~~~~~~~~~~~~~
    Oracle 8.1.5
    ============
    Oracle Universal Installer 1.6.0.9.0
    Oracle 8.1.6
    =============
    Oracle Universal Installer 1.7.0.19.0
    Oracle 8.1.7
    ==============
    Oracle Universal Installer 1.7.1.9.0
    Platforms Affected
    ~~~~~~~~~~~~~~~~~~
    Any platform that uses the Intel Pentium 4 processor, with the
    Sun JRE
    and Symmantec JIT will encounter this problem. Windows NT,
    Windows 2000
    and NetWare platforms are confirmed to be affected.
    Description
    ~~~~~~~~~~~
    When installing Oracle Products with the Oracle Universal
    Installer (8.1.x)
    on machines that use the Sun JRE and Symmantec JIT, the
    installer hangs.
    Specifically for the Windows platform, the following version
    of the Symmantec
    JIT or earlier will encounter the failure:
    Symantec Java! JustInTime Compiler Version 3.10.107 for JDK
    1.2.
    Details regarding this issue can be found at:
    http://developer.intel.com/design/processor/future/manuals/knowni ssue.htm
    How to determine if you have Symmantec Java for JDK 1.2:
    1. Select the file "symcjit.dll" and right click on it.
    2. Select Properties, then the Version tab.
    3. Under Microsoft Windows*, the properties of the DLL are:
    "Symantec Java! JustInTime Compiler Version 3.10.107 for
    JDK 1.2 Copyright (C)
    1996-99 Symantec Corporation Dynamic Link Library file".
    DLLs older than this will also not work. "
    Likelihood of Occurrence
    ~~~~~~~~~~~~~~~~~~~~~~~~
    Any platform that uses the Intel Pentium 4 processor, with the
    Sun JRE
    and Symmantec JIT will encounter this problem. Windows NT,
    Windows 2000 and NetWare platforms are confirmed to be
    affected.
    Possible Symptoms
    ~~~~~~~~~~~~~~~~~
    The failure typically is that the affected application simply
    terminates.
    Workaround
    ~~~~~~~~~~
    Not only will OUI be affected by this bug, most of the
    post-install
    configuration tools will also be affected. Running these
    tools with "-nojit"
    specified will avoid the hang, but it is not simple to specify
    "-nojit" for
    some of the products.
    The following workaround works for the Windows operating
    system:
    a. Copy only the install directory from the CD to the hard
    disk ,say, e:\temp.
    b. Open oraparam.ini and make the following modifications
    (Assuming CD
    drive is f:)
    * Change the "SOURCE=" line to use the full path to the CD
    instead of a
    relative path. (i.e., SOURCE=f:\stage\products.jar)
    * Change the "JRE_LOCATION" line to use the full path to the
    CD instead of a
    relative path. (i.e.,
    JRE_LOCATION=f:\stage\Components\oracle\swd\jre\1.1.7\1\DataFiles
    \Expanded)
    * Change the "OUI_LOCATION" line to use the full path to the
    CD instead of a
    relative path. (i.e.,
    OUI_LOCATION=f:\stage\Components\oracle\swd\oui\1.6.0.9.0\1\DataF
    iles\Expanded
    * Change the "JRE_MEMORY_OPTIONS" line to add "-nojit" as the
    first argument.
    (i.e., JRE_MEMORY_OPTIONS=-nojit -ms16m -mx32m)
    ^^^^^^
    * Other entries should remain the same
    c. Launch setup.exe from the temporary location on your hard
    drive (i.e.
    e:\temp\install\win32\setup.exe). This will use the
    modified
    oraparam.ini and pick up the information from the CD since
    the absolute
    locations are specified.
    Choose a Custom install and choose not to create a database
    during the
    install. This way, the Database Configuration Assistant will
    not be launched
    during installation.
    The Net8 Configuration Assistant will still be launched, and
    there is no way
    to suppress it. You will need to kill the Net8 Configuration
    Assistant if it
    hangs due to the bug. The installation still will have been
    successful, and
    you can run the DBCA and NetCA after installation.
    To kill NetCA if it hangs during installation:
    In the "Configuration Tools" window, highlight the "Net8
    Configuration
    Assistant" and click "Stop". If that does not work, look for
    the most recent
    JRE process using the Task Manager, and kill it manually.
    NOTE: the OUI
    itself will also have a jre process. Be sure to kill the one
    with the most
    recent date, which should be the jre process being used for
    Net8CA, not the
    one for OUI itself.
    After killing the configuration tools and continuing through
    the installation
    to the "End of Installation" screen, you should modify the
    configuration tools
    to use "-nojit", then call the appropriate tools from the
    Start Menu.
    Once installation is complete, each of the following files in
    the ORACLE_HOME
    needs to be modified:
    assistants\dbca\dbassist.cl
    assistants\dbma\dbmig.cl
    assistants\ifa\ifa.cl
    bin\elogin.cl
    bin\owm.cl
    ldap\oidamdin\oidadmin.cl
    network\tools\netasst.cl
    network\tools\netca.cl
    owm\install\instelogin.cl
    owm\install\instowm.cl
    Edit the contents of the above files to add "-nojit" as shown
    below:
    Command=("C:\Program Files\Oracle\jre\1.1.7\BIN\JREW" -nojit
    -classpath ....
    this is the only thing you need to add --> ^^^^^^
    Then, launch the necessary tools, like Net8CA and DBCA from
    the Start Menu.
    Patches
    ~~~~~~~
    Currently there is not a patched installer available to deal
    with this
    problem, the workaround listed above must be used.
    References
    ~~~~~~~~~~
    [BUG:1507768] INSTALLER FAILS WHEN RUNNING ON NEW PENTIUM 4
    (IV) PROCESSORS
    [BUG:1507946] INSTALLER FAILS WHEN RUNNING ON NEW INTEL
    PENTIUM 4 (IV) PROCESSORS
    @[BUG:1518935] SYMCJIT.DLL DOESN'T WORK WITH THE NEW P4
    PROCESSORS
    Oracle
    Support Services.
    Copyright (c) 1995,2000 Oracle Corporation. All Rights
    Reserved. Legal Notices and Terms of Use.
    ================================================================
    The solution of making a local copy of the installation CD on
    the hard disk and renameing symcjit.dll to symcjit.old does
    work to allow installation of Oracle Client 8.1.7 on a Pentium 4
    This function is useful and you can find two file to rename
    ===============================================================
    Windows ME
    Solution to the installation of Oraclei8.1.7 PE in Windows Millennium
    Oracle does not support installing version 8.1.7 PE into
    Windows Millennium.
    As an unsupported workaround, you may add the following line
    to the [compatibility95] section of win.ini prior to
    installation:
    Jrew=0x00080000
    After setup is complete, Oracle will recommend a reboot.
    There is one additional step necessary prior to reboot;
    Oracle may add a non-standard path statement to the
    autoexec.bat file. Please modify this SET PATH
    statement to use short-filenames if you find a quoted
    LFN string represented as part of the path. You can
    confirm that the path was merged successfully into the
    registry after reboot by examining the PATH variable
    in the registry at
    HKLM\System\CurrentControlSet\Control\SessionManager\Environment
    Symptoms of a missing Oracle path statement in the registry are that Net8 Easy Config will not launch.
    Please note that Oracle does not support the use of this
    product in Windows ME, but have authorized these workarounds
    for testing purposes only.
    ===============================================================
    Windows XP Home Edition
    Oracle 8i is not certified on windows XP. Even if yes, it must be Windows XP Professional.
    You can install Oracle8i on windows XP Home Edition, try like this:
    1 - Copy your Oracle CD into hard disk in your
    machine. For example Copy from oracle8i CD into C:\Oracle\ ...
    2 - Search the two files named Symcjit.dll on the D drive (where you have copied Oracle8i. You can found them in (example):
    C:\Oracle\stage\Components\oracle.swd.jre\1.1.7.30\1
    \DataFiles\Expanded\jre\win32\bin\symcjit.dll
    3 - Rename this file (Example): symcjit_back.dll (make sure to find two files and rename them)
    4 - Execute the Oracle setup.exe from C:\Oracle\setup.exe
    ===============================================================
    When Oracle 8i dies on the install or the installer hangs, here is the fix for this, make sure that you have Service Pack 2 installed.
    1. \JRE\1.3.1\ From Sun. (You can download java program at http://java.sun.com/products/jdk/1.1/jre/download-jre-windows.html)
    2. Install the java file.
    There is also a problem in the installation disk.
    3. Make a copy of the Oracle 8i disk on the local hard disk.
    4. Do a search for the two files called symcjit.dll and rename them for example: symcjit.old.
    5. Install Oracle from the win32 directory.
    ================================================================
    PLEASE NOTE THAT ORACLE DOESN'T SUPPORT THE USE OF THOSE PRODUCTS IN WINDOWS ME, BUT HAVE AUTHORIZED THESE WORKAROUNDS FOR TESTING PURPOSES ONLY
    Best Regards,
    Beau Leo

    Hi,Beau Leo, I am having problem installing Oracle9i Database Rel.2 on my pc.
    I read the suggestion and solution you posted for fixing Oracle 8.1.x installation
    probblem, and since my pc also hung at 48% while installing Oracle 9i software,
    I wonder if the same problem in the Oracle8 Vs.Pentium4 also exists for Oracle9i.
    I have Windows2000,256RAM, Pentium3 1Ghz, and 13.8 free diskspace. But the installation always
    hangs at 48%, my computer will just shut down and restart automatically without
    even showing an error message. I have tried installing the Enterprise edition for 3
    times already but everytime encountered the same problem. I've also tried custom installation
    by selecting not to create database, but it also hung.
    Before I started each installation, I always made sure that my registry and environment
    path are cleared and that all the partially-installed Oracle files are deleted.
    I hope that you or anyone who has a solution for this problem could be so kindly to help me out.
    Thank you in advance.
    ailee

  • Caused by: oracle.xml.parser.v2.XMLParseException: '=' missing in attribute

    This is a Bursting problem under EBS 5.6.3. In production we have 5.6.2 and since our development system to 5.6.3 has been upgraded, the following error occurs on every single Burst being done using the Concurrent Manager only:
    Caused by: oracle.xml.parser.v2.XMLParseException: '=' missing in attribute.
         at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:205)
         at oracle.xml.parser.v2.NonValidatingParser.parseAttrValue(NonValidatingParser.java:1502)
         at oracle.xml.parser.v2.NonValidatingParser.parseAttr(NonValidatingParser.java:1408)
         at oracle.xml.parser.v2.NonValidatingParser.parseAttributes(NonValidatingParser.java:1350)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1180)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:301)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:268)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:201)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingConfigParser(BurstingProcessorEngine.java:1340)
         at oracle.apps.xdo.batch.BurstingProcessorEngine.process(BurstingProcessorEngine.java:1297)
         at oracle.apps.xdo.batch.DocumentProcessor.process(DocumentProcessor.java:213)
         at xxwel.ebs.xmlp.XXWELBurster.processDocuments(XXWELBurster.java:143)
    I can run the same file through 5.6.3 ($JAVA_TOP) libraries mounted on my JDev with no problems. Also the same XML file runs fine on Production under 5.6.2 - no problems. I have also checked the XML file using a syntax checker. I know this is not a syntax issue even though it looks like it.
    Could someone point me in the right direction - explain what this means. Getting desperate as 5.6.3 will be going into production soon and all Bursting will fail with this error. I can't get the simplest XML File to Burst - NOTE this is only occurring on the EBS system (even running without the CM ie. a standalone java main it fails). I think this has something to do with the XML parser version and the EBS environment.
    Please help...

    Hi Tim, good thinking - wouldn't have thought to check this file. Anyway can confirm that the problem is happening with multiple burst control files so I haven't checked the files themselves as the problem seems systemic. anyway here is an example.
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    <xapi:request select="/XXWEL_BIP_UNI_INVOICES/LIST_G_CUSTOMER_NUMBER/G_CUSTOMER_NUMBER">
    <xapi:delivery>
    <xapi:email server="mailwa01" port="25"
    from="${ADMIN_EMAIL}" reply-to ="${ADMIN_EMAIL}">
    <xapi:message id="111" to="${ADMIN_EMAIL}" attachment="true" subject="Unigas Inv
    oice No: ${TRX_NUMBER}">
    </xapi:message>
    </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="111">
    <xapi:template type="rtf" location="/u02/prod/prodappl/wel/11.5.0/interface/bip/templates/uni_invoice_template.rtf">
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    I will start stripping the control files to make sure they are not the problem in the meantime.

  • Using Oracle Text in Oracle XML DB .

    Hi all ,
    The idea is simple ,i need to index all stored files in Oracle XML DB and the index should stay in Oracle DB . Using some 3 party index software is also possible but you need to write a mapping to move the index file in Oracle DB .
    So i thought of using Oracle Text but i am not sure about how to retrieve such a document from Oracle XML DB , let me say over ftp or http ? . And if these documents are password protected -> how can Oracle Text allow this ?

    [11gR2 XMLDB Developers Guide -- Full-Text Search over XML Data|http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb09sea.htm#i1006756] would be the first place to start.
    For document display, there a bunch of potential solutions, you can look at [XML DB Repository|http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb03usg.htm#insertedID18], or the Text Application Developers Guide [Presenting Documents in Oracle Text|http://download.oracle.com/docs/cd/B28359_01/text.111/b28303/view.htm#i1006687] .
    Password protected documents can't be indexed using the auto_filter.

  • Oracle XML parser and IBM jdk bug

    Hello,
    From a few messages found in the XML forum it seems that IBM jvm could cause problems with oracle XML parser. ( see http://technet.oracle.com:89/ubb/Forum11/HTML/003823.html )
    I am using IBM jvm (jdk 1.3) on a linux box, and problems are starting to arise:
    I have
    - 1 BC4J based jsp app which works fine.
    - 2 XML parsing BC4J apps which cause strange errors (like parsing 40 documents fine and failing on the 41st for no apparent reason)
    Hopefully, Steven Muench provided precious advice on this (basically, disabling the JIT), however some issues are still open:
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>You should file a bug with IBM to get this fixed, using your stylesheet as a testcase. Lots of people have hit this problem.<HR></BLOCKQUOTE>
    Has anyone (from oracle or else) done this yet? I have gone (quickly) through IBM website but I didn't find any bug report utility or the like...
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Disable your JIT compiler (or switch JVM's) and you won't have the error.<HR></BLOCKQUOTE>
    Turning off the JIT indeed made the errors vanish, thanks a lot for the tip!
    I have a few more questions though :
    * As the BC4J framework uses the xml parser, It is fairly possible that the ibm jvm bug will affect it...
    I haven't had any problems (yet?) with the BC4J part of my applications, but I'm a bit concerned about having random bugs lurking around (I have more than enough of my own :) )
    Has anyone stumbled upon IBM JVM vs oracle parser issues in BC4J? (oracle.xml.parser.v2.XXXXXX exceptions...)
    * If BC4J is indeed affected, what's the solution?
    - Disable the JIT? (And forget about performance?... hmmm... no)
    - Switch parsers? (oracle parser is too tightly integrated in the BC4J Framework isn't it?.. hmm... not possible either)
    - Wait for a patch from IBM (and use another one in the meantime) / switch JVM :
    In either case, I'd really like to know what is the JVM that oracle people use / would advise.
    Thanks for your help
    null

    For those interested,
    last week i reported this bug in the ibm jvm news forum.
    They said that the problem had been investigated and would be fixed in their next service release.
    FYI: the current release (SR7, labeled "build cx130-20010329) still has various problems wih oracle XML parser.
    Remi
    null

  • Sending document to oracle xml gateway web service and body is url encoded

    Hello,
    a question from a complete newbie to web services. I have some code that is sending a soap message to an oracle xml gateway web service. In the soap message the values in the soap body look like &lt ;CNTROLAREA&gt ;
    when I would be expecting <CNTROLAREA>. What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. I have a lot of reading to do but was wondering if someone might be able to point me in the right direction on how to correct the problem. I captured the soap message being sent using tcpmon. Why does the body have the &lt instead of the < as I was expecting and is there an xmldocument type? The header part of the soap message looks as I expect. "><soapenv:Header><ns1:XMLGateway_Header xmlns:ns1="http://xmlns.oracle.com/apps/fnd/XMLGateway"><ns1:MESSAGE_TYPE>XML</ns1:MESSAGE_TYPE>. It is being sent as a com.oracle.xmlns.apps.fnd.XMLGateway.XMLGateway_Header type.
    thanks
    Thanks
    Edited by: twf123 on May 5, 2010 11:59 AM
    Edited by: twf123 on May 5, 2010 12:00 PM

    twf123 wrote:
    What I have been told is that the content of the ReceiveDocument element has been url encoded which causes the &lt and to correct it I need to change the paramater type from object to xmlnode and to build the request as an xmldocument. Where do you change the parameter type?
    The xmlnode and xmldocument comes from a .net guy so I've been trying to find the equivalent in java but am not having any luck. How do you get the data from .net guy? Which interface do you use? What processing do you do after receiving the data?

  • For Oracle XML Team:please help

    hi,
    I have been trying to run my java code using XSQLRequest from inside the stored procedure for past couple of days and i have had a couple of queries which were answered successfully.Thanks for that.
    But so far i have not been able to execute the code from inside the stored procedure which works fine if executed from commandline or thro a normal java application.
    It is always some problem or other and since there is no one except for this forum I end up submitting my queries in here.
    IS there any way i can get in touch with someone from ur side and may be figure out if i can do the way i 'm doing right now or i'm just wasting my time for nothing.I'm already done with the project schedule so i have to answer my PL.
    I have loaded the oraclexsql.jar file and the corresponding parserv2.jar and oraclexmlsql.jar file in my database.
    and i did load the XSQLConfig.xml file in the database file as well n which i'm using oracle:jdbc:thin:@10.0.0.70:1521:xdp as my <dburl>.
    now when i try to call the stored procedure i get the following error:
    Oracle XSQL Programmatic Page Processor 0.9.8.6 (Technology Preview)
    XSQL-007: Cannot acquire a database connection to process page.
    No suitable driver.
    I did find that inorder to make the database connection from inside the stored procedure we have to use jdbc.oracle.kprb driver
    and that thin and oci are not supported.
    Does this mean i have to specify the same in my <dburl> for the config file.
    I infact did try to use this but it wont work and i got the same error.
    Can u please help me with this.
    This is extremely important for me that i come to a conclusion.
    Thanks a lot
    Aman
    (if it is possible that i can talk to someone frm ur side it 'll be reallly great.)
    null

    Try using Oracle XML SQL Utility from
    inside the DB. XSQL is just calling that
    utility.

  • Problem for using oracle xml parser v2 for 8.1.7

    My first posting was messed up. This is re-posting the same question.
    Problem for using oracle xml parser v2 for 8.1.7
    I have a sylesheet with
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">.
    It works fine if I refer this xsl file in xml file as follows:
    <?xml-stylesheet type="text/xsl" href="http://...../GN.xsl"?>.
    When I use this xsl in pl/sql package, I got
    ORA-20100: Error occurred while processing: XSL-1009: Attribute 'xsl:version' not found in 'xsl:stylesheet'.
    After I changed name space definition to
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> in xsl file, I got
    ORA-20100: Error occurred while processing: XSL-1019: Expected ']' instead of '$'.
    I am using xml parser v2 for 8.1.7
    Can anyone explain why it happens? What is the solution?
    Yi

    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by Steven Muench ([email protected]):
    Element's dont have text content, they [b]contain text node children.
    So instead of trying to setNodeValue() on the element, construct a Text node and use the appendChild method on the element to append the text node as a child of the element.<HR></BLOCKQUOTE>
    Steve,
    We are also creating an XML DOM from java and are having trouble getting the tags created as we want. When we use XMLText it creates the tag as <tagName/>value rather than <tagName>value</tagName>. We want separate open and close tags. Any ideas?
    Lori

  • ORA-29540: class oracle/xml/sql/query/OracleXMLStaticQuery does not exist

    I am getting below error when trying to generate xml. Browsing on google did not help me. I would appreciate if someone can provide the solution.
    SQL> select dbms_xmlquery.getxml('select * from dual', 2) from dual;
    ERROR:
    ORA-29540: class oracle/xml/sql/query/OracleXMLStaticQuery does not exist
    ORA-06512: at "SYS.DBMS_XMLQUERY", line 19
    ORA-06512: at "SYS.DBMS_XMLQUERY", line 271
    ORA-06512: at line 1

    Then it is probably not the case that you are affected by the issue described in Metalink document 185857.1, but if I were you I would check it anyway, since it might be the problem.

  • Oracle XML Parser - "comments"  BUG!

    hey fellas
    I have almost wrapped up my project except for one stupid bug
    that am getting. I'm using Oracle XML parser for Java.9.0
    I am adding some comments in the output xml file but it is giving trouble.
    My code:
    ====
    Comment comment =xmldocument.createComment("mary had a lazy lamb");
    xmldocument.appendNode(comment);
    =====
    Now comments are being added in the output xml file. BUT GUESS what -
    Instead of putting the string like -
    <!-- mary had a lazy lamb -->
    It is putting it like -
    <?#comment mary had a lazy lamb comments?>
    This, inadverantly throws an error when I open the file using a browser.
    How to over come this.
    Thanks

    Hey fellas I urgently need a response!!Long-term solution: report it to Oracle as a bug.
    Short-term solutions: don't write comments to your document. Or try a different serializer.

  • Using Native Oracle XML DB Web Services - REST POST web service possible?

    My goal is to expose some pl/sql procedures as a REST web services.
    The Database is 11gR2
    The request method needs to be a POST (not GET as a request will perform insert/updates ) - the request body will contain a xml structure
    Have setup XMLDB Database-native Web Services as per
    11g documentation "Using Native Oracle XML DB Web Services"
    It seems this setup support only SOAP requests!?
    RESTful webservice with GET is (sort of) supported using
    Embedded PL/SQL Gateway as describer here:
    http://ora-00001.blogspot.com/2009/07/creating-rest-web-service-with-plsql.html
    Although no support for POST
    Obviously the post is from 2009 so just want to know if anything changed since.
    Has anyone found a way to expose pl/sql procedures using XML DB or other approach as a REST POST web services?
    (As the relative low number of calls/hour and also the aim to have the least amount of moving parts therefor looking for a DB centric solution)
    Thanks
    Pete

    I think the post referred to was more an exercise of what could be achieved. The quickest way, nowadays, to get this done with not too much hassle is via APEX
    http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35128/restful_svc.htm
    M.

  • XSQL-022: Cannot load serializer class oracle.xml.xsql.serializers.fop203

    Hi,
    I' have used Tomcat 4.0.3 with XSQL Servlet 9.2 for about a half year. All is working fine. When I now change to 4.1.18 the most things are also working fine. The are to problems:
    1. I have to save the XSQLConfig.xml in a jar file.
    2. My fop serializer doesn't work any longer. I'm getting all the time the following error: XSQL-022: Cannot load serializer class oracle.xml.xsql.serializers.fop203.
    I'm using the XDK 9.2.0.4 with jsdk 1.4.1 and tomcat 4.1.18 on Redhat Linux.
    Has anyone had have the same problem? Has anyone a solution for this problem?
    Regards
    Uwe

    Does the XSQLSampleSerializer exhibit the same problem?
    That is, can we rule out the fact that it's related at all to FOP?
    If you browse the following page, does it work?
    <?xml version="1.0"?>
    <?xml-stylesheet serializer="java:oracle.xml.xsql.serializers.XSQLSampleSerializer"?>
    <foo-with-java/>This sample serializer should be in your xsqlserializers.jar file.

Maybe you are looking for

  • Not exists... in Answers

    Hi, I want to write the equivalent of the SQL below; - select * from     AP_INVOICES_MV inv ,       ap_holds_mv hold where inv.invoice_key = hold.invoice_key and  not exists (select 'x' from    AP_INVOICE_DISTRIBUTIONS dis where   inv.invoice_key = d

  • Flash CS3. Please Help. Thanks.

    Well, I used ActionScript 2.0 and made two buttons. I attached my file, where it shows the difference between the two buttons. I can't figure out my mistake on the first button. I don't know why the first button appears inside a big white box (and ve

  • BBC Radio Streams Down on iTunes

    To those of you who use BBC Radio streams on iTunes can you confirm that the streams for R1, R2 and R6 are down? I can still get R3, R4 and R5. but getting URL not found for the above ones. If anyone has comments or a workaround please let me know. P

  • How to create a ICWC "Cancel" function?

    Hello all. Our call-centre users have a large database of historical data which they frequently execute inefficient searches on in the ICWC. In order to avoid keeping their callers on the line waiting for the search to time-out, we need to give them

  • Infoview Discussion function is not work for shortcut?

    My BOE version is XI 3.1, when I create a shortcut for an object in InfoView then click that shortcut and open the discussion panel, the follow message is display 'Discussions do not apply to this object type'. I want to know if this is a limitation