Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-29958 creating XMLIndex with TABLESPACE specification included

644524Aug 28 2011 — edited Aug 28 2011
Hi,
We get error trying to create XMLIndex on Binary XML Table with TABLESPACE specification included. Did check Parenthesis and they are all matched up in CREATE INDEX Statement:
 
SQL*Plus: Release 11.2.0.1.0 Production on Sun Aug 28 11:50:46 2011

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options

SQL> SET ECHO ON
SQL> SET FEED ON
SQL> SET SQLTERMINATOR OFF

SQL> CREATE TABLE CSES_AGREEMENT_XML (
  2     AGREEMENT_XML XMLType NOT NULL,
  3     CREATE_BY VARCHAR2(15),
  4     CREATE_DT_GMT TIMESTAMP(6),
  5     CREATE_CLIENT_ID VARCHAR2(65),
  6     UPDATE_BY VARCHAR2(15),
  7     UPDATE_DT_GMT TIMESTAMP(6),
  8     UPDATE_CLIENT_ID VARCHAR2(65),
  9     PIC_VERSION_NUM VARCHAR2(20))
 10  TABLESPACE CSES_LG_DATA XMLTYPE "AGREEMENT_XML"
 11  STORE AS BINARY XML
 12  VIRTUAL COLUMNS
 13  (OBJECT_ID AS (XMLCast(XMLQuery('declare default element namespace ''http:/
/com.oocl.schema.tnm.agreementbuilder'';
 14  declare namespace xsi=''http://www.w3.org/2001/XMLSchema-instance''; (: :)
 15  declare namespace xsd=''http://www.w3.org/2001/XMLSchema''; (: :) /Agreemen
t/ObjectID'
 16  PASSING AGREEMENT_XML RETURNING CONTENT)
 17  AS NUMBER(20))),
 18  AGREEMENT_ID AS (XMLCast(XMLQuery('declare default element namespace ''http
://com.oocl.schema.tnm.agreementbuilder'';
 19  declare namespace xsi=''http://www.w3.org/2001/XMLSchema-instance''; (: :)
 20  declare namespace xsd=''http://www.w3.org/2001/XMLSchema''; (: :) /Agreemen
t/Identifier'
 21  PASSING AGREEMENT_XML RETURNING CONTENT)
 22  AS NUMBER(10))),
 23  CREATION_DATE AS (XMLCast(XMLQuery('declare default element namespace ''htt
p://com.oocl.schema.tnm.agreementbuilder'';
 24  declare namespace xsi=''http://www.w3.org/2001/XMLSchema-instance''; (: :)
 25  declare namespace xsd=''http://www.w3.org/2001/XMLSchema''; (: :) /Agreemen
t/CreationDate'
 26  PASSING AGREEMENT_XML RETURNING CONTENT)
 27  AS TIMESTAMP)),
 28  LAST_UPDATED_BY AS (XMLCast(XMLQuery('declare default element namespace ''h
ttp://com.oocl.schema.tnm.agreementbuilder'';
 29  declare namespace xsi=''http://www.w3.org/2001/XMLSchema-instance''; (: :)
 30  declare namespace xsd=''http://www.w3.org/2001/XMLSchema''; (: :) /Agreemen
t/LastUpdatedBy'
 31  PASSING AGREEMENT_XML RETURNING CONTENT)
 32  AS VARCHAR2(10))))
 33  /

Table created.

SQL> ALTER TABLE CSES_AGREEMENT_XML
  2    ADD CONSTRAINT CSES_AGREEMENT_XML_PK PRIMARY KEY (OBJECT_ID)
  3    USING INDEX TABLESPACE CSES_LG_INDX
  4  /

Table altered.

SQL> ALTER TABLE CSES_AGREEMENT_XML
  2    ADD CONSTRAINT CSES_AGREEMENT_XML_UDX1 UNIQUE (AGREEMENT_ID)
  3    USING INDEX TABLESPACE CSES_LG_INDX
  4  /

Table altered.

SQL> CREATE INDEX CSES_AGREEMENT_XML_IDX1
  2    ON  CSES_AGREEMENT_XML( LAST_UPDATED_BY )
  3        TABLESPACE CSES_LG_INDX
  4  /

Index created.

SQL> CREATE INDEX CSES_AGREEMENT_XML_IDX2
  2    ON  CSES_AGREEMENT_XML( CREATION_DATE )
  3        TABLESPACE CSES_LG_INDX
  4  /

Index created.

SQL> CREATE INDEX CSES_AGREEMENT_XML_XDX1  ON CSES_AGREEMENT_XML(AGREEMENT_XML)

  2  INDEXTYPE IS XDB.XMLINDEX
  3  PARAMETERS (
  4  'GROUP CSES_AGREEMENT_XML_XDX_GRP0
  5   XMLTABLE CSES_AGREEMENT_XML_XTAB0 (TABLESPACE CSES_LG_INDX)
  6   XMLNAMESPACES(default ''http://com.oocl.schema.tnm.agreementbuilder''),
  7   ''/Agreement''
  8   COLUMNS
  9     SHP_PTY_CUST_HOLDER XMLType PATH ''ShippingPartyGroups/ShippingParties/C
ustomerHolder'' VIRTUAL
 10     XMLTABLE CSES_AGREEMENT_XML_XTAB1 (TABLESPACE CSES_LG_INDX)
 11      XMLNAMESPACES(default ''http://com.oocl.schema.tnm.agreementbuilder''),

 12        ''/CustomerHolder'' PASSING SHP_PTY_CUST_HOLDER
 13      COLUMNS
 14          SAP_ID VARCHAR2(10) PATH ''SAP_ID''')
 15  /
CREATE INDEX CSES_AGREEMENT_XML_XDX1  ON CSES_AGREEMENT_XML(AGREEMENT_XML)
*
ERROR at line 1:
ORA-29958: fatal error occurred in the execution of ODCIINDEXCREATE routine
ORA-00907: missing right parenthesis

SQL>
Find XMLIndex creation works fine without Tablespace Specification (TABLESPACE CSES_LG_INDX) the Index Creation works fine. However, we do need to specify proper TABLESPACE spec for the setup.
SQL>
SQL>
SQL> -- Works fine without TABLESPACE Specification for XMLTABLE clause
SQL> CREATE INDEX CSES_AGREEMENT_XML_XDX1  ON CSES_AGREEMENT_XML(AGREEMENT_XML)

  2  INDEXTYPE IS XDB.XMLINDEX
  3  PARAMETERS (
  4  'GROUP CSES_AGREEMENT_XML_XDX_GRP0
  5   XMLTABLE CSES_AGREEMENT_XML_XTAB0
  6   XMLNAMESPACES(default ''http://com.oocl.schema.tnm.agreementbuilder''),
  7   ''/Agreement''
  8   COLUMNS
  9     SHP_PTY_CUST_HOLDER XMLType PATH ''ShippingPartyGroups/ShippingParties/C
ustomerHolder'' VIRTUAL
 10     XMLTABLE CSES_AGREEMENT_XML_XTAB1
 11      XMLNAMESPACES(default ''http://com.oocl.schema.tnm.agreementbuilder''),

 12        ''/CustomerHolder'' PASSING SHP_PTY_CUST_HOLDER
 13      COLUMNS
 14          SAP_ID VARCHAR2(10) PATH ''SAP_ID''')
 15  /

Index created.

SQL>
Any help or pointers would be greatly appreciated.

Thanks
Auroprem
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Sep 25 2011
Added on Aug 28 2011
1 comment
781 views