XML Storage choice

I currently have a system that handles 10 million xml a day. The xml size is from 1K-50M, but most of the xml are only 2k in size. The xml are stored in 30 different xml schemas, with the largest xml per schema is about 4 million xml. I currently shred the xml myself and store them in relational tables and starting to look into using xmldb.
Each schema has its own unique attributes/problems. So my first question about choosing a storage type is does it make sense to make a choice on how to store the xml based off of the schema itself?
If a different storage option is picked based on the schema will the applications have to know how each is stored to insert or query the data?
One schema takes about 200 50 meg xml files and just does inserts and is queried on.
One schema takes about 4 million 2k xml files performs some deletes and is queried on.
One schema takes about 100 1k xml files and performs about 700 updates a day and is queried on.
I would also like to be able to query accross the schemas and does that play an impact in what storage option I select?
Does partitioning have any impact of what type of storage?
We currently add elements and complex types to the schemas as time goes on how much of an impact will this have on making a storage choice?

Yes most of our documents are small and there are repeatable tags. I can't show you any of the schemas, but the schemas are mostly for metadata. An example would be a schema for metadata for a book store. Each xml would represent a book. As for the types of queries, We allow ad hoc queries so pretty much anything you would ever want to search on a book you could and return any of the information in the metadata. We currently use 10.1 of the database, but upgrading to 10.2 seems manageable. Since I am just doing research into ways of making our product more maintainable by using more cots 11g would not be out of the question, but we would never be able to use the beta version on our operational systems.

Similar Messages

  • Clob vs. Blob XML Storage

    Hi, we're currently using Oracle 8i to store XMl and are wondering which to use for large XML pieces CLOB or BLOB. Although I saw an earlier post differentiating CLOBS from BLOBS. Which is better for XML storage. I noted that Oracle always seems to favor Blob fields. Does Clob flatten character formatting such as umlauts, etc.? Any help would be greatly appreciated.
    - A. N.

    I have been using a CLOB column for some time now and have found no differences. The Indexing that Intermedia Text offers is super fast as well.
    <BLOCKQUOTE><font size="1" face="Verdana, Arial">quote:</font><HR>Originally posted by anicho01():
    Hi, we're currently using Oracle 8i to store XMl and are wondering which to use for large XML pieces CLOB or BLOB. Although I saw an earlier post differentiating CLOBS from BLOBS. Which is better for XML storage. I noted that Oracle always seems to favor Blob fields. Does Clob flatten character formatting such as umlauts, etc.? Any help would be greatly appreciated.
    - A. N.<HR></BLOCKQUOTE>
    null

  • UIX XML BC4J Choice

    Adam, In a previous thread In cactus, it has problem to generate report you mentioned that in order to implement a Choice within UIX/XML/BC4J one would have to write some code to do it. Specifically,
    1. Implement the oracle.cabo.ui.data.DataObjectList interface to wrap up the results of a BC4J query ...
    2. Write a MethodDataProvider ....
    3. Access the Method and display the Choices.
    Can you JDEV guys post a WORKING example of how to do it?
    An "EDIT.UIX" page where the USER makes a selection from the drop-down-list (Choice) and then updates the record with that selection would be nice.
    Bill G...

    Beautiful!
    I'll will look at implementing this over the weekend. I made a decision to temporarily go with UIX-JSP since I did not know how to implement a "UIX XML BC4J Choice".
    Now that you've delivered it I should be able to convert some of my UIX-JSP apps to UIX/XML.
    Thank You Good Buddy! (Think truck driver accent)
    Bill G...

  • Failover Cluster Hyper-V Storage Choice

    I am trying to deploy a 2 nodes Hyper-V Failover cluster in a closed environment.  My current setup is 2 servers as hypervisors and 1 server as AD DC + Storage server.  All 3 are running Windows Server 2012 R2.
    Since everything is running on Ethernet, my choice of storage is between iSCSI and SMB3.0 ?
    I am more inclined to use SMB3.0 and I did find some instructions online about setting up a Hyper-V cluster connecting to a SMB3.0 File server cluster.  However, I only have budget for 1 storage Server.  Is it a good idea to choice SMB over iSCSI
    in this scenario?  ( where there is only 1 storage for the Hyper-V Cluster ). 
    What do I need to pay attention to in this setup?  Except some unavoidable single points of failures. 
    In the SMB3.0 File server cluster scenario that I mentioned above, they had to use SAS drives for the file server cluster (CSV).  I am guessing in my scenario, SATA drives should be fine, right?

    "I suspect that Starwind solution achieves FT by running shadow copies of VMs on the partner Hypervisor"
    No, it does not run shadow VMs on the partner hypervisor.  Starwind is a product in a family known as 'software defined storage'.  There are a number of solutions on the market.  They all provide a similar service in that they allow for the
    use of local storage, also known as Direct Attached Storage (DAS), instead of external, shared storage for clustering.  Each of these products provides some method to mirror or 'RAID' the storage among the nodes in the software defined storage. 
    So, yes, there is some overhead to ensure data redundancy, but none of this class of product will 'shadow' VMs on another node.  Products like Starwind, Datacore, and others are nice entry points to HA without the expense of purchasing an external storage
    shelf/array of some sort because DAS is used instead.
    1) "Software Defined Storage" is a VERY wide term. Many companies use it for solutions that DO require actual hardware to run on. Say Nexenta claims they do SDS and they need a separate physical servers running Solaris and their (Nexenta) storage app. Microsoft
    we all love so much because they give us infrastructure we use to make our living also has Clustered Storage Spaces MSFT tells is a "Software Defined Storage" but they need physical SAS JBODs, SAS controllers and fabric to operate. These are hybrid software-hardware
    solutions. More pure ones don't need any hardware but they still share actual server hardware with hypervisor (HP VSA, VMware Virtual SAN, oh, BTW, it does require flash to operate so it's again not pure software thing). 
    2) Yes there are number of solutions but devil is in details. Technically all virtualization world is sliding away from ancient way of VM-running storage virtualization stacks to ones being part of a hypervisor (VMware Virtual Storage Appliance replaced
    with VMware Virtual SAN is an excellent example). So talking about Hyper-V there are not so many companies who have implemented VM-less solutions. Except the ones you've named it's also SteelEye and that's all probably (Double-Take cannot replicate running
    VMs effectively so cannot be counted). Running storage virtualization stack as part of a Hyper-V has many benefits compared to VM-running stuff:
    - Performance. Obviously kernel-space running DMA engines (StarWind) and polling driver model (DataCore) are faster in terms of latency and IOPS compared to VM-running I/O all routed over VMBus and emulated storage and network hardware.
    - Simplicity. With native apps it's click and install. With VMs it's UNIX management burden (BTW, who will update forked-out Solaris VSA is running on top of? Sun? Out of business. Oracle? You did not get your ZFS VSA from Oracle. Who?) and always "hen and
    chicken" issue. Cluster starts, it needs access to shared storage to spawn a VMs but VMs are inside a VM VSA that need to be spawned. So first you start storage VMs, then make them sync (few terabytes, maybe couple of hours to check access bitmaps for volumes)
    and only after that you can start your other production VMs. Very nice!
    - Scenario limitations. You want to implement a SCV for Scale-Out File Servers? You canont use HP VSA or StorMagic because SoFS and Hyper-V roles cannot mix on the same hardware. To surf SMB 3.0 tide you need native apps or physical hardware behind. 
    That's why current virtualization leader VMware had clearly pointed where these types of things need to run - side-by-side with hypervisor kernel.
    3) DAS is not only cheaper but also faster then SAN and NAS (obviously). So sure there's no "one size fits all" but unless somebody needs a a) very high LUN density (Oracle or huge SQL database or maybe SAP) and b) very strict SLAs (friendly telecom company
    we provide Tier2 infrastructure for runs cell phone stats on EMC, $1M for a few terabytes. Reason? EMC people have FOUR units like that marked as a "spare" and have requirement to replace failed one in less then 15 minutes) there's no point to deploy hardware
    SAN / NAS for shared storage. SAN / NAS is an sustained innovation and Virtual SAN is disruptive. Disruptive comes to replace sustained for 80-90% of business cases to allow sustained live in a niche deployments. Clayton Christiansen\s "Innovator's Dilemma".
    Classic. More here:
    Disruptive Innovation
    http://en.wikipedia.org/wiki/Disruptive_innovation
    So I would not consider Software Defined Storage as a poor-mans HA or usable to Test & Development only. Thing is ready for prime time long time ago. Talk to hardware SAN VARs if you have connections: How many stand-alone units did they sell to SMBs
    & ROBO deployments last year?
    StarWind VSAN [Virtual SAN] clusters Hyper-V without SAS, Fibre Channel, SMB 3.0 or iSCSI, uses Ethernet to mirror internally mounted SATA disks between hosts.

  • Seeking advice on Best Practices for XML Storage Options - XMLTYPE

    Sparc64
    11.2.0.2
    During OOW12 I tried to attend every xml session I could. There was one where a Mr. Drake was explaining something about not using clob
    as an attribute to storing the xml and that "it will break your application."
    We're moving forward with storing the industry standard invoice in an xmltype column, but Im not concerned that our table definition is not what was advised:
    --i've dummied this down to protect company assets
      CREATE TABLE "INVOICE_DOC"
       (     "INVOICE_ID" NUMBER NOT NULL ENABLE,
         "DOC" "SYS"."XMLTYPE"  NOT NULL ENABLE,
         "VERSION" VARCHAR2(256) NOT NULL ENABLE,
         "STATUS" VARCHAR2(256),
         "STATE" VARCHAR2(256),
         "USER_ID" VARCHAR2(256),
         "APP_ID" VARCHAR2(256),
         "INSERT_TS" TIMESTAMP (6) WITH LOCAL TIME ZONE,
         "UPDATE_TS" TIMESTAMP (6) WITH LOCAL TIME ZONE,
          CONSTRAINT "FK_####_DOC_INV_ID" FOREIGN KEY ("INVOICE_ID")
                 REFERENCES "INVOICE_LO" ("INVOICE_ID") ENABLE
       ) SEGMENT CREATION IMMEDIATE
    INITRANS 20  
    TABLESPACE "####_####_DATA"
           XMLTYPE COLUMN "DOC" STORE AS BASICFILE CLOB  (
      TABLESPACE "####_####_DATA"  XMLTYPE COLUMN "DOC" STORE AS BASICFILE CLOB  (
      TABLESPACE "####_####_DATA" ENABLE STORAGE IN ROW CHUNK 16384 RETENTION
      NOCACHE LOGGING
      STORAGE(INITIAL 81920 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
      PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT))
    XMLSCHEMA "http://mycompanynamehere.com/xdb/Invoice###.xsd" ELEMENT "Invoice" ID #####"
    {code}
    What is a best practice for this type of table?  Yes, we intend on registering the schema against an xsd.
    Any help/advice would be appreciated.
    -abe                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    Hi,
    I suggest you read this paper : Oracle XML DB : Choosing the Best XMLType Storage Option for Your Use Case
    It is available on the XML DB home page along with other documents you may be interested in.
    To sum up, the storage method you need depends on the requirement, i.e. how XML data is accessed.
    There was one where a Mr. Drake was explaining something about not using clob as an attribute to storing the xml and that "it will break your application."I think the message Mark Drake wanted to convey is that CLOB storage is now deprecated and shouldn't be used anymore (though still supported for backward compatibility).
    The default XMLType storage starting with version 11.2.0.2 is now Binary XML, a posted-parsed binary format that optimizes both storage size and data access (via XQuery), so you should at least use it instead of the BASICFILE CLOB.
    Schema-based Binary XML is also available, it adds another layer of "awareness" for Oracle to manage instance documents.
    To use this feature, the XML schema must be registered with "options => dbms_xmlschema.REGISTER_BINARYXML".
    The other common approach for schema-based XML is Object-Relational storage.
    BTW... you may want to post here next time, in the dedicated forum : {forum:id=34}
    Mark Drake is one of the regular user, along with Marco Gralike you've probably seen too at OOW.
    Edited by: odie_63 on 18 oct. 2012 21:55

  • Cannot parse persistent.xml storage.xml... null pointer exception

    hi,
    i have an EAR with a WAR and an EJB jar. i only have session beans. no entity beans. my EJB jar does not have a persistent.xml or storage.xml. i build my EAR using ant and deploy using visual administrator (thanks to Vladimir Pavlov). i get this huge stack that says
    "com.sap.engine.deploy.exceptions.BaseIOException: Cannot parse persistent.xml or storage.xml for JAR F:\usr\sap\J2E\JC00\j2ee\admin\.\temp\deploying\deploy_temp\reader1115328611113\tap-ejb.jar.
    Reason: java.lang.NullPointerException."
    i get this only when i have <security-permission> in the ejb-j2ee-engine.xml. does this tag need one of these files. the application deploys just fine if i dont have the <security-permission>. i need to map the users to the roles in the application for EJBs.
    can someone please tell me what is happening here.
    thanks
    - RD

    It is not only with Deploy tool and visual admin tool. i tried the console too. gave me an error saying "cannot parse ejb-j2ee-engine.xml". it did not mention the persistent.xml or storage.xml though.
    i checked the validity of the xml with the dtd using altova xml spy. it passed.
    can you please tell me how I report an OSS message?
    thanks
    - RD

  • Xml storage

    we can storage xml into oracle correctly if we had alreadly created the tables in it,but if we have not,how can we do it.Can the tables be automaticly created,if the xml have more than one lever.
    if anyone know something about that ,please tell me.

    In case you may choose DBMS for your project, i'd prefer another stategy and attact your attention to co-called ""post-relational"
    DBMS. In comparison to Oracle, which XML support and services are built around old relational core (forex XMLtype in reality is nothing more than usial CLOB type), post-relational databases offer direct storage and work with XML.
    See more information at http://www.intersystems.com

  • XML Storage and shredding

    Hello.
    I've been doing a POC wrt storing and extracting data from an XML document in Oracle. I've found that this is fairly simple using the following method:
    1. INSERT into <tab with XMLTYPE column> VALUES XMLTYPE(BFILENAME etc.)
    2. Use XMLTABLE to shred the XML, leaving the data for me to insert into a table.
    I was set on using this approach, until I found that processing really large XML files (> 100000 records) causes ORA-31186: Document contains too many nodes.
    Seeking alternatives, I then found this, courtesy of Sean Dillon, on the AskTom website:
    "Lastly, you can store the XMLType column in an object-relational storage
    architecture. This means that when you load the XML document, Oracle automatically
    shreds the document into objects and relational rows for you, behind the scenes."
    http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:18017595372392
    I'm particularly interested in the last sentence of the paragraph above. Can anyone show me an example of how this might work (i.e. inserting an XML doc automatically shreds it into relational data)?
    I'm guessing this involve schema registration? Is there a node limit with this approach?
    Thanks,
    Ray

    Cool creative use of Text File Splitter ;-)
    I know it is 11g related, but if you take "binary xml" out of the equation than you have the concepts you can apply on your 10.2.0.4 environment.
    There was a reason II / we pointed you to OBJECT RELATIONAL storage. Performance.
    The first question you ask is performance related...
    If you describe your storage objects via a DBMS_METADATA.GET_DDL('TABLE','RAY_TEST_11') or DBMS_METADATA.GET_DDL('TABLE','RAY_TEST_EXTRACT11'), what do you get?
    Would you think it is CLOB, XMLType CLOB or XMLType OR based?
    If you reread http://www.liberidu.com/blog/?p=203 and then look at the use cases http://www.liberidu.com/blog/images/xml-use-cases-and-xmltype-storage-models.JPG (This is an image taken from the XMLDB Developers Guide 11g chapter 1 or 2, that deal with design questions like "What storage model should I pick to get a decent performance.....), how do you think that relates to what you want...?
    What is big...?
    A XML Document off 1.5 Mb can be huge in XML, especially if the structure is very complex and/or nested.
    By "rows" you mean XML documents, records in a "relational world" of sense.
    That analogy is not correct.
    An XML document (= ONE document) is like an oracle schema that contains a peoplesoft/sap environment with thousands of tables and all the tables contain only 1 record. Some of them are relinked to themselves in the same table containing mulitple records. All records, although stored into different tables, are related to each other. A cascade delete would wipe out all data in all those thousands of tables...
    That is the XML world we are talking about.
    What is big? In XML this can mean a file of 1.5 Mb of size................................
    Message was edited by:
    Marco Gralike

  • What is the best type of xml storage for max performance in 9i r2

    We have many schema based xml's of 1MB in xdb (9.2.0.5)
    and our database is getting slower by every new xml
    delete_resource (300 sec) and create_resource (300 sec ) take a long time
    and if I ftp a schema based xml out the xdb takes a long time ( 200 sec )
    Our system works like this , the xml comes in (ftp) ,the xdb validates the xml and then the xml is archived and the
    last step, the xml data is extracted and put in normal tables
    no xml updates or xml constraints
    I have now defined in the schema, one main table and I use oracle types for complextypes and xdb:defaulttable =""
    in 10g I don't have problems, but our production system
    are 9.2.0.5 and it takes a lot work and downtime to change that
    This goes well in 9i by files smaller then 500k
    what is the best schema configuration for max performance ( create / delete resource and ftp out )
    thanx edwin

    I changed
    maxOccurs="unbounded" xdb:SQLName="TRANSACTIONRANGE" xdb:SQLCollType="TPF_MASTER_D_T_RANGE_COLL_01"
    into
    maxOccurs="unbounded" xdb:SQLName="TRANSACTIONRANGE" xdb:SQLInline="false" xdb:defaultTable="TPF_MASTER_D_T_RANGE_TAB"
    this gives me very good performance
    the total run is now 6 times faster
    and to ftp xml out of the xdb takes now 2 seconds

  • XML storage and retrieval in/out of 8i

    Please take into consideration my lack of exerience in XML and
    Oracle8i when you read this question....
    Our project is considering using Oracle8i to store, query &
    retrieve XML documents. Having read several Oracle web sites on
    XML, I'm left with the impression that the Oracle iFS is at the
    conerstone of Oracle's XML implementation. The idea of a
    drag-n-drop approach to place XML data files into the database is
    interesting, but I suspect our project needs a more "programatic"
    (i.e. background/automatic) approach to conveniently storing and
    retrieving XML data. I've read only "hints" that O8i will support
    this. My question: where can I find out more about what Oracle8i
    has to offer the developer in this area?
    Thanks
    Syd
    null

    Hi Meghana,
    concerning KM (I am assuming 6.0, SP2)in general, connection of repositories, classification of content, creation of your own properties, etc. I can only point you to the documentation for:
    a) Administrators
    http://help.sap.com/saphelp_ep60sp2/helpdata/en/38/76bd3b6e74d708e10000000a11402f/frameset.htm
    b) End Users
    http://help.sap.com/saphelp_ep60sp2/helpdata/en/4a/725b3bad64474ee10000000a114084/frameset.htm
    Concerning APIs, if the standard configuration options of KM (described in Admin Guide) and of the SAP Enterprise Portal are not enough, please check:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sapportals.km.docs/documents/a1-8-4/sap netweaver developers guide.booklet
    Regards,
    Karsten

  • Oracle 8i - XML Storage

    Hi
    For my project, I am thinking of saving XML files in the CLOBS
    columns in the database. I was wondering if there is any limit
    for using the number of CLOBS in the database. Also, I am not
    sure of the maximum capacity a CLOB can store. I need help on
    both the above concerns.
    Also, I want to know some method to about developing the
    system. Is there a tool available for storing XML docs in CLOB
    cloumn? If not, How should I go about developing one?
    What will be the best way to extract contents and show them on-
    line in HTML format?
    I would appreciate any kind of help from someone developing
    similar application. A small example would be great.
    Hoping to get some quick help...
    Premal.
    null

    I am not sure to which features you refer? If you are asking
    about the CONTAINS operator that works in 8i now. The document
    registration to a schema will be delivered in the iFS beta.
    Oracle XML Team
    http://technet.oracle.com
    Oracle Technology Network
    Samuil Angelov (guest) wrote:
    : As I have the same kind of a problem and need an urgent
    solution
    : of it I need information whether these features will be
    : implemented in the beta version of iFS that is to be released.
    : Regards
    : Samuil
    : Oracle XML Team wrote:
    : : Currently you can store your documents in CLOBs and use
    : : intermedia Text to search for data between tags with its
    : CONTAINS
    : : operator. When we release iFS you will be able to break
    apart
    : : that document and insert its data into tables based upon a
    DTD
    : to
    : : Schema registration file and do additional SQL queries as
    well.
    : : Check out
    : http://www.oracle.com/database/options/intermedia.html
    : : and http://www.oracle.com/database/options/ifs.html for more
    : : details.
    : : Oracle XML Team
    : : Oracle Technology Network
    : : Premal Mehta (guest) wrote:
    : : : Hi
    : : : I would like to know the support offered by Oracle 8i
    for
    : : : storing XML documents in database and querying on them.
    : : : What component of 8i offers this support and in what way
    is
    : : it
    : : : different from support offered by PLSXML ?
    : : : I am looking to store XML documents in Oracle 8i database
    : and
    : : : querying on them. Also I want to extract data from database
    : and
    : : : dynamically generate HTML paged for on-line viewing.
    : : : This information is very crucial to me. Help of any kind
    is
    : : : welcome on the same.
    : : : Hoping for some quick replies,
    : : : Premal Mehta.
    : : http://technet.oracle.com
    null

  • Unstructured Xml Storage with Namespaces - Problem in DML Queries

    Hai All,
    I worked with xml namespace with registering schema in db and referred in my xml document.It worked fine.
    But i want to work in unstructured xml document with namespaces, to do all dml queries like, select,update,delete using Xpath to xmltype.
    I could insert the records,When i try to select some element from xmltype field using Xptah from db,it does not bring any thing like element value or any error.It just displaying as empty value.I am using oracle 10g R2.
    Please help me how to select the element value from xmltype using XPath or whatever it is.
    Please help me out from this to follow
    Advance Thanks,
    P.Savananan

    SQL> create user marco identified by marco account unlock;
    User created.
    SQL> grant dba, xdbadmin to marco;
    Grant succeeded.
    SQL> conn marco/[email protected]
    Connected.
    SQL> create table xml_tab ( details xmltype);
    Table created.
    SQL> insert into xml_tab values(XMLTYPE('<?xml version="1.0" ?>
      2  <customers xmlns="http://localhost/openuri.org" >
      3  <customer>
      4  <order xmlns="http://orcl.com" >
      5  <ordername>Computer</ordername>
      6  <cost>35785638</cost>
      7  </order>
      8  </customer>
      9  </customers>'));
    1 row created.
    SQL> commit;
    Commit complete.
    SQL> select extractValue(details,'/customers/customer/order/ordername') from xml_tab;
    EXTRACTVALUE(DETAILS,'/CUSTOMERS/CUSTOMER/ORDER/ORDERNAME')
    SQL> set long 10000
    SQL> select * from xml_tab;
    DETAILS
    <?xml version="1.0"?>
    <customers xmlns="http://localhost/openuri.org">
      <customer>
        <order xmlns="http://orcl.com">
          <ordername>Computer</ordername>
          <cost>35785638</cost>
        </order>
      </customer>
    </customers>
    SQL> select extract(details,'//order/ordername') XDATA
      2  from   xml_tab
      3  ;
    XDATA
    SQL> select extract(details,'//order/ordername','xmlns="http://orcl.com"') XDATA
      2  from   xml_tab
      3  ;
    XDATA
    <ordername xmlns="http://orcl.com">Computer</ordername>
    SQL> select extractValue(details,'//order/ordername','xmlns="http://orcl.com"') XDATA
      2  from   xml_tab
      3  ;
    XDATA
    Computer
    SQL> select extractValue(details,'/*/*/order/ordername','xmlns="http://orcl.com"') XDATA
      2  from   xml_tab
      3  ;
    XDATA
    Computer

  • XML binary storage format impairs schema validation?

    I'm using Oracle 11g R1 on Windows Server 2003. I successfully registered schemas and created tables and indexes in the new binary storage format. However, when trying to load data, I'm running into problems. Schema validation behaves as if not the full feature set of XML Schema mysteriously isn't supported anymore.
    There is probably more but at least wildcard elements (xs:any) and element references (xs:element ref="STH") are simply ignored in the schema definition and data is rejected even when it conforms to the schema.
    Is there any solution for this or am I out of luck? I wanted to go back to CLOB storage as used in a previous installation but I'm running into problems when registering the schema. It complains about an empty SQL name although I don't have any defined. I'm pretty weirded out by all this.
    I created the schema and table in a straightforward way:
    begin
      dbms_xmlschema.registeruri(
        schemaurl => 'http://www.xxxhello.com/archive_tsd.xsd',
        schemadocuri => '/public/user/archive_tsd.xsd',
        gentypes => FALSE,
        options => DBMS_XMLSCHEMA.REGISTER_BINARYXML
    end;
    CREATE TABLE archive OF xmltype XMLTYPE STORE AS binary xml XMLSCHEMA
    "http://www.xxxhello.com/archive_tsd.xsd" ELEMENT "CompleteDocument";
    create index idx_lastmodified_archive on archive t
    (extractvalue(VALUE(t),'/CompleteDocument/DocContent/LastModified'));Because of xs:any or element references is ignored, I get errors like
    LSX-00213: only 0 occurrences of particle "REFDELEM", minimum is 1.
    Thanks for your help.

    The schema is very large (>200kb). Where should I upload it or can I send it to you? I'm bit concerned about confidentiality of company data. However, the instance is not valid yet. I'm in the process of modifying the schema to match all instances, but it breaks on places that should be already okay. No, I didn't use SchemaValidate ever.
    But I've made an example where at least xs:any doesn't work. Element references work, though.
    Sample schema:
    <?xml version = "1.0" encoding = "UTF-8"?>
    <xs:schema
      xmlns:tsd = "http://namespaces.softwareag.com/tamino/TaminoSchemaDefinition"
      xmlns:xs = "http://www.w3.org/2001/XMLSchema">
      <xs:annotation>
        <xs:appinfo>
          <tsd:schemaInfo name = "sbreak">
            <tsd:collection name = "sbreak"></tsd:collection>
            <tsd:doctype name = "CompleteDocument">
              <tsd:logical>
                <tsd:content>open</tsd:content>
                <tsd:systemGeneratedIdentity reuse = "false"></tsd:systemGeneratedIdentity>
              </tsd:logical>
            </tsd:doctype>
            <tsd:adminInfo>
              <tsd:server>4.4.1.1</tsd:server>
              <tsd:modified>2007-07-03T16:00:46.484+02:00</tsd:modified>
              <tsd:created>2007-07-03T15:29:04.968+02:00</tsd:created>
              <tsd:version>TSD4.4</tsd:version>
            </tsd:adminInfo>
          </tsd:schemaInfo>
        </xs:appinfo>
      </xs:annotation>
      <xs:element name = "CompleteDocument">
        <xs:complexType>
          <xs:choice minOccurs = "0" maxOccurs = "unbounded">
            <xs:element name = "ComplexNormal">
              <xs:complexType>
                <xs:choice minOccurs = "0" maxOccurs = "unbounded">
                  <xs:element name = "NormalElem1" type = "xs:string"></xs:element>
                  <xs:element name = "NormalElem2" type = "xs:string"></xs:element>
                </xs:choice>
              </xs:complexType>
            </xs:element>
            <xs:element name = "ComplexAny">
              <xs:complexType>
                <xs:choice minOccurs = "0" maxOccurs = "unbounded">
                  <xs:any minOccurs = "0" maxOccurs = "unbounded"></xs:any>
                </xs:choice>
              </xs:complexType>
            </xs:element>
            <xs:element name = "ComplexRef">
              <xs:complexType>
                <xs:choice minOccurs = "0" maxOccurs = "unbounded">
                  <xs:element ref = "RefdElem"></xs:element>
                </xs:choice>
              </xs:complexType>
            </xs:element>
            <xs:element name = "LastModified" type = "xs:string"></xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
      <xs:element name = "RefdElem">
        <xs:complexType>
          <xs:choice minOccurs = "0" maxOccurs = "unbounded">
            <xs:element name = "Elem1" type = "xs:string"></xs:element>
            <xs:element name = "Elem2" type = "xs:string"></xs:element>
          </xs:choice>
        </xs:complexType>
      </xs:element>
    </xs:schema>Sample instance:
    <?xml version="1.0" encoding="UTF-8" ?>
    <CompleteDocument>
         <ComplexNormal>
              <NormalElem1>Test1</NormalElem1>
              <NormalElem2>Test2</NormalElem2>
         </ComplexNormal>
         <ComplexAny>
              <AnyElem>Test3</AnyElem>
         </ComplexAny>
         <ComplexRef>
              <RefdElem>
                   <Elem1>Test4</Elem1>
                   <Elem2>Test5</Elem2>
              </RefdElem>
         </ComplexRef>
    </CompleteDocument>Log of what I did. First I confirmed, that I could enter the instance using clob storage:
    SQL> begin
      2    dbms_xmlschema.registeruri(
      3      schemaurl => 'http://www.xxxhello.com/sbreak_tsd.xsd',
      4      schemadocuri => '/public/sbreak_tsd.xsd'
      5    );
      6  end;
      7  /
    PL/SQL-Prozedur erfolgreich abgeschlossen.
    SQL> CREATE TABLE sbreak OF xmltype XMLTYPE STORE AS clob XMLSCHEMA
    "http://www.xxxhello.com/sbreak_tsd.xsd" ELEMENT "CompleteDocument";
    Tabelle wurde erstellt.
    SQL> create index idx_lastmodified_sbreak on sbreak t (extractvalue(VALUE(t),
    '/CompleteDocument/LastModified'));
    Index wurde erstellt.
    SQL> insert into sbreak values(xmltype(bfilename('DATA', 'sbreak/sbreakinstance.xml'),
    NLS_CHARSET_ID('AL32UTF8')));
    1 Zeile wurde erstellt.Then I deleted table and schema again:
    SQL> drop index idx_lastmodified_sbreak;
    Index wurde gelöscht.
    SQL> drop table sbreak;
    Tabelle wurde gelöscht.
    SQL> begin
      2    dbms_xmlschema.deleteschema(
      3      schemaurl => 'http://www.xxxhello.com/sbreak_tsd.xsd'
      4     ,delete_option => dbms_xmlschema.delete_cascade_force
      5    );
      6  end;
      7  /
    PL/SQL-Prozedur erfolgreich abgeschlossen.After that I created schema and table with binary XML storage and tried to insert the same instance again:
    SQL> begin
      2    dbms_xmlschema.registeruri(
      3      schemaurl => 'http://www.xxxhello.com/sbreak_tsd.xsd',
      4      schemadocuri => '/public/sbreak_tsd.xsd',
      5      gentypes => FALSE,
      6      options => DBMS_XMLSCHEMA.REGISTER_BINARYXML
      7    );
      8  end;
      9  /
    PL/SQL-Prozedur erfolgreich abgeschlossen.
    SQL> CREATE TABLE sbreak OF xmltype XMLTYPE STORE AS binary xml XMLSCHEMA
    "http://www.xxxhello.com/sbreak_tsd.xsd" ELEMENT "CompleteDocument";
    Tabelle wurde erstellt.
    SQL> create index idx_lastmodified_sbreak on sbreak t (extractvalue(VALUE(t),
    '/CompleteDocument/LastModified'));
    Index wurde erstellt.
    SQL> insert into sbreak values(xmltype(bfilename('DATA', 'sbreak/sbreakinstance.xml'),
    NLS_CHARSET_ID('AL32UTF8')));
    insert into sbreak values(xmltype(bfilename('DATA', 'sbreak/sbreakinstance.xml'),
    NLS_CHARSET_ID('AL32UTF8')))
    FEHLER in Zeile 1:
    ORA-31011: XML-Parsing nicht erfolgreich
    ORA-19202: Fehler bei XML-Verarbeitung
    LSX-00021: undefined element "AnyElem"
    aufgetretenSorry about the non-english text, but I think it can be guessed easily what's going on. Next I'll try a modifed schema without the tsd namespace added by the schema editor I use (the original large schema has been migrated from the Tamino XML database).

  • XML Choices in JCAPS 5.1.x

    Has anyone sucessfully developed OTDs in 5.1.1 or 5.1.2 using the XML schema choices?
    I'd also be interested to hear from anyone who has tried and failed.
    Cheers,
    Pete

    Has anyone sucessfully developed OTDs in 5.1.1 or 5.1.2 using the XML schema choices?
    I'd also be interested to hear from anyone who has tried and failed.
    Cheers,
    Pete

  • Oracle Open World 2012 - XML DB Presentations and Hands-on Labs

    Hereby following up on a small tradition, I think, I get going since 2006...an agenda overview of all things XMLDB you can do or see during this years Oracle Open World.
    Oracle Open World is the biggest IT conference nowadays in the world with 40.000+ thousand attendees and 1600+ sessions or workshops, so an overview regarding specific topics can be handy.
    If there is an update or something needs correction or added, please post it here.
    Regards
    Marco Gralike
    HOL10055 - Oracle XML DB Hands-On Lab
    ========================================================================================================================
    This hands-on lab provides an introduction to using Oracle XML DB and XQuery to store and manage XML content stored in Oracle Database.
    It introduces the different kinds of XML storage and indexing offered by Oracle XML DB and shows how to optimize XQuery operations on XML
    content by selecting the correct storage and indexing model. The lab also provides an introduction to the XML features available in the latest
    version of Oracle Database, including the new XQuery Update standard. And it shows how to take full advantage of the latest XQuery standards,
    such as XQuery Full-Text, to develop applications that combine the power of Full-Text and XML-based indexes
    BOF9908 - Oracle XML DB BOF
    ========================================================================================================================
    This session provides you with an opportunity to get answers to your questions about Oracle XML DB from the development team, product
    management team, acknowledged independent experts, and fellow Oracle XML DB users. The goal is to have an open and frank discussion
    about how to get the best out of all the features of Oracle XML DB. The session gives you a chance to establish personal contact with the
    people who have firsthand experience with developing and delivering systems that make use of Oracle XML DB
    CON8443 - Simple Content Management with Oracle XML DB and Database Native Web Services
    ========================================================================================================================
    This session demonstrates the power of the Oracle XML DB repository. You will learn how to automate the processing of documents stored
    in the Oracle XML DB repository, using repository events, and how to combine XML, PL/SQL, and database native Web services with Ajax and
    JavaScript to create simple, effective applications that leverage the full power of Oracle XML DB and the Oracle XML DB repository. The session
    focuses on a sample application, called XFiles, and shows how it was created with a combination of XML, XSL, JavaScript Ajax, and PL/SQL
    CON8440 - Managing XML Content with the Latest-Generation Oracle XML DB
    ========================================================================================================================
    This session introduces the latest generation of Oracle XML DB technology. XML standards continue to evolve, and Oracle XML DB continues
    to provide the industry’s leading implementation of those standards. The latest version of Oracle XML DB provides support for two new exciting
    XML standards, XQuery-Update and XQuery-Full Text. You will learn how to use XQuery, XQuery-Update, and XQuery Full-Text to develop
    powerful XML-centric applications. The session also demonstrates how to optimize XQuery Full-Text operations with Oracle’s new XML full-text
    index. The presentation also introduces Oracle’s new midtier XQuery engine and the XQJ API, which enables Java developers to access the full
    power of Oracle’s XML technology
    CON3148 - Integrating XML by Using Oracle SQL Developer 3.1 and Oracle Database 11g Release 2
    ========================================================================================================================
    Frequently during a project lifecycle, new technology is introduced that presents first-time challenges. This session describes a project using
    Oracle XML Database (Oracle XML DB) and discusses why Oracle XML DB was chosen, how it was used, and the technical issues encountered.
    The presentation covers several examples using XMLTYPE, CLOBs, Oracle XML DB methods, XMLAGG, XMLELEMENT, XMLFOREST, and
    dbms_xmldom. You will learn about methods, design considerations, and issues with Oracle XML DB. You will also take home working examples
    that you can copy and paste into your Oracle environment. Benefit from examples that use Oracle Database 11g Release 2 and Oracle SQL
    Developer 3.1.
    CON8442 - Design Guidelines and Performance Tuning for Storing XML in Oracle Database
    ========================================================================================================================
    This session examines techniques that can be used to optimize the performance of XML processing in Oracle XML DB. It looks at the different
    storage and indexing options and provides guidelines on when each should be considered. After establishing a framework for deciding how to
    store XML, the presentation considers the options available for indexing XML to ensure optimal performance of an XML-based application.
    The session also discusses how standard techniques such as partitioning and using parallel data manipulation language (PDML) can be used to
    scale XML processing on extremely large volumes of XML content and how Oracle XML DB can leverage the intelligent storage capabilities of
    Oracle Exadata.
    DEMOGROUNDS (Moscone South)
    XML Application Development: Oracle XML DB, Oracle XML Developer Kit
    ========================================================================================================================
    Oracle XML Database provides a high-performance, native XML storage and retrieval technology. It fully absorbs the W3C XML data model into
    the Oracle Database, and provides new standard access methods for navigating and querying XML. With Oracle XML Database, you get all the
    advantages of relational database technology plus the advantages of XML. Come and learn how to develop applications that take advantage
    of Oracle's XML technology and the Oracle XML DB Repository.
    Oracle XML Database: Structured, Semistructured, and Unstructured XML
    ========================================================================================================================
    Oracle XML Database provides a high-performance, native XML storage and retrieval technology. It fully absorbs the W3C XML data model into
    the Oracle Database, and provides new standard access methods for navigating and querying XML. With Oracle XML Database, you get all the
    advantages of relational database technology plus the advantages of XML. Come and learn how to develop applications that take advantage
    of Oracle's XML technology and the Oracle XML DB Repository.Oracle's OOW 2012 Content Catalog: https://oracleus.activeevents.com/connect/search.ww?event=openworld (use "XML DB" or "XMLDB" as search tag)
    Edited by: user10212268 on Aug 13, 2012 5:10 AM

    Other resources are also on linkedin http://www.linkedin.com/groups/Oracle-XMLDB-3282943 to keep you updated.
    M.

Maybe you are looking for