SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
<Insert Picture Here>




An Introduction to Oracle XML DB in Oracle Database 11g Release 2
Mark D Drake
Manager, Product Management
The following is intended to outline our general
   product direction. It is intended for information
purposes only, and may not be incorporated into any
   contract. It is not a commitment to deliver any
 material, code, or functionality, and should not be
    relied upon in making purchasing decisions.
    The development, release, and timing of any
   features or functionality described for Oracle’s
 products remains at the sole discretion of Oracle.




                                                       2
Oracle XML DB
Why XML ?




                4
Why XML ?


• Open, vendor-neutral standards, driven by W3C
  – XML, XMLSchema, XQuery, XSLT, DOM etc
  – Standard well-understood API implantations available for
    most common development environments
• Easily understood, flexible and verifiable data model
  – Simplifies data exchange between loosely connected
    applications
• Equally applicable to data and document centric
  applications
  – Delivers flexibility for data-centric applications
  – Delivers structure for content-centric applications
• Widely adopted for critical industry standards


                                                               5
Sample XML-based Standards


 –   XBRL – Financial and Regulatory reporting
 –   FPML, FixML, Accord : Financial Services
 –   MISMO : Mortgage Origination
 –   ACORD : Insurance
 –   HL7 : Healthcare
 –   ebXML, UBL : E-commerce
 –   GJXML, NIEM: Law Enforcement and Public Safety
 –   RSS: publishing / syndication of content
 –   DICOM, EXIF: for Digital Imaging
 –   OpenGIS, KML: Spatial applications
 –   XFORMS : XML forms



                                                      6
XML Segmentation model




  Data Capture &            Data
  Data Exchange          Persistence

                 <XML/>

     Content              Document
   Management             Authoring

                                       8
Oracle XML DB
Introduction




                9
Oracle’s XML Vision


• Enable a single source of truth for XML
• Provide the best platform for managing all your XML
  – Flexibility to allow optimal processing of data-centric and
    content-centric XML
  – Deliver Oracle’s commitment to Reliability, Security,
    Availability and Scalability
• Drive and implement key XML Standards
• Support SQL-centric, XML-centric and document-
  centric development paradigms
• Support XML in Database and Application Server



                                                                  10
Oracle & XML : Sustained Innovation




                                                      Binary XML
                                                       Storage
                                                       & Indexing
Performance




                                         XQuery




                           XML
                            Storage &
                  XML       Repository
                   API’s

                   1998        2001      2004       2007


                                                                    11
XML DB Summary

• XMLType
  – XML storage and indexing
• XQuery, XML Schema, XSLT
  – XML centric development
• SQL/XML
  – XML publishing
• XMLDB repository
  – XML specific content management
• Standards compliant
  – Strict adherence and conformance




                                       12
Oracle XML DB
XMLType and XQuery




                     13
XMLType


• Standard data type, makes database XML aware
  – Use as Table, Column, Variable, Argument or Return Value
• Abstraction for managing XML
  – Enforces XML content model and XML fidelity
  – Enables XML schema validation
  – Multiple persistence and indexing options
• Query and update operations performed using
  XQuery
• All application logic is independent of persistence
  model



                                                               14
Using XMLType

create table INVOICES of XMLTYPE;




create table PURCHCASEORDERS (
  PO_NUMBER NUMBER(4),
  PO_DETAILS XMLTYPE
)
XMLTYPE column PO_DETAILS
XMLSCHEMA "http://schemas.example.com/PurchaseOrder.xsd"
ELEMENT “PurchaseOrder“
STORE AS OBJECT RELATIONAL;




                                                           15
XQuery


• W3C standard for generating, querying and updating
  XML
  – Natural query language for XML content
  – Evolved from XPath and XSLT
  – Analogous to SQL in the relational world
• Iterative rather than Set-Based
• Basic construct is the FLWOR clause
  – FOR, LET, WHERE, ORDER, RETURN…
• XQuery operations result in a sequence consisting of
  zero or more nodes



                                                         16
XQuery FLWOR example


 for $l in $PO/PurchaseOrder/LineItems/LineItem
    return $l/Part/@Description



 <PurchaseOrder DateCreated=“2011-01-31”>
   …
  <LineItems>
     <LineItem ItemNumber="1">
      <Part Description="Octopus“>31398750123</Part>      Octopus
      <Quantity>3.0</Quantity>                            ….
     </LineItem>
 …..                                                      King Ralph
     <LineItem ItemNumber="5">
      <Part Description="King Ralph">18713810168</Part>
      <Quantity>7.0</Quantity>
     </LineItem>
  </LineItems>
 </PurchaseOrder>




                                                                       17
XQuery fn:collection


for $doc in fn:collection(“oradb:/OE/PURCHASEORDER”)
   return $doc

• Used to access a collection of documents
  – Allows an XQuery to operate on a set of XML documents
• Collection sources include
  – The contents of a folder
  – XMLType tables or columns
  – Relational Tables via a conical mapping scheme
• Protocol “oradb:” causes the components of the path
  should be interpreted as a Schema, Table, Column
  – Column is optional



                                                            18
XQuery : Where and Order by clause

let $USER := “SKING”
for $doc in fn:collection(“oradb:/OE/PURCHASEORDER”)
   where $doc/PurchaseOrder[User = $USER]
   order by $doc/PurchaseOrder/Reference
   return $doc/PurchaseOrder/Reference


• Where clause controls which documents or nodes are
  processed
• Order by clause control ordering of nodes in
  sequence




                                                       19
XQuery : XQuery-Update support

 let $OLDUSER := "EBATES"
  let $NEWUSER := "SKING"
  let $NEWNAME := "Stephen King"
  let $OLDDOCS :=
   for $DOC in fn:collection("oradb:/SCOTT/PURCHASEORDER")
            where $DOC/PurchaseOrder/User = $OLDUSER
            return $DOC
   for $OLDDOC in $OLDDOCS
    return copy $NEWDOC := $OLDDOC modify (
           f or $PO in $NEWDOC/PurchaseOrder return (
             replace value of node $PO/User with $NEWUSER,
             replace value of node $PO/Requestor with $NEWNAME
           )
         )
   return $NEWDOC




                                                                 20
Executing XQuery in SQL*PLUS using XQUERY


SQL> XQUERY
 2 let $USER := "SKING"
 3 for $doc in fn:collection("oradb:/OE/PURCHASEORDER")
 4
 5
      where $doc/PurchaseOrder[User = $USER]

 6
      order by $doc/PurchaseOrder/Reference

 7 /
      return $doc/PurchaseOrder/Reference



• If XQuery statement ends with ‘;’ use empty comment
  (: :) to prevent semi-colon being interpreted by SQL.




                                                          21
Executing XQuery from SQL using XMLTable


select *
 from XMLTABLE
    (
      'for $doc in fn:collection("oradb:/OE/PURCHASEORDER")

    )
            return $doc/PurchaseOrder/Reference'



• Converts the the sequence returned by XQuery into a
  relational result set
• JDBC / OCI programs
• Tools that do not yet provide native XQuery support
  – SQL*Developer, APEX SQL Workbench
• This is what the SQL*PLUS XQUERY command does
  under the covers

                                                              22
XQUERY Service in Database Native Web Services

<ENV:Envelope
      xmlns:ENV="http://schemas.xmlsoap.org/soap/envelope/"
      xmlns:ENC="http://schemas.xmlsoap.org/soap/encoding/"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ENV:Body>
     <m:query xmlns:m="http://xmlns.oracle.com/orawsv">
          <m:query_text type="XQUERY">
for $doc in fn:collection("oradb:/OE/PURCHASEORDER")

          </m:query_text>
   return $doc/PurchaseOrder/Reference

     <m:pretty_print>true</m:pretty_print>
    </m:query>
  </ENV:Body>
</ENV:Envelope>

• WSDL location : http://dbserver:port/orawsv?wsdl


                                                              23
JCR-225 or XQJ

import javax.xml.xquery.*

XQDataSource dataSource = new oracle.xml.xquery.OXQDataSource();
XQConnection connection = dataSource.getConnection();
XQExpression expression = connection.createExpression();

XQResultSequence result = expression.executeQuery
("for $doc in fn:collection("oradb:/OE/PURCHASEORDER")
   return $doc/PurchaseOrder/Reference");

result.writeSequence(System.out, null);

result.close();

• Native XQuery API for Java
• XQJ is to XQuery what JDBC is to SQL
• Reference implementation by Oracle XMLDB


                                                                   24
Oracle XML DB
Loading XML




                25
Loading XML using SQL Loader

 load data
 infile 'filelist.dat'
 append
 into table PURCHASEORDER
 xmltype(XMLDATA)
 (
  filename filler char(120),
  XMLDATA lobfile(filename) terminated by eof
 )

 C:purchaseOrdersABANDA-20020405224101614PST.xml
 C:purchaseOrdersABANDA-20020406224701221PDT.xml
 …


• Load a set of files from a local file system
• Filelist.dat contains a list of the files to be loaded


                                                           26
Loading XML content using BFILE Constructor

create or replace directory XMLDIR as ‘c:myxmlfiles’;

insert into PURCHASEORDER values (
  XMLTYPE (
    BFILENAME(‘XMLDIR’, ‘SKING-20021009123335560PDT.xml’),
    NLS_CHARSET_ID(‘AL32UTF8’)));




• Directory XMLDIR references a directory in a file
  system local to the database server
• Must specify the character set encoding of the file
  being loaded.




                                                             27
XMLType implementations in JDBC, OCI, PL/SQL

 public boolean doInsert(String filename) throws SQLException,
                                           FileNotFoundException {

      String statementText = "insert into PURCHASEORDER values (:1)“;
      Connection conn = getConnection();
      OracleCallableStatement statement =
          (OracleCallableStatement) conn.prepareStatement(statementText);

      FileInputStream is = new FileInputStream(filename);
      XMLType xml = XMLType.createXML(this.getConnection(),is);
      statement.setObject(1,xml);
      boolean result = statement.execute();

      statement.close();
     – Constuct an XMLType and bind it into an insert statement

      conn.commit();
      return result;
 }




                                                                            28
Loading XML content via the XML DB repository




• Use FTP, HTTP and WebDAV to load content directly
  into XMLType tables in the Oracle Database

                                                      29
Oracle XML DB
XML Generation




                 30
Generating XML from relational data


• SQL/XML makes it easy to generate XML from
  relational data
  – Result set generated by SQL Query consists of one or more
    XML documents
• XQuery enables template-based generation of XML
  from relational tables
  – fn:collection() generates a canonical XML representation of
    relational data
• XMLType views enable persistentent XML centric
  access to relational content



                                                                  31
Generating XML using SQL/XML


• XMLElement()
  – Generates an Element with simple or complex content
  – Simple Content derived from a scalar column or constant
  – Complex content created from XMLType columns or via
    nested XMLElement and XMLAgg() operators
• XMLAttributes()
  – Add attributes to an element
• XMLAgg()
  – Turn a collection, typically from a nested sub-query, into a an
    XMLType containing a fragment
  – Similar to SQL aggregation operators



                                                                      32
Example : Using SQL/XML

select xmlElement ( "Department",                   XML
        xmlAttributes( d.DEPTNO as “Id"),
                                                    <Department Id="10">
        xmlElement("Name", d.DNAME),
                                                    <Name>ACCOUNTING</Name>
        xmlElement("Employees”,                     <Employees>
           ( select xmlAgg(                          <Employee employeeId="7782">
                      xmlElement("Employee",          <Name>CLARK</Name>
                        xmlForest(                    <StartDate>1981-06-09</StartDate>
                                                     </Employee>
                         e.ENAME as "Name",
                                                     <Employee”>
                         e.HIREDATE s"StartDate”)     <Name>KING</Name>
                      )                               <StartDate>1981-11-17</StartDate>
                    )                                </Employee>
              from EMP e                             <Employee>
             where e.DEPTNO = d.DEPTNO                <Name>MILLER</Name>
           )                                          <StartDate>1982-01-23</StartDate>
         )                                           </Employee>
       ) as XML                                     </Employees>
    from DEPT d                                     </Department>




                                                                                          33
Oracle XML DB
XML Operators




                34
XQuery operators : XMLExists()

SQL> select OBJECT_VALUE “XML”
 2     from PURCHASEORDER
 3 where XMLEXISTS (
 4              '$PO/PurchaseOrder[Reference=$REF]'
 5               passing OBJECT_VALUE as "PO",
 6               'SKING-20021009123336131PDT' as "REF"
 7           );



<PurchaseOrder >
XML

 <Reference>SKING-20021009123336131PDT</Reference>
 …
</PurchaseOrder >


• Use in SQL where clause to filter rows based on an
  XQuery expression
• Bind variables are supplied via the “Passing” clause


                                                         35
XQuery operators : XMLQuery()

SQL> select XMLQUERY(
 2             '$PO/PurchaseOrder/ShippingInstructions'
 3             passing OBJECT_VALUE as "PO"
 4             returning content) XML
 5    from PURCHASEORDER
 6 where XMLEXISTS(
 7            '$PO/PurchaseOrder[Reference=$REF]'
 8            passing OBJECT_VALUE as "PO",
 9            'SKING-20021009123336131PDT' as "REF");


<ShippingInstructions>
XML

 <name>Steven A. King</name>
…
</ShippingInstructions>

• Use in SQL where clause to extract a fragment from
  each document in a result set.
• Bind variables are supplied via the “Passing” clause

                                                          36
XMLTable Columns Clause

• Extends XMLTable , enabling the creation of in-line
  relational views of XML content
• Enables SQL operations on XML content
  – Views allow Non-XML aware tools access to XML content
• Manage collection hierarchies using Nested
  XMLTable operators
  – Pass collections as fragments




                                                            37
XMLTable Columns Clause
SQL> select m.REFERENCE, l.LINENO, l.QUANTITY
 2    from PURCHASEORDER,
 3          XMLTable(
 4            '$PO/PurchaseOrder'       passing OBJECT_VALUE as "PO"
 5            COLUMNS
 6              REFERENCE                VARCHAR2(32) PATH 'Reference',',
 7              LINEITEM_FRAGMENT              XMLTYPE PATH 'LineItems/LineItem'
 8         ) m,
 9         XMLTable(
10            '$LI/LineItem'            passing m.LINEITEM_FRAGMENT as "LI"
11           COLUMNS
12              LINENO                       NUMBER(4) PATH '@ItemNumber',
13              UPC                         NUMBER(14) PATH 'Part/text()',
14              QUANTITY                     NUMBER(5) PATH 'Quantity'
15     )l
16 where l.UPC = '24543000457’;


RERERENCE                                                            LINENO        QUANTITY
AKHOO-20100418162507692PDT                                                 2              2
PVARGAS-20101114171322653PST                                               1              7
JTAYLOR-20100518182653281PDT                                               5              4



                                                                                              38
Xquery Update Suppport


• Enabled starting with release 11.2.0.3.0
• Enables standards-compliant update of XML content
• Use XMQuery operator containing an XQuery-Update
  expression in a SQL Update
  – The Xquery produces the new value for an XMLType column
• Updating xml content supported using Oracle specific
  operators in older releases
  – UpdateXML(), DeleteXML(), insertChildXML() etc




                                                              39
Other SQL/XML Operators


• XMLCast()
  – Convert XML scalars into SQL scalars
• XMLTransfom()
  – XSL based transformation
• XMLNamespaces()
  – Namespace management
• SchemaValidate()
  – XMLType method for validating document against an XML
    Schema




                                                            40
Oracle XML DB
XML Storage
And Indexing




                41
Binary Persistence

SQL> create table PURCHASEORDER of XMLTYPE
  2> XMLTYPE store as SECUREFILE BINARY XML;


• Stores post-parse representation of XML on disc
  – Reduced storage requirements
  – Tags are tokenized, content stored in native representation
• Optimized for streaming, indexing and fragment
  extraction.
• Single representation used on disc, in-memory and
  on-wire
  – No parsing / serialization overhead once XML is ingested
• Partial update
• Schema-less and XML Schema aware versions


                                                                  42
Oracle Binary XML

Database                   App                      Web                   Client
                           Server                   Cache

              Binary XML               Binary XML           Binary XML




SQL, PL/SQL                 XQuery,                                       XQuery,
  XQuery                   Java, ‘C’                                     JAVA, ‘C’


                               Oracle Binary XML




                                                                                     43
XML Index : Unstructured Index

    SQL> create index PURCHASEORDER_XML_IDX
     2 on PURCHASEORDER (OBJECT_VALUE)
     3    indextype is XDB.XMLINDEX;


• Requires no knowledge of the structure of the XML
  being indexed or the search criteria
• All elements and attributes in the XML are indexed
      – Name / Value pair model
•   Optimizes searching and fragment extraction
•   Accelerates path and path-with-predicate searching
•   Supports type-aware searches
•   Synchronous and Asynchronous indexing modes



                                                         44
XML Index : Unstructured Index – Path Sub-setting

 SQL> create index PURCHASEORDER_XML_IDX
  2             on PURCHASEORDER (OBJECT_VALUE)
  3                 indextype is XDB.XMLINDEX
  4                 parameters (
  5                   'paths (
  6                    include (
  7                      /PurchaseOrder/Reference
  8                      /PurchaseOrder/LineItems//* ))'
  9                );


• Indexing all nodes can be expensive
   – DML Performance
   – Space Usage
• Path sub-setting allows control over which nodes indexed
• Enables trade off between retrieval performance, DML
  performance and space usage


                                                             45
XML Index : Structured Index

SQL> create index PURCHASEORDER_XML_IDX
 2              on PURCHASEORDER (OBJECT_VALUE)
 3                 indextype is XDB.XMLINDEX
 4                 parameters ('PARAM PO_SXI_PARAMETERS');


• Indexes “Islands of Structure”
  – Requires some knowledge of the XML being index and the kind
    of queries that will be performed
• Specific leaf-level nodes projected into relational tables
  – Table for each island, leaf node values stored as columns
• Data type aware
• Based on XMLTable syntax()
• Optimzies all SQL/XML operators
  – XMLQuery(), XMLTable() and XMLExists()



                                                                  46
Table Based XML Parameters clause

SQL> call DBMS_XMLINDEX.registerParameter(
 2     'PO_SXI_PARAMETERS',
 3     'GROUP PO_LINEITEM
 4         xmlTable PO_INDEX_MASTER ''/PurchaseOrder''
 5           COLUMNS
 6            REFERENCE       varchar2(30)   PATH ''Reference'',
 7            LINEITEM            xmlType    PATH ''LineItems/LineItem''
 8         VIRTUAL xmlTable PO_INDEX_LINEITEM ''/LineItem''
 9           PASSING lineitem
10           COLUMNS
11            ITEMNO             number(38) PATH ''@ItemNumber'',
12            UPC                number(14) PATH “Part/text()”,
13            DESCRIPTION varchar2(256) PATH '‘Part/@Description''
14    ')




                                                                           47
Oracle XML DB
XML Schema




                49
XMLSchema


            • WC3 Standard for defining the
              structure and content of an XML
              document
              – An XML Schema is an XML document
            • Used for validation purposes
              – Parsers like Oracle XDK, XERCES or
                Microsoft’s MSXML
              – XML Editors like XMetal,. Oxygene or
                Microsoft Word 2K7
            • Created using tools like Altova’s
              XML Spy or Oracle’s JDeveloper


                                                       50
XML Schema and Binary XML

DBMS_XMLSCHEMA.registerSchema (
  SCHEMAURL    => 'http://www.example.com/xsd/purchaseOrder.xsd',
  SCHEMADOC    => xmlType(bfilename(‘XMLDIR’,’po.xsd’),
                                       nls_charset_id(‘AL32UTF8’)),
  GENTYPES     => FALSE,
  GENTABLES    => FALSE,
  OPTIONS      => DBMS_XMLSCHEMA.REGISTER_BINARYXML
)


• Increased storage efficiency for Binary XML
  – Simple types mapped to native formats
  – Pre-generated token tables
• Improves streaming XPath and XML Index operations
  – Leverages cardinality and location information
• Schema validation part of Binary XML encoding process



                                                                      51
XML Schema and Object-Relational Storage

 DBMS_XMLSCHEMA.registerSchema (
  SCHEMAURL     => 'http://www.example.com/xsd/purchaseOrder.xsd',
  SCHEMADOC     => xmlType(bfilename(‘XMLDIR’,’po.xsd’),
                                        nls_charset_id(‘AL32UTF8’)),
  GENTYPES      => TRUE,
  GENTABLES     => TRUE )

• XML Schema defines an XML object Model,
• XML Schema compilation
   • SQL object model generated from the XML object model
   • Object-relational tables created to provide efficient storage for
     SQL objects.
• Object Relational storage enables
   • Lossless, bi-directional mapping between XML object model
     and SQL object model
   • XQuery execution via re-write into SQL operations on the
     underlying tables


                                                                         52
Object Relational Persistence


• Suitable for highly structured XML use-cases
  • XML collection hierarchy persisted as master/ details
    relationships using nested tables
  • Simple recursive structures handled automatically using out-
    of-line tables
• Near-relational performance for
  – Leaf level access and update
  – Collection manipulation (insert,delete)
• Indexing via B-Tree and Bitmap indexes
• Significant reductions in storage Vs serialized form
• Some overhead incurred for document-level storage
  and retrieval operations


                                                                   53
Managing XML Schema Changes


• Schema Extension
  – XML DB supports the use of extension schemas with both
    Binary XML and Object-Relational Storage
• In-Place evolution
  – Simple changes that do not invalidate existing documents
  – XML Schema update takes a few seconds regardless of
    amount of data.
• Copy-based evolution
  – Supports arbitrary changes to the XML Schema
  – Documents need to be transformed into format compliant with
    the updated XML Schema
  – Time taken proportional to volume of data


                                                                  54
Oracle XML DB
XML DB
Repository




                55
Oracle XML DB Repository


• Organize and access content as files in folders rather
  than rows in tables
• Manages XML and non-XML content
• Native support for HTTP, FTP and WebDAV protocols
  – Content accessible using standard desktop Tools
• Enables document centric development paradigm
  – Path based access to content
  – Queries based on location
• Hierarchical Index
  – Patented, high performance folder-traversal operations and
    queries


                                                                 56
Oracle XML DB
Database
Native Web Services




                      60
Database-native Web Services


• ‘Zero-Development’, ‘Zero-Deployment’ solution for
  publishing PL/SQL packages.
  – Any package method, function or procedure can be accessed
    as a SOAP end-point
• Leverages the Oracle XML DB HTTP Server
  – No additional infrastructure required
• Automatic generation of WSDL
  – URL to Package, Function or Procedure mapping scheme
• Uses XML DB infrastructure for processing request
  and generating response
• Includes ‘SQL Query’ and ‘XQuery’ Services


                                                                61
Oracle XML DB
Summary




                62
Advanced XML Capabilities



XML Application                                         Document ad data
                  JDBC                                  Centric Access
                           Files        XMLType
                  .NET
     XDK                                XML            Native XQuery
                           Folders      Schema
                  OCI                                  Engine

                  SOAP     ACLS         XQuery         XML and Full-Text
                                                       indexing
                  HTTP
                           Versioning   SQL/XML        Native storage for
                  FTP                                  schema-based and
                           Metadata                    schema-less XML
                                        XSLT
                  WebDav
Document                                               XML views of
or Message                 Events                      relational Content
                                        DOM




                                                  63                   63
Simplified Development


select empx.*
from dept_xml dx,                         •   Less code to write
     xmltable(
       XMLNamespaces                      •   Less code to maintain
   ('http://www.oracle.com/dept.xsd' as
   "d"),                                  •   Easier to learn
   './d:Department/d:Employee‘
   passing value(dx)                      •   Lower Cost without losing flexibility
   columns
       ename varchar2(4000) path
                           'd:EmpName',
     Job varchar2(4000) path 'd:Job',
     Salary number(38) path 'd:Salary',
     HireDate date path 'd:HireDate'
     ) empx;




                                                                                      64
XML DB value propositions


• Fast and easy native XML application development
• Hybrid database
  – SQL centric access to XML content
  – XML centric access to relational content
• Multiple XML storage options allow tuning for optimal
  application performance
  – Application code is totally independent of storage model
  – Optimized storage and indexing for structured and
    unstructured XML
• XML DB repository enables document centric
  integrity and security models


                                                               65
XML DB Customers


ETL and Publishing   Structured XML   Semi-Structured   Document Centric
                     Persistance      XML Persistance   XML




                                                                      66
67
For More Information




             search.oracle.com




                 or
                 oracle.com



                                 68
69

Mais conteúdo relacionado

Mais procurados

BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverMarco Gralike
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xMarco Gralike
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBMartin Grebac
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesMarco Gralike
 
Using database object relational storage
Using database object relational storageUsing database object relational storage
Using database object relational storageDalibor Blazevic
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shellIvan Ma
 
Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Zohar Elkayam
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsDave Stokes
 
What’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPWhat’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPChristopher Jones
 
Less07 schema
Less07 schemaLess07 schema
Less07 schemaImran Ali
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitDave Stokes
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaSitdhibong Laokok
 
PL/SQL New and Advanced Features for Extreme Performance
PL/SQL New and Advanced Features for Extreme PerformancePL/SQL New and Advanced Features for Extreme Performance
PL/SQL New and Advanced Features for Extreme PerformanceZohar Elkayam
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowAlex Zaballa
 
Advanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceAdvanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceZohar Elkayam
 
Difference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleDifference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleSteve Johnson
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle DatabaseMaria Colgan
 

Mais procurados (20)

BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file serverBGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
BGOUG 2012 - Drag & drop and other stuff - Using your database as a file server
 
JAXB
JAXBJAXB
JAXB
 
An introduction into Oracle VM V3.x
An introduction into Oracle VM V3.xAn introduction into Oracle VM V3.x
An introduction into Oracle VM V3.x
 
Best Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXBBest Practices for Interoperable XML Databinding with JAXB
Best Practices for Interoperable XML Databinding with JAXB
 
Expertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use CasesExpertezed 2012 Webcast - XML DB Use Cases
Expertezed 2012 Webcast - XML DB Use Cases
 
PHP Oracle
PHP OraclePHP Oracle
PHP Oracle
 
Using database object relational storage
Using database object relational storageUsing database object relational storage
Using database object relational storage
 
20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell20201106 hk-py con-mysql-shell
20201106 hk-py con-mysql-shell
 
Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016Advanced PL/SQL Optimizing for Better Performance 2016
Advanced PL/SQL Optimizing for Better Performance 2016
 
Confoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & HistogramsConfoo 2021 - MySQL Indexes & Histograms
Confoo 2021 - MySQL Indexes & Histograms
 
What’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHPWhat’s New in Oracle Database 12c for PHP
What’s New in Oracle Database 12c for PHP
 
Less07 schema
Less07 schemaLess07 schema
Less07 schema
 
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source SummitMySQL 8.0 New Features -- September 27th presentation for Open Source Summit
MySQL 8.0 New Features -- September 27th presentation for Open Source Summit
 
JAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML SchemaJAXB: Create, Validate XML Message and Edit XML Schema
JAXB: Create, Validate XML Message and Edit XML Schema
 
MariaDB pres at LeMUG
MariaDB pres at LeMUGMariaDB pres at LeMUG
MariaDB pres at LeMUG
 
PL/SQL New and Advanced Features for Extreme Performance
PL/SQL New and Advanced Features for Extreme PerformancePL/SQL New and Advanced Features for Extreme Performance
PL/SQL New and Advanced Features for Extreme Performance
 
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should KnowDBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
DBA Brasil 1.0 - DBA Commands and Concepts That Every Developer Should Know
 
Advanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better PerformanceAdvanced PLSQL Optimizing for Better Performance
Advanced PLSQL Optimizing for Better Performance
 
Difference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleDifference Between Sql - MySql and Oracle
Difference Between Sql - MySql and Oracle
 
JSON and the Oracle Database
JSON and the Oracle DatabaseJSON and the Oracle Database
JSON and the Oracle Database
 

Semelhante a Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML DB in Oracle database 11g Release 2.pdf

OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1Marco Gralike
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Marco Gralike
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development TutorialErik Hatcher
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document StoreRui Quelhas
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle DatenbankUlrike Schwinn
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...Olivier DASINI
 
SQLPASS AD501-M XQuery MRys
SQLPASS AD501-M XQuery MRysSQLPASS AD501-M XQuery MRys
SQLPASS AD501-M XQuery MRysMichael Rys
 
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...Marco Gralike
 
04 data accesstechnologies
04 data accesstechnologies04 data accesstechnologies
04 data accesstechnologiesBat Programmer
 
MySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIMySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIRui Quelhas
 
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve content
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve contentOpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve content
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve contentAlkacon Software GmbH & Co. KG
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And XmlDavid Truxall
 
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Tammy Bednar
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered LuceneErik Hatcher
 

Semelhante a Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML DB in Oracle database 11g Release 2.pdf (20)

XML Data Using Oracle
XML Data Using OracleXML Data Using Oracle
XML Data Using Oracle
 
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 1
 
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
Real World Experience With Oracle Xml Database 11g An Oracle Ace’s Perspectiv...
 
treeview
treeviewtreeview
treeview
 
treeview
treeviewtreeview
treeview
 
Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?Oracle XML DB - What's in it for me?
Oracle XML DB - What's in it for me?
 
Solr Application Development Tutorial
Solr Application Development TutorialSolr Application Development Tutorial
Solr Application Development Tutorial
 
Node.js and the MySQL Document Store
Node.js and the MySQL Document StoreNode.js and the MySQL Document Store
Node.js and the MySQL Document Store
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle Datenbank
 
MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...MySQL Document Store - A Document Store with all the benefts of a Transactona...
MySQL Document Store - A Document Store with all the benefts of a Transactona...
 
SQLPASS AD501-M XQuery MRys
SQLPASS AD501-M XQuery MRysSQLPASS AD501-M XQuery MRys
SQLPASS AD501-M XQuery MRys
 
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...
XMLDB Building Blocks And Best Practices - Oracle Open World 2008 - Marco Gra...
 
04 data accesstechnologies
04 data accesstechnologies04 data accesstechnologies
04 data accesstechnologies
 
XML Pipelines
XML PipelinesXML Pipelines
XML Pipelines
 
MySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPIMySQL Connector/Node.js and the X DevAPI
MySQL Connector/Node.js and the X DevAPI
 
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve content
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve contentOpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve content
OpenCms Days 2012 - OpenCms 8.5: Using Apache Solr to retrieve content
 
Linq To XML Overview
Linq To XML OverviewLinq To XML Overview
Linq To XML Overview
 
Sql Summit Clr, Service Broker And Xml
Sql Summit   Clr, Service Broker And XmlSql Summit   Clr, Service Broker And Xml
Sql Summit Clr, Service Broker And Xml
 
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
Database@Home - Data Driven : Loading, Indexing, and Searching with Text and ...
 
Solr Powered Lucene
Solr Powered LuceneSolr Powered Lucene
Solr Powered Lucene
 

Mais de InSync2011

Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...
Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...
Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...InSync2011
 
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdf
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdfNew & Emerging _ KrisDowney _ Simplifying the Change Process.pdf
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdfInSync2011
 
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdf
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdfOracle Systems _ Kevin McIsaac _The IT landscape has changed.pdf
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdfInSync2011
 
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdf
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdfReporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdf
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdfInSync2011
 
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...InSync2011
 
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...InSync2011
 
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...InSync2011
 
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...InSync2011
 
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...InSync2011
 
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdf
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdfDatabase & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdf
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdfInSync2011
 
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdf
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdfDatabase & Technology 1 _ Tom Kyte _ SQL Techniques.pdf
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdfInSync2011
 
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...InSync2011
 
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...InSync2011
 
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...InSync2011
 
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...InSync2011
 
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...InSync2011
 
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...InSync2011
 
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...InSync2011
 
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...InSync2011
 
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...InSync2011
 

Mais de InSync2011 (20)

Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...
Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...
Developer & Fusion Middleware 2 _ Scott Robertson _ SOA, Portals and Enterpri...
 
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdf
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdfNew & Emerging _ KrisDowney _ Simplifying the Change Process.pdf
New & Emerging _ KrisDowney _ Simplifying the Change Process.pdf
 
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdf
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdfOracle Systems _ Kevin McIsaac _The IT landscape has changed.pdf
Oracle Systems _ Kevin McIsaac _The IT landscape has changed.pdf
 
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdf
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdfReporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdf
Reporting _ Scott Tunbridge _ Op Mgmt to Perf Excel.pdf
 
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...
Developer and Fusion Middleware 2 _ Scott Robertson _ SOA, portals and entepr...
 
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...
Primavera _ Loretta Bayliss _ Implementing EPPM in rapidly changing and compe...
 
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
Database & Technology 1 _ Martin Power _ Delivering Oracles hight availabilit...
 
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...
Database & Technology 1 _ Craig Shallahamer _ Unit of work time based perform...
 
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...
Database & Technology 1 _ Marcelle Kratchvil _ Why you should be storing unst...
 
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdf
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdfDatabase & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdf
Database & Technology 1 _ Milina Ristic _ Why use oracle data guard.pdf
 
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdf
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdfDatabase & Technology 1 _ Tom Kyte _ SQL Techniques.pdf
Database & Technology 1 _ Tom Kyte _ SQL Techniques.pdf
 
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...
Database & Technology 1 _ Clancy Bufton _ Flashback Query - oracle total reca...
 
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...
Databse & Technology 2 _ Francisco Munoz Alvarez _ Oracle Security Tips - Som...
 
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...
Databse & Technology 2 _ Francisco Munoz alvarez _ 11g new functionalities fo...
 
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
Databse & Technology 2 | Connor McDonald | Managing Optimiser Statistics - A ...
 
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
Databse & Technology 2 _ Shan Nawaz _ Oracle 11g Top 10 features - not your u...
 
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...
Databse & Technology 2 _ Paul Guerin _ The biggest looser database - a boot c...
 
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...
Developer and Fusion Middleware 1 _ Kevin Powe _ Log files - a wealth of fore...
 
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...
Developer and Fusion Middleware 2 _ Aaron Blishen _ Event driven SOA Integrat...
 
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...
Developer and Fusion Middleware 2 _Greg Kirkendall _ How Australia Post teach...
 

Último

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 

Último (20)

Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 

Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML DB in Oracle database 11g Release 2.pdf

  • 1. <Insert Picture Here> An Introduction to Oracle XML DB in Oracle Database 11g Release 2 Mark D Drake Manager, Product Management
  • 2. The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. 2
  • 4. Why XML ? • Open, vendor-neutral standards, driven by W3C – XML, XMLSchema, XQuery, XSLT, DOM etc – Standard well-understood API implantations available for most common development environments • Easily understood, flexible and verifiable data model – Simplifies data exchange between loosely connected applications • Equally applicable to data and document centric applications – Delivers flexibility for data-centric applications – Delivers structure for content-centric applications • Widely adopted for critical industry standards 5
  • 5. Sample XML-based Standards – XBRL – Financial and Regulatory reporting – FPML, FixML, Accord : Financial Services – MISMO : Mortgage Origination – ACORD : Insurance – HL7 : Healthcare – ebXML, UBL : E-commerce – GJXML, NIEM: Law Enforcement and Public Safety – RSS: publishing / syndication of content – DICOM, EXIF: for Digital Imaging – OpenGIS, KML: Spatial applications – XFORMS : XML forms 6
  • 6. XML Segmentation model Data Capture & Data Data Exchange Persistence <XML/> Content Document Management Authoring 8
  • 8. Oracle’s XML Vision • Enable a single source of truth for XML • Provide the best platform for managing all your XML – Flexibility to allow optimal processing of data-centric and content-centric XML – Deliver Oracle’s commitment to Reliability, Security, Availability and Scalability • Drive and implement key XML Standards • Support SQL-centric, XML-centric and document- centric development paradigms • Support XML in Database and Application Server 10
  • 9. Oracle & XML : Sustained Innovation Binary XML Storage & Indexing Performance XQuery XML Storage & XML Repository API’s 1998 2001 2004 2007 11
  • 10. XML DB Summary • XMLType – XML storage and indexing • XQuery, XML Schema, XSLT – XML centric development • SQL/XML – XML publishing • XMLDB repository – XML specific content management • Standards compliant – Strict adherence and conformance 12
  • 11. Oracle XML DB XMLType and XQuery 13
  • 12. XMLType • Standard data type, makes database XML aware – Use as Table, Column, Variable, Argument or Return Value • Abstraction for managing XML – Enforces XML content model and XML fidelity – Enables XML schema validation – Multiple persistence and indexing options • Query and update operations performed using XQuery • All application logic is independent of persistence model 14
  • 13. Using XMLType create table INVOICES of XMLTYPE; create table PURCHCASEORDERS ( PO_NUMBER NUMBER(4), PO_DETAILS XMLTYPE ) XMLTYPE column PO_DETAILS XMLSCHEMA "http://schemas.example.com/PurchaseOrder.xsd" ELEMENT “PurchaseOrder“ STORE AS OBJECT RELATIONAL; 15
  • 14. XQuery • W3C standard for generating, querying and updating XML – Natural query language for XML content – Evolved from XPath and XSLT – Analogous to SQL in the relational world • Iterative rather than Set-Based • Basic construct is the FLWOR clause – FOR, LET, WHERE, ORDER, RETURN… • XQuery operations result in a sequence consisting of zero or more nodes 16
  • 15. XQuery FLWOR example for $l in $PO/PurchaseOrder/LineItems/LineItem return $l/Part/@Description <PurchaseOrder DateCreated=“2011-01-31”> … <LineItems> <LineItem ItemNumber="1"> <Part Description="Octopus“>31398750123</Part> Octopus <Quantity>3.0</Quantity> …. </LineItem> ….. King Ralph <LineItem ItemNumber="5"> <Part Description="King Ralph">18713810168</Part> <Quantity>7.0</Quantity> </LineItem> </LineItems> </PurchaseOrder> 17
  • 16. XQuery fn:collection for $doc in fn:collection(“oradb:/OE/PURCHASEORDER”) return $doc • Used to access a collection of documents – Allows an XQuery to operate on a set of XML documents • Collection sources include – The contents of a folder – XMLType tables or columns – Relational Tables via a conical mapping scheme • Protocol “oradb:” causes the components of the path should be interpreted as a Schema, Table, Column – Column is optional 18
  • 17. XQuery : Where and Order by clause let $USER := “SKING” for $doc in fn:collection(“oradb:/OE/PURCHASEORDER”) where $doc/PurchaseOrder[User = $USER] order by $doc/PurchaseOrder/Reference return $doc/PurchaseOrder/Reference • Where clause controls which documents or nodes are processed • Order by clause control ordering of nodes in sequence 19
  • 18. XQuery : XQuery-Update support let $OLDUSER := "EBATES" let $NEWUSER := "SKING" let $NEWNAME := "Stephen King" let $OLDDOCS := for $DOC in fn:collection("oradb:/SCOTT/PURCHASEORDER") where $DOC/PurchaseOrder/User = $OLDUSER return $DOC for $OLDDOC in $OLDDOCS return copy $NEWDOC := $OLDDOC modify ( f or $PO in $NEWDOC/PurchaseOrder return ( replace value of node $PO/User with $NEWUSER, replace value of node $PO/Requestor with $NEWNAME ) ) return $NEWDOC 20
  • 19. Executing XQuery in SQL*PLUS using XQUERY SQL> XQUERY 2 let $USER := "SKING" 3 for $doc in fn:collection("oradb:/OE/PURCHASEORDER") 4 5 where $doc/PurchaseOrder[User = $USER] 6 order by $doc/PurchaseOrder/Reference 7 / return $doc/PurchaseOrder/Reference • If XQuery statement ends with ‘;’ use empty comment (: :) to prevent semi-colon being interpreted by SQL. 21
  • 20. Executing XQuery from SQL using XMLTable select * from XMLTABLE ( 'for $doc in fn:collection("oradb:/OE/PURCHASEORDER") ) return $doc/PurchaseOrder/Reference' • Converts the the sequence returned by XQuery into a relational result set • JDBC / OCI programs • Tools that do not yet provide native XQuery support – SQL*Developer, APEX SQL Workbench • This is what the SQL*PLUS XQUERY command does under the covers 22
  • 21. XQUERY Service in Database Native Web Services <ENV:Envelope xmlns:ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <ENV:Body> <m:query xmlns:m="http://xmlns.oracle.com/orawsv"> <m:query_text type="XQUERY"> for $doc in fn:collection("oradb:/OE/PURCHASEORDER") </m:query_text> return $doc/PurchaseOrder/Reference <m:pretty_print>true</m:pretty_print> </m:query> </ENV:Body> </ENV:Envelope> • WSDL location : http://dbserver:port/orawsv?wsdl 23
  • 22. JCR-225 or XQJ import javax.xml.xquery.* XQDataSource dataSource = new oracle.xml.xquery.OXQDataSource(); XQConnection connection = dataSource.getConnection(); XQExpression expression = connection.createExpression(); XQResultSequence result = expression.executeQuery ("for $doc in fn:collection("oradb:/OE/PURCHASEORDER") return $doc/PurchaseOrder/Reference"); result.writeSequence(System.out, null); result.close(); • Native XQuery API for Java • XQJ is to XQuery what JDBC is to SQL • Reference implementation by Oracle XMLDB 24
  • 24. Loading XML using SQL Loader load data infile 'filelist.dat' append into table PURCHASEORDER xmltype(XMLDATA) ( filename filler char(120), XMLDATA lobfile(filename) terminated by eof ) C:purchaseOrdersABANDA-20020405224101614PST.xml C:purchaseOrdersABANDA-20020406224701221PDT.xml … • Load a set of files from a local file system • Filelist.dat contains a list of the files to be loaded 26
  • 25. Loading XML content using BFILE Constructor create or replace directory XMLDIR as ‘c:myxmlfiles’; insert into PURCHASEORDER values ( XMLTYPE ( BFILENAME(‘XMLDIR’, ‘SKING-20021009123335560PDT.xml’), NLS_CHARSET_ID(‘AL32UTF8’))); • Directory XMLDIR references a directory in a file system local to the database server • Must specify the character set encoding of the file being loaded. 27
  • 26. XMLType implementations in JDBC, OCI, PL/SQL public boolean doInsert(String filename) throws SQLException, FileNotFoundException { String statementText = "insert into PURCHASEORDER values (:1)“; Connection conn = getConnection(); OracleCallableStatement statement = (OracleCallableStatement) conn.prepareStatement(statementText); FileInputStream is = new FileInputStream(filename); XMLType xml = XMLType.createXML(this.getConnection(),is); statement.setObject(1,xml); boolean result = statement.execute(); statement.close(); – Constuct an XMLType and bind it into an insert statement conn.commit(); return result; } 28
  • 27. Loading XML content via the XML DB repository • Use FTP, HTTP and WebDAV to load content directly into XMLType tables in the Oracle Database 29
  • 28. Oracle XML DB XML Generation 30
  • 29. Generating XML from relational data • SQL/XML makes it easy to generate XML from relational data – Result set generated by SQL Query consists of one or more XML documents • XQuery enables template-based generation of XML from relational tables – fn:collection() generates a canonical XML representation of relational data • XMLType views enable persistentent XML centric access to relational content 31
  • 30. Generating XML using SQL/XML • XMLElement() – Generates an Element with simple or complex content – Simple Content derived from a scalar column or constant – Complex content created from XMLType columns or via nested XMLElement and XMLAgg() operators • XMLAttributes() – Add attributes to an element • XMLAgg() – Turn a collection, typically from a nested sub-query, into a an XMLType containing a fragment – Similar to SQL aggregation operators 32
  • 31. Example : Using SQL/XML select xmlElement ( "Department", XML xmlAttributes( d.DEPTNO as “Id"), <Department Id="10"> xmlElement("Name", d.DNAME), <Name>ACCOUNTING</Name> xmlElement("Employees”, <Employees> ( select xmlAgg( <Employee employeeId="7782"> xmlElement("Employee", <Name>CLARK</Name> xmlForest( <StartDate>1981-06-09</StartDate> </Employee> e.ENAME as "Name", <Employee”> e.HIREDATE s"StartDate”) <Name>KING</Name> ) <StartDate>1981-11-17</StartDate> ) </Employee> from EMP e <Employee> where e.DEPTNO = d.DEPTNO <Name>MILLER</Name> ) <StartDate>1982-01-23</StartDate> ) </Employee> ) as XML </Employees> from DEPT d </Department> 33
  • 32. Oracle XML DB XML Operators 34
  • 33. XQuery operators : XMLExists() SQL> select OBJECT_VALUE “XML” 2 from PURCHASEORDER 3 where XMLEXISTS ( 4 '$PO/PurchaseOrder[Reference=$REF]' 5 passing OBJECT_VALUE as "PO", 6 'SKING-20021009123336131PDT' as "REF" 7 ); <PurchaseOrder > XML <Reference>SKING-20021009123336131PDT</Reference> … </PurchaseOrder > • Use in SQL where clause to filter rows based on an XQuery expression • Bind variables are supplied via the “Passing” clause 35
  • 34. XQuery operators : XMLQuery() SQL> select XMLQUERY( 2 '$PO/PurchaseOrder/ShippingInstructions' 3 passing OBJECT_VALUE as "PO" 4 returning content) XML 5 from PURCHASEORDER 6 where XMLEXISTS( 7 '$PO/PurchaseOrder[Reference=$REF]' 8 passing OBJECT_VALUE as "PO", 9 'SKING-20021009123336131PDT' as "REF"); <ShippingInstructions> XML <name>Steven A. King</name> … </ShippingInstructions> • Use in SQL where clause to extract a fragment from each document in a result set. • Bind variables are supplied via the “Passing” clause 36
  • 35. XMLTable Columns Clause • Extends XMLTable , enabling the creation of in-line relational views of XML content • Enables SQL operations on XML content – Views allow Non-XML aware tools access to XML content • Manage collection hierarchies using Nested XMLTable operators – Pass collections as fragments 37
  • 36. XMLTable Columns Clause SQL> select m.REFERENCE, l.LINENO, l.QUANTITY 2 from PURCHASEORDER, 3 XMLTable( 4 '$PO/PurchaseOrder' passing OBJECT_VALUE as "PO" 5 COLUMNS 6 REFERENCE VARCHAR2(32) PATH 'Reference',', 7 LINEITEM_FRAGMENT XMLTYPE PATH 'LineItems/LineItem' 8 ) m, 9 XMLTable( 10 '$LI/LineItem' passing m.LINEITEM_FRAGMENT as "LI" 11 COLUMNS 12 LINENO NUMBER(4) PATH '@ItemNumber', 13 UPC NUMBER(14) PATH 'Part/text()', 14 QUANTITY NUMBER(5) PATH 'Quantity' 15 )l 16 where l.UPC = '24543000457’; RERERENCE LINENO QUANTITY AKHOO-20100418162507692PDT 2 2 PVARGAS-20101114171322653PST 1 7 JTAYLOR-20100518182653281PDT 5 4 38
  • 37. Xquery Update Suppport • Enabled starting with release 11.2.0.3.0 • Enables standards-compliant update of XML content • Use XMQuery operator containing an XQuery-Update expression in a SQL Update – The Xquery produces the new value for an XMLType column • Updating xml content supported using Oracle specific operators in older releases – UpdateXML(), DeleteXML(), insertChildXML() etc 39
  • 38. Other SQL/XML Operators • XMLCast() – Convert XML scalars into SQL scalars • XMLTransfom() – XSL based transformation • XMLNamespaces() – Namespace management • SchemaValidate() – XMLType method for validating document against an XML Schema 40
  • 39. Oracle XML DB XML Storage And Indexing 41
  • 40. Binary Persistence SQL> create table PURCHASEORDER of XMLTYPE 2> XMLTYPE store as SECUREFILE BINARY XML; • Stores post-parse representation of XML on disc – Reduced storage requirements – Tags are tokenized, content stored in native representation • Optimized for streaming, indexing and fragment extraction. • Single representation used on disc, in-memory and on-wire – No parsing / serialization overhead once XML is ingested • Partial update • Schema-less and XML Schema aware versions 42
  • 41. Oracle Binary XML Database App Web Client Server Cache Binary XML Binary XML Binary XML SQL, PL/SQL XQuery, XQuery, XQuery Java, ‘C’ JAVA, ‘C’ Oracle Binary XML 43
  • 42. XML Index : Unstructured Index SQL> create index PURCHASEORDER_XML_IDX 2 on PURCHASEORDER (OBJECT_VALUE) 3 indextype is XDB.XMLINDEX; • Requires no knowledge of the structure of the XML being indexed or the search criteria • All elements and attributes in the XML are indexed – Name / Value pair model • Optimizes searching and fragment extraction • Accelerates path and path-with-predicate searching • Supports type-aware searches • Synchronous and Asynchronous indexing modes 44
  • 43. XML Index : Unstructured Index – Path Sub-setting SQL> create index PURCHASEORDER_XML_IDX 2 on PURCHASEORDER (OBJECT_VALUE) 3 indextype is XDB.XMLINDEX 4 parameters ( 5 'paths ( 6 include ( 7 /PurchaseOrder/Reference 8 /PurchaseOrder/LineItems//* ))' 9 ); • Indexing all nodes can be expensive – DML Performance – Space Usage • Path sub-setting allows control over which nodes indexed • Enables trade off between retrieval performance, DML performance and space usage 45
  • 44. XML Index : Structured Index SQL> create index PURCHASEORDER_XML_IDX 2 on PURCHASEORDER (OBJECT_VALUE) 3 indextype is XDB.XMLINDEX 4 parameters ('PARAM PO_SXI_PARAMETERS'); • Indexes “Islands of Structure” – Requires some knowledge of the XML being index and the kind of queries that will be performed • Specific leaf-level nodes projected into relational tables – Table for each island, leaf node values stored as columns • Data type aware • Based on XMLTable syntax() • Optimzies all SQL/XML operators – XMLQuery(), XMLTable() and XMLExists() 46
  • 45. Table Based XML Parameters clause SQL> call DBMS_XMLINDEX.registerParameter( 2 'PO_SXI_PARAMETERS', 3 'GROUP PO_LINEITEM 4 xmlTable PO_INDEX_MASTER ''/PurchaseOrder'' 5 COLUMNS 6 REFERENCE varchar2(30) PATH ''Reference'', 7 LINEITEM xmlType PATH ''LineItems/LineItem'' 8 VIRTUAL xmlTable PO_INDEX_LINEITEM ''/LineItem'' 9 PASSING lineitem 10 COLUMNS 11 ITEMNO number(38) PATH ''@ItemNumber'', 12 UPC number(14) PATH “Part/text()”, 13 DESCRIPTION varchar2(256) PATH '‘Part/@Description'' 14 ') 47
  • 46. Oracle XML DB XML Schema 49
  • 47. XMLSchema • WC3 Standard for defining the structure and content of an XML document – An XML Schema is an XML document • Used for validation purposes – Parsers like Oracle XDK, XERCES or Microsoft’s MSXML – XML Editors like XMetal,. Oxygene or Microsoft Word 2K7 • Created using tools like Altova’s XML Spy or Oracle’s JDeveloper 50
  • 48. XML Schema and Binary XML DBMS_XMLSCHEMA.registerSchema ( SCHEMAURL => 'http://www.example.com/xsd/purchaseOrder.xsd', SCHEMADOC => xmlType(bfilename(‘XMLDIR’,’po.xsd’), nls_charset_id(‘AL32UTF8’)), GENTYPES => FALSE, GENTABLES => FALSE, OPTIONS => DBMS_XMLSCHEMA.REGISTER_BINARYXML ) • Increased storage efficiency for Binary XML – Simple types mapped to native formats – Pre-generated token tables • Improves streaming XPath and XML Index operations – Leverages cardinality and location information • Schema validation part of Binary XML encoding process 51
  • 49. XML Schema and Object-Relational Storage DBMS_XMLSCHEMA.registerSchema ( SCHEMAURL => 'http://www.example.com/xsd/purchaseOrder.xsd', SCHEMADOC => xmlType(bfilename(‘XMLDIR’,’po.xsd’), nls_charset_id(‘AL32UTF8’)), GENTYPES => TRUE, GENTABLES => TRUE ) • XML Schema defines an XML object Model, • XML Schema compilation • SQL object model generated from the XML object model • Object-relational tables created to provide efficient storage for SQL objects. • Object Relational storage enables • Lossless, bi-directional mapping between XML object model and SQL object model • XQuery execution via re-write into SQL operations on the underlying tables 52
  • 50. Object Relational Persistence • Suitable for highly structured XML use-cases • XML collection hierarchy persisted as master/ details relationships using nested tables • Simple recursive structures handled automatically using out- of-line tables • Near-relational performance for – Leaf level access and update – Collection manipulation (insert,delete) • Indexing via B-Tree and Bitmap indexes • Significant reductions in storage Vs serialized form • Some overhead incurred for document-level storage and retrieval operations 53
  • 51. Managing XML Schema Changes • Schema Extension – XML DB supports the use of extension schemas with both Binary XML and Object-Relational Storage • In-Place evolution – Simple changes that do not invalidate existing documents – XML Schema update takes a few seconds regardless of amount of data. • Copy-based evolution – Supports arbitrary changes to the XML Schema – Documents need to be transformed into format compliant with the updated XML Schema – Time taken proportional to volume of data 54
  • 52. Oracle XML DB XML DB Repository 55
  • 53. Oracle XML DB Repository • Organize and access content as files in folders rather than rows in tables • Manages XML and non-XML content • Native support for HTTP, FTP and WebDAV protocols – Content accessible using standard desktop Tools • Enables document centric development paradigm – Path based access to content – Queries based on location • Hierarchical Index – Patented, high performance folder-traversal operations and queries 56
  • 54. Oracle XML DB Database Native Web Services 60
  • 55. Database-native Web Services • ‘Zero-Development’, ‘Zero-Deployment’ solution for publishing PL/SQL packages. – Any package method, function or procedure can be accessed as a SOAP end-point • Leverages the Oracle XML DB HTTP Server – No additional infrastructure required • Automatic generation of WSDL – URL to Package, Function or Procedure mapping scheme • Uses XML DB infrastructure for processing request and generating response • Includes ‘SQL Query’ and ‘XQuery’ Services 61
  • 57. Advanced XML Capabilities XML Application Document ad data JDBC Centric Access Files XMLType .NET XDK XML Native XQuery Folders Schema OCI Engine SOAP ACLS XQuery XML and Full-Text indexing HTTP Versioning SQL/XML Native storage for FTP schema-based and Metadata schema-less XML XSLT WebDav Document XML views of or Message Events relational Content DOM 63 63
  • 58. Simplified Development select empx.* from dept_xml dx, • Less code to write xmltable( XMLNamespaces • Less code to maintain ('http://www.oracle.com/dept.xsd' as "d"), • Easier to learn './d:Department/d:Employee‘ passing value(dx) • Lower Cost without losing flexibility columns ename varchar2(4000) path 'd:EmpName', Job varchar2(4000) path 'd:Job', Salary number(38) path 'd:Salary', HireDate date path 'd:HireDate' ) empx; 64
  • 59. XML DB value propositions • Fast and easy native XML application development • Hybrid database – SQL centric access to XML content – XML centric access to relational content • Multiple XML storage options allow tuning for optimal application performance – Application code is totally independent of storage model – Optimized storage and indexing for structured and unstructured XML • XML DB repository enables document centric integrity and security models 65
  • 60. XML DB Customers ETL and Publishing Structured XML Semi-Structured Document Centric Persistance XML Persistance XML 66
  • 61. 67
  • 62. For More Information search.oracle.com or oracle.com 68
  • 63. 69