Moving table with XMLTYPE to a new tablespace
I want to move my all tables with XMLTYPE to a seprate tablespace. One of my tables which is causing me greif is XML_SL_MESSAGE. Here is its structure;
Name Type
XML_SL_MESSAGE_ID NUMBER(11)
DTE_TIMESTAMP TIMESTAMP(6)
VALID_SL_MESSAGE_XML SYS.XMLTYPE Y
INVALID_XML CLOB Y
VALID_SL_MESSAGE_XML_V2 SYS.XMLTYPE Y
Would any one of you guide me to how to move this monster in a new tablespace XML_DAT.
Thanks
Qazi Ahmed
Canada
hi SRK
assumptions: both the table structures are the same.
the primary keys are the same.
data: begin of itabA.
include structure A.
data: end of itabA.
data: begin of itabB.
include structure B. <<<<< if needed.
data: end of itabB.
select * from A into table itab.
delete table B.
modify table B by itab.
The structure of Itab will the same structure of the Ztable we are updating.
in the above case it will be of type B,
Edited by: Jackandjay on Jan 27, 2008 6:09 PM
Similar Messages
-
Export/import table with XMLTYPE data_type and fine_grained policy
Hi friends!
I'm trying to export a table with XMLTYPE and faine-grained policy.
Source: HP-UX - Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bi
Target: Linux 2.6.18-238.el5 - Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
I do it thru exp/imp old utilities as mention in metalink ID 1318012.1.
One of the things that surprised me after exp/imp is that the number of objects increased:
Objects at Source:
exp \"/ as sysdba\" owner=xml log=xml file=xml.dmp
Type
Number of Objects
TYPE
431
TRIGGER
6
TABLE
17
PROCEDURE
2
LOB
120
INDEX
17
FUNCTION
1
On Target:
imp \"/ as sysdba\" file=xml.dmp fromuser=xml touser=xml log=xml.log
Type
Number of Objects
TYPE
431
TABLE
32
PROCEDURE
2
LOB
429
INDEX
478
FUNCTION
1
Why is this happening? Is it normal?
Other problem that I found is triggers are not imported, why!?!?
Thank you very much for your help!
JoséHi!
The new squema was created empty. If I run the following query:
select '10g', TABLE_NAME,COUNT(*)
from DBA_LOBS@DSN_HP
where OWNER='XML'
group by TABLE_NAME
union
select '11g', table_name,count(*)
from DBA_LOBS
where OWNER='XML'
group by TABLE_NAME
order by 2,1
As a result:
Version
Table_name
Total
10g
ACTION_TABLE
1
11g
ACTION_TABLE
1
10g
Document1767_TAB
14
11g
Document1767_TAB
13
10g
Document1852_TAB
14
11g
Document1852_TAB
13
10g
Document1941_TAB
16
11g
Document1941_TAB
15
10g
Document2016_TAB
14
11g
Document2016_TAB
13
10g
Document2087_TAB
13
11g
Document2087_TAB
12
10g
IBT_XML_RECIBIDOS
1
11g
IBT_XML_RECIBIDOS
1
10g
LINEITEM_TABLE
2
11g
LINEITEM_TABLE
2
10g
PURCHASEORDER
7
11g
PURCHASEORDER
7
10g
PurchaseOrder1145_TAB
9
11g
PurchaseOrder1145_TAB
7
10g
RICARDO
13
10g
RICARDO2
1
11g
RICARDO2
1
10g
RITNTFER
1
11g
RITNTFER
1
10g
RITNTFRE_08
13
11g
SYS_NT3+LEU6vbfGLgQ18DLgrURw==
69
11g
SYS_NT3+LEU6vffGLgQ18DLgrURw==
76
11g
SYS_NT3+LEU6vjfGLgQ18DLgrURw==
63
11g
SYS_NT3+LEU6vpfGLgQ18DLgrURw==
1
11g
SYS_NT3+LEU6vqfGLgQ18DLgrURw==
2
11g
SYS_NT3+LEU6vTfGLgQ18DLgrURw==
65
11g
SYS_NT3+LEU6vXfGLgQ18DLgrURw==
66
10g
TESTCLOB
1
11g
TESTCLOB
1
There are many new tables created...I suppose because the differences between versions...
Any ideas?
Thanks a lot!
José -
Find size of table with XMLTYPE column STORE AS BINARY XML
Hi,
I have a table with structure as:
CREATE TABLE XML_TABLE_1
ID NUMBER NOT NULL,
SOURCE VARCHAR2(255 CHAR) NOT NULL,
XML_TEXT SYS.XMLTYPE,
CREATION_DATE TIMESTAMP(6) NOT NULL
XMLTYPE XML_TEXT STORE AS BINARY XML (
TABLESPACE Tablespace1_LOB
DISABLE STORAGE IN ROW
CHUNK 16384
RETENTION
CACHE READS
NOLOGGING)
ALLOW NONSCHEMA
DISALLOW ANYSCHEMA
TABLESPACE Tablespace2_DATA
- So HOW do I find the total size occupied by this table. Does BINARY storage work as LOB storage. i.e. I need to consider USER_LOBS as well for this.
OR foll. will work
select segment_name as tablename, sum(bytes/ (1024 * 1024 * 1024 )) as tablesize_in_GB
From dba_segments
where segment_name = 'XML_TABLE_1'
and OWNER = 'SCHEMANAME'
group by segment_name ;
- Also if I am copying it to another table of same structure as:
Insert /*+ append */ into XML_TABLE_2 Select * from XML_TABLE_1.
Then how much space in ROllbackSegment do I need. Is it equal to the size of the table XML_TABLE_1?
Thanks..I think foll query calculates it right while including the LOB storage as:
SELECT SUM(bytes)/1024/1024/1024 gb
FROM dba_segments
WHERE (owner = 'SCHEMA_NAME' and
segment_name = 'TABLE_NAME')
OR (owner, segment_name) IN (
SELECT owner, segment_name
FROM dba_lobs
WHERE owner = 'SCHEMA_NAME'
AND table_name = 'TABLE_NAME')
It's 80 GB for our Table with XMLType Column.
But for the second point:
Do we need 80GB of UNDO/ROLLBACK Segment for performing:
Insert /*+ append */ into TableName1 Select * from TableName;
Thanks.. -
ORA-07445 in the alert log when inserting into table with XMLType column
I'm trying to insert an xml-document into a table with a schema-based XMLType column. When I try to insert a row (using plsql-developer) - oracle is busy for a few seconds and then the connection to oracle is lost.
Below you''ll find the following to recreate the problem:
a) contents from the alert log
b) create script for the table
c) the before-insert trigger
d) the xml-schema
e) code for registering the schema
f) the test program
g) platform information
Alert Log:
Fri Aug 17 00:44:11 2007
Errors in file /oracle/app/oracle/product/10.2.0/db_1/admin/dntspilot2/udump/dntspilot2_ora_13807.trc:
ORA-07445: exception encountered: core dump [SIGSEGV] [Address not mapped to object] [475177] [] [] []
Create script for the table:
CREATE TABLE "DNTSB"."SIGNATURETABLE"
( "XML_DOCUMENT" "SYS"."XMLTYPE" ,
"TS" TIMESTAMP (6) WITH TIME ZONE NOT NULL ENABLE
) XMLTYPE COLUMN "XML_DOCUMENT" XMLSCHEMA "http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd" ELEMENT "Object"
ROWDEPENDENCIES ;
Before-insert trigger:
create or replace trigger BIS_SIGNATURETABLE
before insert on signaturetable
for each row
declare
-- local variables here
l_sigtab_rec signaturetable%rowtype;
begin
if (:new.xml_document is not null) then
:new.xml_document.schemavalidate();
end if;
l_sigtab_rec.xml_document := :new.xml_document;
end BIS_SIGNATURETABLE2;
XML-Schema (xmldsig-core-schema.xsd):
=====================================================================================
<?xml version="1.0" encoding="utf-8"?>
<!-- Schema for XML Signatures
http://www.w3.org/2000/09/xmldsig#
$Revision: 1.1 $ on $Date: 2002/02/08 20:32:26 $ by $Author: reagle $
Copyright 2001 The Internet Society and W3C (Massachusetts Institute
of Technology, Institut National de Recherche en Informatique et en
Automatique, Keio University). All Rights Reserved.
http://www.w3.org/Consortium/Legal/
This document is governed by the W3C Software License [1] as described
in the FAQ [2].
[1] http://www.w3.org/Consortium/Legal/copyright-software-19980720
[2] http://www.w3.org/Consortium/Legal/IPR-FAQ-20000620.html#DTD
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xdb="http://xmlns.oracle.com/xdb"
targetNamespace="http://www.w3.org/2000/09/xmldsig#" version="0.1" elementFormDefault="qualified">
<!-- Basic Types Defined for Signatures -->
<xs:simpleType name="CryptoBinary">
<xs:restriction base="xs:base64Binary">
</xs:restriction>
</xs:simpleType>
<!-- Start Signature -->
<xs:element name="Signature" type="ds:SignatureType"/>
<xs:complexType name="SignatureType">
<xs:sequence>
<xs:element ref="ds:SignedInfo"/>
<xs:element ref="ds:SignatureValue"/>
<xs:element ref="ds:KeyInfo" minOccurs="0"/>
<xs:element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:element name="SignatureValue" type="ds:SignatureValueType"/>
<xs:complexType name="SignatureValueType">
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
<!-- Start SignedInfo -->
<xs:element name="SignedInfo" type="ds:SignedInfoType"/>
<xs:complexType name="SignedInfoType">
<xs:sequence>
<xs:element ref="ds:CanonicalizationMethod"/>
<xs:element ref="ds:SignatureMethod"/>
<xs:element ref="ds:Reference" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:element name="CanonicalizationMethod" type="ds:CanonicalizationMethodType"/>
<xs:complexType name="CanonicalizationMethodType" mixed="true">
<xs:sequence>
<xs:any namespace="##any" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) namespace -->
</xs:sequence>
<xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
</xs:complexType>
<xs:element name="SignatureMethod" type="ds:SignatureMethodType"/>
<xs:complexType name="SignatureMethodType" mixed="true">
<xs:sequence>
<xs:element name="HMACOutputLength" minOccurs="0" type="ds:HMACOutputLengthType"/>
<xs:any namespace="##other" minOccurs="0" maxOccurs="unbounded"/>
<!-- (0,unbounded) elements from (1,1) external namespace -->
</xs:sequence>
<xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
</xs:complexType>
<!-- Start Reference -->
<xs:element name="Reference" type="ds:ReferenceType"/>
<xs:complexType name="ReferenceType">
<xs:sequence>
<xs:element ref="ds:Transforms" minOccurs="0"/>
<xs:element ref="ds:DigestMethod"/>
<xs:element ref="ds:DigestValue"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="URI" type="xs:anyURI" use="optional"/>
<xs:attribute name="Type" type="xs:anyURI" use="optional"/>
</xs:complexType>
<xs:element name="Transforms" type="ds:TransformsType"/>
<xs:complexType name="TransformsType">
<xs:sequence>
<xs:element ref="ds:Transform" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Transform" type="ds:TransformType"/>
<xs:complexType name="TransformType" mixed="true">
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
<xs:element name="XPath" type="xs:string"/>
</xs:choice>
<xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
</xs:complexType>
<!-- End Reference -->
<xs:element name="DigestMethod" type="ds:DigestMethodType"/>
<xs:complexType name="DigestMethodType" mixed="true">
<xs:sequence>
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Algorithm" type="xs:anyURI" use="required"/>
</xs:complexType>
<xs:element name="DigestValue" type="ds:DigestValueType"/>
<xs:simpleType name="DigestValueType">
<xs:restriction base="xs:base64Binary"/>
</xs:simpleType>
<!-- End SignedInfo -->
<!-- Start KeyInfo -->
<xs:element name="KeyInfo" type="ds:KeyInfoType"/>
<xs:complexType name="KeyInfoType" mixed="true">
<xs:choice maxOccurs="unbounded">
<xs:element ref="ds:KeyName"/>
<xs:element ref="ds:KeyValue"/>
<xs:element ref="ds:RetrievalMethod"/>
<xs:element ref="ds:X509Data"/>
<xs:element ref="ds:PGPData"/>
<xs:element ref="ds:SPKIData"/>
<xs:element ref="ds:MgmtData"/>
<xs:any processContents="lax" namespace="##other"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</xs:choice>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:element name="KeyName" type="xs:string"/>
<xs:element name="MgmtData" type="xs:string"/>
<xs:element name="KeyValue" type="ds:KeyValueType"/>
<xs:complexType name="KeyValueType" mixed="true">
<xs:choice>
<xs:element ref="ds:DSAKeyValue"/>
<xs:element ref="ds:RSAKeyValue"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:choice>
</xs:complexType>
<xs:element name="RetrievalMethod" type="ds:RetrievalMethodType"/>
<xs:complexType name="RetrievalMethodType">
<xs:sequence>
<xs:element ref="ds:Transforms" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="URI" type="xs:anyURI"/>
<xs:attribute name="Type" type="xs:anyURI" use="optional"/>
</xs:complexType>
<!-- Start X509Data -->
<xs:element name="X509Data" type="ds:X509DataType"/>
<xs:complexType name="X509DataType">
<xs:sequence maxOccurs="unbounded">
<xs:choice>
<xs:element name="X509IssuerSerial" type="ds:X509IssuerSerialType"/>
<xs:element name="X509SKI" type="xs:base64Binary"/>
<xs:element name="X509SubjectName" type="xs:string"/>
<xs:element name="X509Certificate" type="xs:base64Binary"/>
<xs:element name="X509CRL" type="xs:base64Binary"/>
<xs:any namespace="##other" processContents="lax"/>
</xs:choice>
</xs:sequence>
</xs:complexType>
<xs:complexType name="X509IssuerSerialType">
<xs:sequence>
<xs:element name="X509IssuerName" type="xs:string"/>
<xs:element name="X509SerialNumber" type="xs:integer"/>
</xs:sequence>
</xs:complexType>
<!-- End X509Data -->
<!-- Begin PGPData -->
<xs:element name="PGPData" type="ds:PGPDataType"/>
<xs:complexType name="PGPDataType">
<xs:choice>
<xs:sequence>
<xs:element name="PGPKeyID" type="xs:base64Binary"/>
<xs:element name="PGPKeyPacket" type="xs:base64Binary" minOccurs="0"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
<xs:sequence>
<xs:element name="PGPKeyPacket" type="xs:base64Binary"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"
maxOccurs="unbounded"/>
</xs:sequence>
</xs:choice>
</xs:complexType>
<!-- End PGPData -->
<!-- Begin SPKIData -->
<xs:element name="SPKIData" type="ds:SPKIDataType"/>
<xs:complexType name="SPKIDataType">
<xs:sequence maxOccurs="unbounded">
<xs:element name="SPKISexp" type="xs:base64Binary"/>
<xs:any namespace="##other" processContents="lax" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<!-- End SPKIData -->
<!-- End KeyInfo -->
<!-- Start Object (Manifest, SignatureProperty) -->
<xs:element name="Object" type="ds:ObjectType"/>
<xs:complexType name="ObjectType" mixed="true">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any namespace="##any" processContents="lax"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
<xs:attribute name="MimeType" type="xs:string" use="optional"/> <!-- add a grep facet -->
<xs:attribute name="Encoding" type="xs:anyURI" use="optional"/>
</xs:complexType>
<xs:element name="Manifest" type="ds:ManifestType"/>
<xs:complexType name="ManifestType">
<xs:sequence>
<xs:element ref="ds:Reference" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:element name="SignatureProperties" type="ds:SignaturePropertiesType"/>
<xs:complexType name="SignaturePropertiesType">
<xs:sequence>
<xs:element ref="ds:SignatureProperty" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<xs:element name="SignatureProperty" type="ds:SignaturePropertyType"/>
<xs:complexType name="SignaturePropertyType" mixed="true">
<xs:choice maxOccurs="unbounded">
<xs:any namespace="##other" processContents="lax"/>
<!-- (1,1) elements from (1,unbounded) namespaces -->
</xs:choice>
<xs:attribute name="Target" type="xs:anyURI" use="required"/>
<xs:attribute name="Id" type="xs:ID" use="optional"/>
</xs:complexType>
<!-- End Object (Manifest, SignatureProperty) -->
<!-- Start Algorithm Parameters -->
<xs:simpleType name="HMACOutputLengthType">
<xs:restriction base="xs:integer"/>
</xs:simpleType>
<!-- Start KeyValue Element-types -->
<xs:element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<xs:complexType name="DSAKeyValueType">
<xs:sequence>
<xs:sequence minOccurs="0">
<xs:element name="P" type="ds:CryptoBinary"/>
<xs:element name="Q" type="ds:CryptoBinary"/>
</xs:sequence>
<xs:element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<xs:element name="Y" type="ds:CryptoBinary"/>
<xs:element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<xs:sequence minOccurs="0">
<xs:element name="Seed" type="ds:CryptoBinary"/>
<xs:element name="PgenCounter" type="ds:CryptoBinary"/>
</xs:sequence>
</xs:sequence>
</xs:complexType>
<xs:element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<xs:complexType name="RSAKeyValueType">
<xs:sequence>
<xs:element name="Modulus" type="ds:CryptoBinary"/>
<xs:element name="Exponent" type="ds:CryptoBinary"/>
</xs:sequence>
</xs:complexType>
<!-- End KeyValue Element-types -->
<!-- End Signature -->
</xs:schema>
===============================================================================
Code for registering the xml-schema
begin
dbms_xmlschema.deleteSchema('http://xmlns.oracle.com/xdb/schemas/DNTSB/www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
dbms_xmlschema.DELETE_CASCADE_FORCE);
end;
begin
DBMS_XMLSCHEMA.REGISTERURI(
schemaurl => 'http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
schemadocuri => 'http://www.sporfori.fo/schemas/www.w3.org/TR/xmldsig-core/xmldsig-core-schema.xsd',
local => TRUE,
gentypes => TRUE,
genbean => FALSE,
gentables => TRUE,
force => FALSE,
owner => 'DNTSB',
options => 0);
end;
Test program
-- Created on 17-07-2006 by EEJ
declare
XML_TEXT3 CLOB := '<Object xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignatureProperties>
<SignatureProperty Target="">
<Timestamp xmlns="http://www.sporfori.fo/schemas/dnts/general/2006/11/14">2007-05-10T12:00:00-05:00</Timestamp>
</SignatureProperty>
</SignatureProperties>
</Object>';
xmldoc xmltype;
begin
xmldoc := xmltype(xml_text3);
insert into signaturetable
(xml_document, ts)
values
(xmldoc, current_timestamp);
end;
Platform information
Operating system:
-bash-3.00$ uname -a
SunOS dntsdb 5.10 Generic_125101-09 i86pc i386 i86pc
SQLPlus:
SQL*Plus: Release 10.2.0.3.0 - Production on Fri Aug 17 00:15:13 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - Production
With the Partitioning and Data Mining options
Kind Regards,
EyðunYou should report this in a service request on http://metalink.oracle.com.
It is a shame that you put all the effort here to describe your problem, but on the other hand you can now also copy & paste the question to Oracle Support.
Because you are using 10.2.0.3; I am guessing that you have a valid service contract... -
Hi,
I'm facing a problem in creating a simple table with
a column as XMLType.
This is how it fares in SQL*plus :
DB Ver: Oracle9i Enterprise Edition Release 9.2.0.5.0 - Production
SQL> CREATE TABLE poTable (purchaseOrder XMLType) ;
CREATE TABLE poTable (purchaseOrder XMLType)
ERROR at line 1:
ORA-00902: invalid datatype
Is there anything that I need to install in the database in order to create such a table?
Thanks
SatrajitSQL> R
1 SELECT OWNER,OBJECT_NAME,OBJECT_TYPE,STATUS FROM ALL_OBJECTS
2* WHERE OBJECT_NAME = 'XMLTYPE'
OWNER OBJECT_NAM OBJECT_TYPE STATUS
SYS XMLTYPE TYPE VALID
SYS XMLTYPE TYPE BODY VALID
PUBLIC XMLTYPE SYNONYM VALID
SQL> CREATE TABLE poTable (purchaseOrder XMLType) ;
Table created.
SQL> DESC POTABLE
Name Null? Type
PURCHASEORDER XMLTYPE
SQL> DISCONNECT
Disconnected from Oracle9i Enterprise Edition Release 9.2.0.3.0 - 64bit Production
With the Partitioning option
JServer Release 9.2.0.3.0 - ProductionAre you able to describe 'XMLTYPE'? Could you check your data dictionary for the presence and status of
the object? -
Issue with extractvalue from table with XMLTYPE column.
I'm sure there is a simple answer but I am having problems
retrieving data from an xmltype column type.
I have two tables
descr dab_xmlName
TABLE of XMLTYPE
descr dab_testName
A NUMBER
AB NUMBER
DATA CLOB
DATA2 VARCHAR2(1600)
MYXML XMLTYPE
I have inserted the Oracle example XML purchaseOrder.xml into both dab_xml
and the myxml column in dab_test.
When I run the following:
SELECT extractvalue(OBJECT_VALUE, '/PurchaseOrder/Reference')
FROM dab_xml;
SBELL-2002100912333601PDT is returned
When I run this:
SELECT extractvalue(OBJECT_VALUE, '/PurchaseOrder/Reference')
FROM (select myxml from dab_test);
ERROR at line 1:
ORA-00904: "OBJECT_VALUE": invalid identifier
Why are the two different?
Any help will be appreciated.
Regards,
DavidIn short you want
SELECT extractvalue(myxml, '/PurchaseOrder/Reference')
FROM dab_test;This difference is that for dab_xml, there are no columns defined for the table, therefore you are [OBJECT_VALUE|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm#sthref830] as an alias for a non existent column.
With dab_test, you have a column that contains the XML so you need to use that column name instead of OBJECT_VALUE. -
Problem deleting from table with xmltype column
Hi,
Using a standard, simple screen (generated from JHeadstart), I don't seem to be able to delete from a table including an xmltype column. I have tried it even with a very simple mock table with only one column, an xmltype column, and every time I check the "delete" box and click "save", I get the following error:
oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[33 ].
I have tried this in the JDeveloper application module tester too and the result is the same.
Is it possible to delete a row from a table with an xmltype column? Am I doing something wrong? Is there something special needs done?
As I say, I did this with a one-xmltype-column table using the "Business Components from Tables" wizard, accepting all the defaults.
Thanks,
DarrenIn short you want
SELECT extractvalue(myxml, '/PurchaseOrder/Reference')
FROM dab_test;This difference is that for dab_xml, there are no columns defined for the table, therefore you are [OBJECT_VALUE|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm#sthref830] as an alias for a non existent column.
With dab_test, you have a column that contains the XML so you need to use that column name instead of OBJECT_VALUE. -
ORA-00904 on create table with xmltype column
Hi,
I am trying to create a table with syntax
CREATE TABLE ss_test(docid integer primary key, content varchar2(4000),acl XMLType)
XMLType column acl store as object relational
XMLSchema "acl.xsd" element "acl"
varray xmldata."ace" store as table ace_tab;
and getting ORA-00904.
acl.xsd is registered as
begin
dbms_xmlschema.registerschema('acl.xsd',
' <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xdb="http://xmlns.oracle.com/xdb">
<xs:element name="acl" xdb:SQLType="ACL_TYPE">
<xs:complexType>
<xs:sequence>
<xs:element name="ace" maxOccurs="100">
<xs:complexType>
<xs:attribute name="id" type="xs:integer"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>',true,true,false,false);
end;
Couldnt figure out whats wrong with the syntax. Any pointers ?
Thanks,
RakeshHmmmm ... I don't know if I should smile or frown with the implication that I am an OO guy :D :D
Most of my colleagues when I started working as a software engineer, treated me as too low-level because of my C background (started doing C in 1985).
In my last job, my colleagues hated my guts because I was asking them to squeeze every bit of performance out of C++ by using STL which is definitely not OO (although C++ is).
My current colleagues treat me as a DB guru (which I most definitely am not) and they overlook/forget the fact that most of them use Java libraries in their projects, that I wrote for them !
I am inclined to believe that I do not fall into any category in the end...
The only thing I am for sure - and I am proud of it - is inquisitive. I want to know everything there is about the tools I use, and so I end up spending hours and hours investigating... (Microsoft found that out the hard way when I filed 16 bug reports in 8 days when Visual C++ 6 came out ! Not that it hurt them though...)
This is where my confession ends (and my working on the XML validator starts...)
Καληνύχτα Marco
Philip (Φίλιππος in Greek)
PS: I did not follow the last solution anyway. I just wanted to verify its operability ;) -
Moving tables with data from one client to another
Hello friends
I have 2 clients 001 and 002.
I have created a table with lots of data on client 001.
I have to get the same table on 002 also with the same data.
Is there an easier way of transfering this data from one table to another?
I would appreciate any feedback on this.
I know that mappings etc., can be done using the export and import of tpz file. So I want to know if there is any similar thing to transfer a table with data.
THanks
RamIf you do not have the client field in your table, then the table is cross-client.
IF you have the client field filled with 001, then you need to create the same entries with client 002, I dont think that you can do this with a transport.
You have to write an ABAP that reads and writes the data. -
Replication on the table with XMLType column and schema registered
Dear All,
Does Oracle XML DB 11g support replication for tables with schema registered?
Is there any recommended approach?
Thanks and regards,
SwapnilHmmmm ... I don't know if I should smile or frown with the implication that I am an OO guy :D :D
Most of my colleagues when I started working as a software engineer, treated me as too low-level because of my C background (started doing C in 1985).
In my last job, my colleagues hated my guts because I was asking them to squeeze every bit of performance out of C++ by using STL which is definitely not OO (although C++ is).
My current colleagues treat me as a DB guru (which I most definitely am not) and they overlook/forget the fact that most of them use Java libraries in their projects, that I wrote for them !
I am inclined to believe that I do not fall into any category in the end...
The only thing I am for sure - and I am proud of it - is inquisitive. I want to know everything there is about the tools I use, and so I end up spending hours and hours investigating... (Microsoft found that out the hard way when I filed 16 bug reports in 8 days when Visual C++ 6 came out ! Not that it hurt them though...)
This is where my confession ends (and my working on the XML validator starts...)
Καληνύχτα Marco
Philip (Φίλιππος in Greek)
PS: I did not follow the last solution anyway. I just wanted to verify its operability ;) -
Issues with using XMLType indexes against a table with XMLType column
I am attempting to use an XMLIndex with a Structured Component and not having too much luck. Not much data in metalink nor is the documentation very helpful:
http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10492/xdb_indexing.htm#BCGHGIGC
The table DDL is as follows:
CREATE TABLE ECI_SCHEMA.REV_ITEM_EARN_DTL_VIRTUAL(
REV_ITEM_EARN_DTL_ID_NBR NUMBER(16,0) NOT NULL,
UNIQ_MSG_ID_NBR VARCHAR2(50) NOT NULL,
REV_ITEM_BILL_DTL_ID_NBR NUMBER(16,0),
PLAN_RACN_NBR NUMBER(10,0) NOT NULL,
INV_DTL_IMG SYS.XMLType NOT NULL,
NON_INV_DTL_IMG BLOB NOT NULL,
PART_KEY_CD GENERATED ALWAYS AS (MOD(PLAN_RACN_NBR,5)) VIRTUAL,
LAST_UPDT_TMSTP TIMESTAMP(6) NOT NULL,
INV_ID_NBR NUMBER(16,0),
ITEM_STATUS_CD VARCHAR2(1) DEFAULT 'A' NOT NULL
LOB (NON_INV_DTL_IMG) STORE AS NON_IDI_LOB (CHUNK 8192 PCTVERSION 10 CACHE)
TABLESPACE ECI_DATA
PARTITION BY RANGE (PART_KEY_CD)
PARTITION RIED_DAY0_PART
VALUES LESS THAN (1)
TABLESPACE ECI_DATA
PARTITION RIED_DAY1_PART
VALUES LESS THAN (2)
TABLESPACE ECI_DATA
PARTITION RIED_DAY2_PART
VALUES LESS THAN (3)
TABLESPACE ECI_DATA
PARTITION RIED_DAY3_PART
VALUES LESS THAN (4)
TABLESPACE ECI_DATA
PARTITION RIED_MAXVAL_PART
VALUES LESS THAN (MAXVALUE)
TABLESPACE ECI_DATA
XMLTYPE COLUMN "INV_DTL_IMG" STORE AS OBJECT RELATIONAL
XMLSCHEMA "someXdbDocument.xsd"
ELEMENT "revenueInvoice"
According to the documentation, I should be able to create a structured XMLIndex on the XMLType column with the following syntax:
SQL> create index eci_schema.rev_item_earn_dtl_virt_xmlix on eci_schema.rev_item_earn_dtl_virtual
2 (INV_DTL_IMG)
3 INDEXTYPE IS XDB.XMLIndex
4 parameters ('PATH TABLE RIED_PATH_TABLE')
5 local;
When I do this, I get the following error:
create index eci_schema.rev_item_earn_dtl_virt_xmlix on eci_schema.rev_item_earn_dtl_virtual
ERROR at line 1:
ORA-29958: fatal error occurred in the execution of ODCIINDEXCREATE routine
ORA-30959: The indexed column is not stored in CLOB.
What am I doing wrong? Based on the Oracle documentation, I was under the impression that 11.2 XMLIndex would work with Object Relational storage. Is this not the case?CREATE INDEX ECI_SCHEMA.REV_ITEM_EARN_DTL_IX7
ON ECI_SCHEMA.REV_ITEM_EARN_DTL
extractValue(inv_dtl_img, '/revenueInvoice/service/transportation/mstrTrkngNbr')
TABLESPACE ECI_REV_ITEM_EARN_DTL_IX7_ITS
LOGGING
PARALLEL(DEGREE 8 INSTANCES 1)
LOCAL
/Elements that occur at most once in each document can be indexed using extractValue(). Despite the fact that the index appears to be a functional index, when we create the index we automatically re-write the create index into a normal btree index on the column that contains the value for the element identified by the xpath.
Eg in the case of a functional index based on extractValue, defined on XMLType using Object relational storage, with an xpath that identifies a node that occurs at most once in each document is not a functional index, it's re-written into a plain old vanilla btree index. You can actually check this by looking in the system tables
Eg
SQL> connect system/oracle
Connected.
SQL> select table_name, index_name from all_indexes where owner = 'OE' and table_name = 'PURCHASEORDER';
TABLE_NAME INDEX_NAME
PURCHASEORDER LINEITEM_TABLE_MEMBERS
PURCHASEORDER ACTION_TABLE_MEMBERS
PURCHASEORDER SYS_C0011037
SQL> alter session set current_schema = OE
2 /
Session altered.
SQL> create unique index PO_REF_INDEX on PURCHASEORDER (extractValue(object_value,'/PurchaseOrder/Reference'));
Index created.
SQL> set lines 250
SQL> select index_name, index_type from all_indexes where owner = 'OE' and table_name = 'PURCHASEORDER';
INDEX_NAME INDEX_TYPE
PO_REF_INDEX NORMAL
LINEITEM_TABLE_MEMBERS NORMAL
ACTION_TABLE_MEMBERS NORMAL
SYS_C0011037 NORMAL
SQL> select * from dba_ind_expressions where table_name = 'PURCHASEORDER' and index_owner = 'OE'
2 /
no rows selectedFrom the above we can see that the index created on extractValue has been re-written in a plain old vanilla BTREE index, and there is no definition for it in dba_ind_expressions So assuming you were able to create the index and insert the data you should find that your index is not a functional index.
] -
4.0 EA1 - Cannot select from table with xmltype
Hi,
I have the following table. When doing a select * from horus_owner.horus_objects nothing is shown. This could be reproduced with both 10g and 11g on the database-side.
Regards,
Johannes
-- Wiedergabe von TABLE DDL für Objekt HORUS_OWNER.HORUS_OBJECTS nicht möglich, da DBMS_METADATA internen Generator versucht.
CREATE TABLE HORUS_OWNER.HORUS_OBJECTS
ID NUMBER(32, 0) NOT NULL
, TRE_ID NUMBER(32, 0) NOT NULL
, WRK_ID NUMBER(32, 0) NOT NULL
, NAME VARCHAR2(200 BYTE) NOT NULL
, MOD_TYPE VARCHAR2(10 BYTE) NOT NULL
, LOCKED_BY VARCHAR2(30 BYTE)
, PETRI_XML SYS.XMLTYPE
, AOM_XML SYS.XMLTYPE
, SHM_XML SYS.XMLTYPE
, ORG_XML SYS.XMLTYPE
, ROLE_XML SYS.XMLTYPE
, MIT_XML SYS.XMLTYPE
, RUL_XML SYS.XMLTYPE
, TXT_DATA CLOB
, CREATED DATE NOT NULL
, CREATED_BY VARCHAR2(30 BYTE) NOT NULL
, UPDATED_BY VARCHAR2(30 BYTE)
, UPDATED DATE
, SIM_XML SYS.XMLTYPE
, GLOSSARY_XML SYS.XMLTYPE
, CONSTRAINT OBJ_PK PRIMARY KEY
ID
ENABLE
LOGGING
TABLESPACE HORUS_OWNER_DATA
PCTFREE 10
INITRANS 1
STORAGE
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
) NOCOMPRESS
XMLTYPE PETRI_XML STORE AS CLOB
XMLTYPE AOM_XML STORE AS CLOB
XMLTYPE SHM_XML STORE AS CLOB
XMLTYPE ORG_XML STORE AS CLOB
XMLTYPE ROLE_XML STORE AS CLOB
XMLTYPE MIT_XML STORE AS CLOB
XMLTYPE RUL_XML STORE AS CLOB
LOB (TXT_DATA) STORE AS SYS_LOB0000024538C00021$$
ENABLE STORAGE IN ROW
CHUNK 8192
RETENTION
NOCACHE
LOGGING
XMLTYPE SIM_XML STORE AS CLOB
XMLTYPE GLOSSARY_XML STORE AS CLOBALTER TABLE HORUS_OWNER.HORUS_OBJECTS
ADD CONSTRAINT OBJ_UK UNIQUE
WRK_ID
, NAME
, TRE_ID
ENABLEALTER TABLE HORUS_OWNER.HORUS_OBJECTS
ADD CONSTRAINT OBJ_TRE_FK FOREIGN KEY
TRE_ID
REFERENCES HORUS_OWNER.HORUS_TREE_NODES
ID
ENABLEALTER TABLE HORUS_OWNER.HORUS_OBJECTS
ADD CONSTRAINT AVCON_1243352806_MOD_T_000 CHECK
(MOD_TYPE
IN ('EMP', 'ROL', 'ENT', 'OCH', 'XML', 'SHM', 'OSM', 'BUM', 'BOM',
'BEH', 'KPI', 'RIS', 'SER', 'STR', 'SWO', 'AOM', 'CON', 'GOA', 'BUR'
, 'BPA', 'RES', 'SIM', 'GLO','TEM', 'SAR'))
ENABLECREATE UNIQUE INDEX HORUS_OWNER.OBJ_PK ON HORUS_OWNER.HORUS_OBJECTS (ID ASC)
LOGGING
TABLESPACE HORUS_OWNER_IDX
PCTFREE 10
INITRANS 2
STORAGE
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
NOPARALLEL
CREATE INDEX HORUS_OWNER.OBJ_TRE_FK_I ON HORUS_OWNER.HORUS_OBJECTS (TRE_ID ASC)
LOGGING
TABLESPACE HORUS_OWNER_IDX
PCTFREE 10
INITRANS 2
STORAGE
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
NOPARALLEL
CREATE UNIQUE INDEX HORUS_OWNER.OBJ_UK ON HORUS_OWNER.HORUS_OBJECTS (WRK_ID ASC, NAME ASC, TRE_ID ASC)
LOGGING
TABLESPACE HORUS_OWNER_IDX
PCTFREE 10
INITRANS 2
STORAGE
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
NOPARALLEL
CREATE INDEX HORUS_OWNER.OBJ_WRK_FK_I ON HORUS_OWNER.HORUS_OBJECTS (WRK_ID ASC)
LOGGING
TABLESPACE HORUS_OWNER_IDX
PCTFREE 10
INITRANS 2
STORAGE
INITIAL 65536
NEXT 1048576
MINEXTENTS 1
MAXEXTENTS UNLIMITED
BUFFER_POOL DEFAULT
NOPARALLELNot sure if this helps, but I was trying to come up with some test cases myself and I noticed some strange behavior. 4 simple test cases:
SELECT XMLTYPE('<OUTER><INNER>TEST</INNER></OUTER>') FROM DUAL;
SELECT XMLELEMENT("OUTER", XMLELEMENT("INNER", 'TEST')) FROM DUAL;
SELECT XMLELEMENT("OUTER", XMLAGG(XMLFOREST('TEST' "INNER"))) FROM DUAL;
SELECT XMLQUERY('/OUTER' PASSING XMLTYPE('<OUTER><INNER>TEST</INNER></OUTER>') RETURNING CONTENT) FROM DUAL;
1 and 2 return the xml string in the result grid column. 3 and 4 return (XMLTYPE) with no data in the pop-up editor when double clicking the result. I changed #3 to:
SELECT XMLELEMENT("OUTER", XMLFOREST('TEST' "INNER")) FROM DUAL;
and it returns the XML string.
I used undo to revert back to my original #3 and it started showing the XML string instead of (XMLTYPE) previously observed.
I changed my connection to another schema, ran #3 again, and it went back to (XMLTYPE). I tried to recreate the same behavior using the 2nd schema, but I was unable to get to show the XML string.
In any test case where I was getting the (XMLTYPE), I was not able to see data in the pop-up editor.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for HPUX: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production -
Help on how to query 11g table with XMLType column
To all,
We have this table:
DESC MESSAGE
Name Null Type
MESSAGE_ID NOT NULL NUMBER(38)
REQUEST_UU_ID NOT NULL VARCHAR2(50)
MESSAGE_TYPE_CD NOT NULL CHAR(3 CHAR)
EMPLOYEE_NUM NOT NULL VARCHAR2(8)
SEQUENCE_NUM VARCHAR2(20)
REVERSAL_SEQUENCE_NUM VARCHAR2(20)
TRANSACTION_TS TIMESTAMP(6)
MESSAGE_CONTENT_TXT NOT NULL XMLTYPE()
CREATE_BY_NM NOT NULL VARCHAR2(50 CHAR)
CREATE_BY_TS NOT NULL TIMESTAMP(6)
LAST_UPDATE_BY_NM NOT NULL VARCHAR2(50 CHAR)
LAST_UPDATE_BY_TS NOT NULL TIMESTAMP(6)
Given we have multiple columns and one is XMLType how do I query to find rows in the db that match this XPath
Here is a fragment of XML that is held in MESSAGE_CONTENT_TXT XMLType column:
<?xml version="1.0" encoding="UTF-8"?>
<cfg-env:Envelope xmlns="http://www.co.com/schemas/CFX/" xmlns:cfg-env="http://www.co.com/schemas/cfg-env/" xmlns:cfg-hdr="http://www.co.com/schemas/cfg-hdr/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.co.com/schemas/cfg-env/" >
<cfg-env:Header>
<cfg-hdr:MessageHeader xmlns:cfg-hdr="http://www.co.com/schemas/cfg-hdr/" xmlns:cfg-env="http://www.co.com/schemas/cfg-env/" xmlns="http://www.co.com/schemas/CFX/">
<cfg-hdr:Service>
<cfg-hdr:ServiceName>process</cfg-hdr:ServiceName>
<cfg-hdr:MessageType>Request</cfg-hdr:MessageType>
<cfg-hdr:ServiceVersion>1</cfg-hdr:ServiceVersion>
</cfg-hdr:Service>
<cfg-hdr:From>
<cfg-hdr:PartyId>13-175-8724</cfg-hdr:PartyId>
<cfg-hdr:CostCenter>2009065</cfg-hdr:CostCenter>
<cfg-hdr:System>
<cfg-hdr:Application>[email protected]</cfg-hdr:Application>
<cfg-hdr:Version>1.0</cfg-hdr:Version>
<cfg-hdr:Channel>TLR</cfg-hdr:Channel>
</cfg-hdr:System>
<cfg-hdr:OrigReplyToQMgr>QMBKRD01</cfg-hdr:OrigReplyToQMgr>
<cfg-hdr:OrigReplyToQ>Q1</cfg-hdr:OrigReplyToQ>
</cfg-hdr:From>
<cfg-hdr:UserSession>
<cfg-hdr:SignonRole>User</cfg-hdr:SignonRole>
<cfg-hdr:LogonId>R099999</cfg-hdr:LogonId>
I'm trying to find rows in the database that are /Envelope/Header/MessageHeader/UserSession/LogonId/R099999.
Thanks for the assistance. I'm new to XML DB. I appreciate the help.
EricHi Eric,
You can use XMLExists, like this :
select *
from message t
where xmlexists(
'declare namespace env = "http://www.co.com/schemas/cfg-env/"; (: :)
declare namespace hdr = "http://www.co.com/schemas/cfg-hdr/"; (: :)
/env:Envelope/env:Header/hdr:MessageHeader/hdr:UserSession[hdr:LogonId=$id]'
passing t.message_content_txt
, 'R099999' as "id"
); -
Error in MSACCESS linking a table with XMLTYPE
hi all,
I've linked a table from Oracle 9i to MSACCESS 2000 in windows 2000; this table has an XMLTYPE field, which is maped like OLE Object in Access;
when I try to edit the table (not the xmltype field, any field...) I get an error:
MSACCESS has generated errors and will be shutdown by windows. You must restart the program.
An error register will be created
anybody knows?
thanxNothing. Forms does not support this datatype.
Frank -
How can we move table with long col to new tablespace(LMT) from DMT?
Well, converting LONGs to LOBs is always "painful" :-)
But it is doable, however, the solution depends upon the version of the database.
There are several metalink notes coverting this matter:
Note 137160.1 Oracle 9i PLSQL LONG-TO-LOB API For Easier LONG to LOB Migration
Note 282464.1 How to convert LONG to a CLOB
However here is one that I used recently and it needs one 10g instance as a staging site. (I don't know if this approach has been documented on Metalink. It worked for me, it might work for you as well, but you should test it first).
My production database was 8i and it contained a table with LONG column. The requirement was to convert this column to CLOB.
I exported the table and imported it in 10g database.
Once in 10g I used ALTER TABLE tablename MODIFY longcolumn CLOB; which worked perfectly fine.
Finally I exported the table with CLOB column from the 10g database and imported it back in 8i database.
example:
SQL> create table t
2 (c1 long);
Table created.
SQL> insert into t values ('foo');
1 row created.
SQL> desc t
Name Null? Type
C1 LONG
SQL> alter table t
2 modify c1 clob;
Table altered.
SQL> desc t
Name Null? Type
C1 CLOB
SQL> select c1 from t;
C1
foo
SQL>Cheers,
Mihajlo
Maybe you are looking for
-
When I click on the safari button a blank screen comes up for about one second, then minimizes. I have checked wi-fi connection, and all is fine. Facebook and maps apps still work.
-
How can I connect 2 projector in a imac
I have a imac whit one projector conect al ready I need conect another one I have the adaptor for mac conect already in the conputer but 1 screm is already done the other is blue screm what can I do to have the imagen?
-
How to completely flatten pdf as if it was a paper scan?
Can someone tell me how I can completely flatten a pdf, just as if I had scanned a paper? So there will not be any data attached to the file? I kwow how to flatten a pdf and to remove as many data as possible (optimize in the document and advanced me
-
how to configure JAXB to add equal and hashCode methods to the generated classes ?
-
Problem with Matrix columns of type Quantity
Hi all! I need to show in a matrix column a quantity with the number of decimal set in SBO. My code is: Dim dt As SAPbouiCOM.DataTable = oFrm.DataSources.DataTables.Add("PCKG") dt.Columns.Add("clQta", SAPbouiCOM.BoFieldsType.ft_Float,