Skip to Main Content
  • Questions
  • Got ORA-00932 on Clob Containing XML Data

Breadcrumb

Question and Answer

Connor McDonald

Thanks for the question, Ahmad.

Asked: October 02, 2022 - 7:58 am UTC

Last updated: October 11, 2022 - 3:36 am UTC

Version: 11.2.0.4.0

Viewed 10K+ times! This question is

You Asked

Dear Tom
I have a table named table1 witch have a clob column named column1 that contains xml data.
for user1 in this database query
select extractvalue(column1,'//xpath') from table1
works fine but after copying this table to another user in the same database i get
ORA-00932: inconsistent datatypes expected - got -
i noticed that
select extractvalue(xmltype(column1),'//xpath') from table1
works for second user but it needs changing developed software that it's not possible any progress is appreciated
First USER1 DDL is
  CREATE TABLE "USER1"."TABLE1" 
   ( "SN_ID" NUMBER, 
 "SN_NOTEID" VARCHAR2(20), 
 "SN_TITLE" VARCHAR2(1000), 
 "SN_OLDNOTEID" NUMBER, 
 "SN_FORMATID" NUMBER, 
 "COLUMN1" CLOB, 
 "SN_FOOTER" VARCHAR2(4000), 
 "SN_GROUP" NUMBER, 
 "SN_CREATEDATE" DATE, 
 "SN_USER" NUMBER, 
 "SN_SECLEVEL" CHAR(1), 
  CONSTRAINT "CHK_SEC_LEVEL_NOTE" CHECK (SN_SECLEVEL in ('L','M','H')) ENABLE, 
  CONSTRAINT "PK_TABLE1_ID" PRIMARY KEY ("SN_ID", "SN_FORMATID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" 
 LOB ("COLUMN1") STORE AS BASICFILE (
  TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 

and second user DDL is
  CREATE TABLE "USER2"."TABLE1" 
   ( "SN_ID" NUMBER, 
 "SN_NOTEID" VARCHAR2(20), 
 "SN_TITLE" VARCHAR2(1000), 
 "SN_OLDNOTEID" NUMBER, 
 "SN_FORMATID" NUMBER, 
 "COLUMN1" CLOB, 
 "SN_FOOTER" VARCHAR2(4000), 
 "SN_GROUP" NUMBER, 
 "SN_CREATEDATE" DATE, 
 "SN_USER" NUMBER, 
 "SN_SECLEVEL" CHAR(1), 
  CONSTRAINT "CHK_SEC_LEVEL_NOTE" CHECK (SN_SECLEVEL in ('L','M','H')) ENABLE, 
  CONSTRAINT "PK_TABLE1_ID" PRIMARY KEY ("SN_ID", "SN_FORMATID")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS"  ENABLE
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 
 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" 
 LOB ("COLUMN1") STORE AS BASICFILE (
  TABLESPACE "USERS" ENABLE STORAGE IN ROW CHUNK 8192 RETENTION 
  NOCACHE LOGGING 
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1
  BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)) 

and Connor said...

Can we see the full DDL (from DBMS_METADATA) for the table from both schemas please

Addenda:

I suspect you might be hitting an old bug. See MOS note 1330128.1 for workaround.

But of course the true workaround here is .... get to a support release version

Is this answer out of date? If it is, please let us know via a Comment

More to Explore

Design

New to good database design? Check out Chris Saxon's full fundamentals class.