SlideShare a Scribd company logo
1 of 47
Oracle XML Database Oracle Database 11g Release 2 New Features Marco Gralike – AMIS – OOW 2009
Started as DBA with Oracle 7 on Windows NT 3.1 (1994) Experienced with Oracle 7.x / 8.x / 9.x / 10.x and 11.1 Oracle 11g Beta tester for Oracle XMLDB Active Oracle OTN XMLDB Forum Member Oracle ACE Award for XMLDB Community Contributions OakTable Network member Who Am I
Other Improvements XDB Repository DBMS_METADATA RAC Support Structured XMLIndex aka: XMLIndex Structured Component Object Relational Partitioning (V 11.1.0.7.0) Equi-Partitioning by Reference Binary XML Partitioning Range, List, Hash New Features
extract, extractValue, existsNode XQuery XMLSequence XQuery ora:instanceof XQuery ora:instanceof-only 					  XQuery getNamespace()	 				 	  XQuery getRootElement() 					  XQuery getStringVal(), getCLOBVal(), and getBLOBVal() 								     XMLSerialize Function-based indexes on XMLType                                                          Structured XMLIndex Deprecated Features…
“Small Fry” First
XDB Repository Speed Improvement  Now Securefile based were possible DBMS_METADATA Now supports Object Relational XMLType Structures DBMS_METADATA.GET_DDL RAC Protocol Server Support Other Improvements
Bigger Fish
XML Data Structure Structured XML Semi- Structured Unstructured XML Searching / Handling XML Content Document Driven Content / Data Driven Before we start  Some definitions…
Structured / Semi – Structured Content Structured Semi Structured
Unstructured Content
Document  <>  Data Driven
11gR1  XMLIndex Unstructured Component
XML Index Options BTree Index BTree Index BTree Index bookstore Oracle Text Index Secondary Oracle Text Index Function based Index (XPath) book whitepaper Unstructured XMLIndex title author author chapter title author id paragraph content content
XMLIndex Usage Binary XML (Schema based) Binary XML, CLOB (Schema less, Schema based) XMLIndex Structured Component XMLIndex Structured Component
Simple: Unstructured XMLIndex SQL> 	CREATEINDEXxmlindex_idx 		ON  “XMLTYPE_COLUMN"(xdata)  INDEXTYPEISXDB.XMLINDEX; Index created. SQL> 	CREATEINDEXxmlindex_idx 		ON  “XMLTYPE_TABLE"(object_value)  INDEXTYPEISXDB.XMLINDEX; Index created.
XMLIndex Unstructured Component ,[object Object]
Path Table
Use Path Subsetting
Full Blown XMLIndex can be BIG
Token Tables (XDB.X$......)
Query re-write on Tokens
Fuzzy Searches, //
Optimizer Statistics
Can be maintained Manually
Recorded inPending Table
Secondairy indexes possibleUnstructured XMLIndex f (x) Path Table
PATH TABLE PATH TABLE PATH INDEX ,[object Object],ORDER INDEX ,[object Object],VALUE INDEX ,[object Object]
FUNCTION BASEDSECONDAIRY INDEXES Unstructured XMLIndex f (x) Path Table
Unstructured XMLIndex CREATEINDEXXMLIDX  ON 		   XMLBINARY_TAB (object_value)  INDEXTYPEISXDB.XMLIndex PARAMETERS 	('PATHS (INCLUDE (/ROOT/ID /ROOT/INFO/INFO_ID )  NAMESPACEMAPPING(xmlns="http://localhost/xmlschema_bin.xsd") )  PATH TABLE 	            path_table(TABLESPACE XML_DATA) PATH ID INDEX          pathid_idx        (TABLESPACE XML_INDX) ORDER KEY INDEX   orderkey_idx    (TABLESPACE XML_INDX) VALUE INDEX           value_idx          (TABLESPACE XML_INDX) ASYNC (SYNC ALWAYS) STALE (FALSE) ')  PARALLEL LOGGING;
11gR2 XMLIndexStructured Component
With highly Structured XML data Likely candidates: ComplexTypes Structured Islands of Data Can be nested, but only one level They deliver Relational Performance…! Usage
Index Options – 11g Release 2 BTree Index BTree Index BTree Index bookstore Secondary Oracle Text Index Function based Index (XPath) book whitepaper Structured XMLIndex Un-structured XMLIndex title author author chapter title author id paragraph content content Highly Structured Islands of Data
Simpe: Structured XMLIndex SQL> CREATE INDEX xmlindex_sxi            on xmldata_table (doc)  indextype is xdb.xmlindex            parameters                ('GROUP elementinfo_group                 XMLTABLE xml_cnt_tab_elementinfo                 ' '/root/element' '                  COLUMNS  infocol VARCHAR2(4000) PATH ' 'info' '               ');  Be aware ' '
XMLIndex Structured Component “Structured XMLIndex” Content Table(s) BasedonXMLTABLE syntax XMLTable construct canbenestedbut: Only ONE XMLType column allowed VIRTUAL column is passed CanbemaintainedManually Secondairyindexespossible Structured XMLIndex f (x) Content Tables
Structured XMLIndex (Partitioned) SQL> CREATE INDEX xmlindex_sxi            on xmldata_table (doc)  indextype is xdb.xmlindex LOCAL            parameters                ('GROUP elementinfo_group                 XMLTABLE xml_cnt_tab_elementinfo                 ' '/root/element' '                  COLUMNS  infocol VARCHAR2(4000) PATH ' 'info' '               ');  LOCAL
CONTENT TABLE(s) CONTENT TABLE(s) KEY INDEX ,[object Object]
Unique BTREE Index
PrimaryKeyRID INDEX ,[object Object]
NON Unique BTREE IndexYour Columns ,[object Object],RID rowid YOUR columns X Key RAW Not null RID rowid Key RAW Not null YOUR columns X YOUR columns X RID rowid Key RAW Not null
Adding Structured Indexes SQL> ALTER INDEX xmlindex_sxi parameters 		('ADD_GROUP 		GROUP new_group 		XMLTABLE xml_cnt_tab_added 		 ' '/root/extra' '                  COLUMNS  extracol VARCHAR2(4000) PATH ' 'new_element' '  ');
Combining XML Index Options Unstructured XMLIndex bookstore Secondary Index book Structured XMLIndex whitepaper Structured XMLIndex title author author paragraph title author id chapter content content
Mixed XMLIndex structures CREATE INDEX xmlindex on TEST_RANGE_XML (doc)  indextype is xdb.xmlindex 	PARAMETERS  	(' PATH TABLE path_table PATHS (EXCLUDE(/root)) ');  BEGIN  DBMS_XMLINDEX.registerParameter 	('StructuredXML',  'ADD_GROUP     	GROUP ElementInfo 	XMLTABLE xml_content_table_info ' '/root/ElementInfo' '  	COLUMNS  ValueInfo VARCHAR2(4000) PATH ' 'ValueInfo' ');  END; / ALTER INDEX xmlindex PARAMETERS('PARAM StructuredXML');
XMLIndex Maintenance ALTER INDEX XMLIndex Parameter Changes DBMS_XMLINDEX.DROPPARAMETER DBMS_XMLINDEX.MODIFYPARAMETER DBMS_XMLINDEX.REGISTERPARAMETER Manual Synchronizing an XMLIndex DBMS_XMLINDEX.SYNCINDEX  DBMS_XMLINDEX.SYNCINDEX(user, ‘TAB', REINDEX=>TRUE);
Oracle11g Release 2 XML Partitioning
New XML Partitioning Options Object Relational Partitioning Equi-Partitioning since version Oracle 11.1.0.7.0 Binary XML Partitioning Range List Hash Local partitioned XMLIndex LOCAL keyword in XMLIndex create syntax XMLIndex is not supported for HASH partitioning
XML Partitioning – Object RelationalStorage Generatevia DBMS_XMLSCHEMA XML Schema Based XDB Annotations xdb:defaultTable xdb:tableProps JDeveloper orXMLSpy ManualCreation DBMS_METADATA.GET_DDL EVENT setting  [alter session set events='31098 trace name context forever'; ] For Data centric XML Data  +  XML Schema
An Example (V9.2-10.2) <xs:schema version="1.0"    xmlns:xs="http://www.w3.org/2001/XMLSchema"     xmlns:xdb="http://xmlns.oracle.com/xdb">  <xs:element name="TestElement" type="TestElementType"       xdb:defaultTable="TESTELEMENT"       xdb:tableProps="PARTITION BY RANGE (XMLDATA.IDENTIFIER)         (PARTITION P01 VALUES LESS THAN (10) TABLESPACE users,          PARTITION P02 VALUES LESS THAN (20) TABLESPACE users,          PARTITION P03 VALUES LESS THAN (MAXVALUE) TABLESPACE users)"/>  <xs:complexType name="TestElementType">    <xs:sequence>      <xs:element name="Identifier" type="xs:int"                   xdb:SQLName="IDENTIFIER"/>      <xs:element name="Person" type="xs:string"/>      <xs:element name="Street" type="xs:string"/>      <xs:element name="City" type="xs:string"/>      <xs:element name="State" type="xs:string"/>      <xs:element name="Zipcode" type="xs:string"/>    </xs:sequence>   </xs:complexType></xs:schema>

More Related Content

What's hot

OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2Marco Gralike
 
BGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesBGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesMarco Gralike
 
Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Marco Gralike
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataMarco Gralike
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLMarco Gralike
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataMarco Gralike
 
XFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereXFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereMarco Gralike
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performMarco Gralike
 
UKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseUKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseMarco Gralike
 
XML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBXML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBMarco Gralike
 
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...InSync2011
 
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
 
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
 
Oracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseOracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseMarco Gralike
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle DatenbankUlrike Schwinn
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Scott Leberknight
 
Jdbc 4.0 New Features And Enhancements
Jdbc 4.0 New Features And EnhancementsJdbc 4.0 New Features And Enhancements
Jdbc 4.0 New Features And Enhancementsscacharya
 
Ch23 xml processing_with_java
Ch23 xml processing_with_javaCh23 xml processing_with_java
Ch23 xml processing_with_javaardnetij
 

What's hot (20)

OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
OPP2010 (Brussels) - Programming with XML in PL/SQL - Part 2
 
BGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index StrategiesBGOUG 2012 - XML Index Strategies
BGOUG 2012 - XML Index Strategies
 
Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2Starting with JSON Path Expressions in Oracle 12.1.0.2
Starting with JSON Path Expressions in Oracle 12.1.0.2
 
Hotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured DataHotsos 2013 - Creating Structure in Unstructured Data
Hotsos 2013 - Creating Structure in Unstructured Data
 
ODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XMLODTUG Webcast - Thinking Clearly about XML
ODTUG Webcast - Thinking Clearly about XML
 
XML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured dataXML Amsterdam - Creating structure in unstructured data
XML Amsterdam - Creating structure in unstructured data
 
XFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in thereXFILES, The APEX 4 version - The truth is in there
XFILES, The APEX 4 version - The truth is in there
 
BGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will performBGOUG 2012 - Design concepts for xml applications that will perform
BGOUG 2012 - Design concepts for xml applications that will perform
 
UKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the DatabaseUKOUG Tech14 - Getting Started With JSON in the Database
UKOUG Tech14 - Getting Started With JSON in the Database
 
XML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDBXML In The Real World - Use Cases For Oracle XMLDB
XML In The Real World - Use Cases For Oracle XMLDB
 
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
Developer & Fusion Middleware 1 | Mark Drake | An introduction to Oracle XML ...
 
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...
 
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...
 
Oracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory DatabaseOracle Database - JSON and the In-Memory Database
Oracle Database - JSON and the In-Memory Database
 
JSON in der Oracle Datenbank
JSON in der Oracle DatenbankJSON in der Oracle Datenbank
JSON in der Oracle Datenbank
 
Xml parsers
Xml parsersXml parsers
Xml parsers
 
Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0Cloudera Impala, updated for v1.0
Cloudera Impala, updated for v1.0
 
Jdbc 4.0 New Features And Enhancements
Jdbc 4.0 New Features And EnhancementsJdbc 4.0 New Features And Enhancements
Jdbc 4.0 New Features And Enhancements
 
Parsing XML Data
Parsing XML DataParsing XML Data
Parsing XML Data
 
Ch23 xml processing_with_java
Ch23 xml processing_with_javaCh23 xml processing_with_java
Ch23 xml processing_with_java
 

Similar to Oracle Database 11g Release 2 - XMLDB New Features

XML Tools for Perl
XML Tools for PerlXML Tools for Perl
XML Tools for PerlGeir Aalberg
 
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeBoost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeMarco Gralike
 
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
 
AWS Hadoop and PIG and overview
AWS Hadoop and PIG and overviewAWS Hadoop and PIG and overview
AWS Hadoop and PIG and overviewDan Morrill
 
Import web resources using R Studio
Import web resources using R StudioImport web resources using R Studio
Import web resources using R StudioRupak Roy
 
NyaruDBにゃるものを使ってみた話 (+Realm比較)
NyaruDBにゃるものを使ってみた話 (+Realm比較)NyaruDBにゃるものを使ってみた話 (+Realm比較)
NyaruDBにゃるものを使ってみた話 (+Realm比較)Masaki Oshikawa
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS ApplicationsKeshav Murthy
 
eXtensible Markup Language (XML)
eXtensible Markup Language (XML)eXtensible Markup Language (XML)
eXtensible Markup Language (XML)Serhii Kartashov
 
What's New for Developers in SQL Server 2008?
What's New for Developers in SQL Server 2008?What's New for Developers in SQL Server 2008?
What's New for Developers in SQL Server 2008?ukdpe
 
SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 OverviewEric Nelson
 
Xml Java
Xml JavaXml Java
Xml Javacbee48
 
Using Ruby on Rails with legacy Oracle databases
Using Ruby on Rails with legacy Oracle databasesUsing Ruby on Rails with legacy Oracle databases
Using Ruby on Rails with legacy Oracle databasesRaimonds Simanovskis
 
Hadoop Integration in Cassandra
Hadoop Integration in CassandraHadoop Integration in Cassandra
Hadoop Integration in CassandraJairam Chandar
 
Spark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark MeetupSpark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark MeetupDatabricks
 
advDBMS_XML.pptx
advDBMS_XML.pptxadvDBMS_XML.pptx
advDBMS_XML.pptxIreneGetzi
 
No SQL, No problem - using MongoDB in Ruby
No SQL, No problem - using MongoDB in RubyNo SQL, No problem - using MongoDB in Ruby
No SQL, No problem - using MongoDB in Rubysbeam
 

Similar to Oracle Database 11g Release 2 - XMLDB New Features (20)

XML Tools for Perl
XML Tools for PerlXML Tools for Perl
XML Tools for Perl
 
Ch23
Ch23Ch23
Ch23
 
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco GralikeBoost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
Boost Your Environment With XMLDB - UKOUG 2008 - Marco Gralike
 
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
 
AWS Hadoop and PIG and overview
AWS Hadoop and PIG and overviewAWS Hadoop and PIG and overview
AWS Hadoop and PIG and overview
 
Import web resources using R Studio
Import web resources using R StudioImport web resources using R Studio
Import web resources using R Studio
 
JAXP
JAXPJAXP
JAXP
 
NyaruDBにゃるものを使ってみた話 (+Realm比較)
NyaruDBにゃるものを使ってみた話 (+Realm比較)NyaruDBにゃるものを使ってみた話 (+Realm比較)
NyaruDBにゃるものを使ってみた話 (+Realm比較)
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
 
eXtensible Markup Language (XML)
eXtensible Markup Language (XML)eXtensible Markup Language (XML)
eXtensible Markup Language (XML)
 
What's New for Developers in SQL Server 2008?
What's New for Developers in SQL Server 2008?What's New for Developers in SQL Server 2008?
What's New for Developers in SQL Server 2008?
 
SQL Server 2008 Overview
SQL Server 2008 OverviewSQL Server 2008 Overview
SQL Server 2008 Overview
 
Xml
XmlXml
Xml
 
Xml Java
Xml JavaXml Java
Xml Java
 
DB2 Native XML
DB2 Native XMLDB2 Native XML
DB2 Native XML
 
Using Ruby on Rails with legacy Oracle databases
Using Ruby on Rails with legacy Oracle databasesUsing Ruby on Rails with legacy Oracle databases
Using Ruby on Rails with legacy Oracle databases
 
Hadoop Integration in Cassandra
Hadoop Integration in CassandraHadoop Integration in Cassandra
Hadoop Integration in Cassandra
 
Spark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark MeetupSpark SQL Deep Dive @ Melbourne Spark Meetup
Spark SQL Deep Dive @ Melbourne Spark Meetup
 
advDBMS_XML.pptx
advDBMS_XML.pptxadvDBMS_XML.pptx
advDBMS_XML.pptx
 
No SQL, No problem - using MongoDB in Ruby
No SQL, No problem - using MongoDB in RubyNo SQL, No problem - using MongoDB in Ruby
No SQL, No problem - using MongoDB in Ruby
 

More from Marco Gralike

UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxMarco Gralike
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudMarco Gralike
 
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseeProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseMarco Gralike
 
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIUKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIMarco Gralike
 
Ordina Oracle Open World
Ordina Oracle Open WorldOrdina Oracle Open World
Ordina Oracle Open WorldMarco 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
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3Marco Gralike
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)Marco Gralike
 
Flexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenFlexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenMarco Gralike
 
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
 
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
 

More from Marco Gralike (12)

UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptxUKOUG2018 - I Know what you did Last Summer [in my Database].pptx
UKOUG2018 - I Know what you did Last Summer [in my Database].pptx
 
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management CloudeProseed Oracle Open World 2016 debrief - Oracle Management Cloud
eProseed Oracle Open World 2016 debrief - Oracle Management Cloud
 
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 DatabaseeProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
eProseed Oracle Open World 2016 debrief - Oracle 12.2.0.1 Database
 
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database APIUKOUG Tech15 - Going Full Circle - Building a native JSON Database API
UKOUG Tech15 - Going Full Circle - Building a native JSON Database API
 
Ordina Oracle Open World
Ordina Oracle Open WorldOrdina Oracle Open World
Ordina Oracle Open World
 
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
 
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
An introduction into Oracle Enterprise Manager Cloud Control 12c Release 3
 
An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)An AMIS Overview of Oracle database 12c (12.1)
An AMIS Overview of Oracle database 12c (12.1)
 
Flexibiliteit & Snel Schakelen
Flexibiliteit & Snel SchakelenFlexibiliteit & Snel Schakelen
Flexibiliteit & Snel Schakelen
 
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
 
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
 
Amis ACE
Amis ACEAmis ACE
Amis ACE
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.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
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
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
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 

Oracle Database 11g Release 2 - XMLDB New Features

  • 1. Oracle XML Database Oracle Database 11g Release 2 New Features Marco Gralike – AMIS – OOW 2009
  • 2. Started as DBA with Oracle 7 on Windows NT 3.1 (1994) Experienced with Oracle 7.x / 8.x / 9.x / 10.x and 11.1 Oracle 11g Beta tester for Oracle XMLDB Active Oracle OTN XMLDB Forum Member Oracle ACE Award for XMLDB Community Contributions OakTable Network member Who Am I
  • 3. Other Improvements XDB Repository DBMS_METADATA RAC Support Structured XMLIndex aka: XMLIndex Structured Component Object Relational Partitioning (V 11.1.0.7.0) Equi-Partitioning by Reference Binary XML Partitioning Range, List, Hash New Features
  • 4. extract, extractValue, existsNode XQuery XMLSequence XQuery ora:instanceof XQuery ora:instanceof-only  XQuery getNamespace()  XQuery getRootElement()  XQuery getStringVal(), getCLOBVal(), and getBLOBVal()  XMLSerialize Function-based indexes on XMLType  Structured XMLIndex Deprecated Features…
  • 6. XDB Repository Speed Improvement Now Securefile based were possible DBMS_METADATA Now supports Object Relational XMLType Structures DBMS_METADATA.GET_DDL RAC Protocol Server Support Other Improvements
  • 8. XML Data Structure Structured XML Semi- Structured Unstructured XML Searching / Handling XML Content Document Driven Content / Data Driven Before we start  Some definitions…
  • 9. Structured / Semi – Structured Content Structured Semi Structured
  • 11. Document <> Data Driven
  • 12. 11gR1 XMLIndex Unstructured Component
  • 13. XML Index Options BTree Index BTree Index BTree Index bookstore Oracle Text Index Secondary Oracle Text Index Function based Index (XPath) book whitepaper Unstructured XMLIndex title author author chapter title author id paragraph content content
  • 14. XMLIndex Usage Binary XML (Schema based) Binary XML, CLOB (Schema less, Schema based) XMLIndex Structured Component XMLIndex Structured Component
  • 15. Simple: Unstructured XMLIndex SQL> CREATEINDEXxmlindex_idx ON “XMLTYPE_COLUMN"(xdata) INDEXTYPEISXDB.XMLINDEX; Index created. SQL> CREATEINDEXxmlindex_idx ON “XMLTYPE_TABLE"(object_value) INDEXTYPEISXDB.XMLINDEX; Index created.
  • 16.
  • 19. Full Blown XMLIndex can be BIG
  • 24. Can be maintained Manually
  • 26. Secondairy indexes possibleUnstructured XMLIndex f (x) Path Table
  • 27.
  • 28. FUNCTION BASEDSECONDAIRY INDEXES Unstructured XMLIndex f (x) Path Table
  • 29. Unstructured XMLIndex CREATEINDEXXMLIDX ON XMLBINARY_TAB (object_value) INDEXTYPEISXDB.XMLIndex PARAMETERS ('PATHS (INCLUDE (/ROOT/ID /ROOT/INFO/INFO_ID ) NAMESPACEMAPPING(xmlns="http://localhost/xmlschema_bin.xsd") ) PATH TABLE path_table(TABLESPACE XML_DATA) PATH ID INDEX pathid_idx (TABLESPACE XML_INDX) ORDER KEY INDEX orderkey_idx (TABLESPACE XML_INDX) VALUE INDEX    value_idx   (TABLESPACE XML_INDX) ASYNC (SYNC ALWAYS) STALE (FALSE) ') PARALLEL LOGGING;
  • 31. With highly Structured XML data Likely candidates: ComplexTypes Structured Islands of Data Can be nested, but only one level They deliver Relational Performance…! Usage
  • 32. Index Options – 11g Release 2 BTree Index BTree Index BTree Index bookstore Secondary Oracle Text Index Function based Index (XPath) book whitepaper Structured XMLIndex Un-structured XMLIndex title author author chapter title author id paragraph content content Highly Structured Islands of Data
  • 33. Simpe: Structured XMLIndex SQL> CREATE INDEX xmlindex_sxi on xmldata_table (doc) indextype is xdb.xmlindex parameters ('GROUP elementinfo_group XMLTABLE xml_cnt_tab_elementinfo ' '/root/element' ' COLUMNS infocol VARCHAR2(4000) PATH ' 'info' ' '); Be aware ' '
  • 34. XMLIndex Structured Component “Structured XMLIndex” Content Table(s) BasedonXMLTABLE syntax XMLTable construct canbenestedbut: Only ONE XMLType column allowed VIRTUAL column is passed CanbemaintainedManually Secondairyindexespossible Structured XMLIndex f (x) Content Tables
  • 35. Structured XMLIndex (Partitioned) SQL> CREATE INDEX xmlindex_sxi on xmldata_table (doc) indextype is xdb.xmlindex LOCAL parameters ('GROUP elementinfo_group XMLTABLE xml_cnt_tab_elementinfo ' '/root/element' ' COLUMNS infocol VARCHAR2(4000) PATH ' 'info' ' '); LOCAL
  • 36.
  • 38.
  • 39.
  • 40. Adding Structured Indexes SQL> ALTER INDEX xmlindex_sxi parameters ('ADD_GROUP GROUP new_group XMLTABLE xml_cnt_tab_added ' '/root/extra' ' COLUMNS extracol VARCHAR2(4000) PATH ' 'new_element' ' ');
  • 41. Combining XML Index Options Unstructured XMLIndex bookstore Secondary Index book Structured XMLIndex whitepaper Structured XMLIndex title author author paragraph title author id chapter content content
  • 42. Mixed XMLIndex structures CREATE INDEX xmlindex on TEST_RANGE_XML (doc) indextype is xdb.xmlindex PARAMETERS (' PATH TABLE path_table PATHS (EXCLUDE(/root)) '); BEGIN DBMS_XMLINDEX.registerParameter ('StructuredXML', 'ADD_GROUP GROUP ElementInfo XMLTABLE xml_content_table_info ' '/root/ElementInfo' ' COLUMNS ValueInfo VARCHAR2(4000) PATH ' 'ValueInfo' '); END; / ALTER INDEX xmlindex PARAMETERS('PARAM StructuredXML');
  • 43. XMLIndex Maintenance ALTER INDEX XMLIndex Parameter Changes DBMS_XMLINDEX.DROPPARAMETER DBMS_XMLINDEX.MODIFYPARAMETER DBMS_XMLINDEX.REGISTERPARAMETER Manual Synchronizing an XMLIndex DBMS_XMLINDEX.SYNCINDEX DBMS_XMLINDEX.SYNCINDEX(user, ‘TAB', REINDEX=>TRUE);
  • 44. Oracle11g Release 2 XML Partitioning
  • 45. New XML Partitioning Options Object Relational Partitioning Equi-Partitioning since version Oracle 11.1.0.7.0 Binary XML Partitioning Range List Hash Local partitioned XMLIndex LOCAL keyword in XMLIndex create syntax XMLIndex is not supported for HASH partitioning
  • 46. XML Partitioning – Object RelationalStorage Generatevia DBMS_XMLSCHEMA XML Schema Based XDB Annotations xdb:defaultTable xdb:tableProps JDeveloper orXMLSpy ManualCreation DBMS_METADATA.GET_DDL EVENT setting [alter session set events='31098 trace name context forever'; ] For Data centric XML Data + XML Schema
  • 47. An Example (V9.2-10.2) <xs:schema version="1.0"    xmlns:xs="http://www.w3.org/2001/XMLSchema"     xmlns:xdb="http://xmlns.oracle.com/xdb">  <xs:element name="TestElement" type="TestElementType"       xdb:defaultTable="TESTELEMENT"       xdb:tableProps="PARTITION BY RANGE (XMLDATA.IDENTIFIER)         (PARTITION P01 VALUES LESS THAN (10) TABLESPACE users,          PARTITION P02 VALUES LESS THAN (20) TABLESPACE users,          PARTITION P03 VALUES LESS THAN (MAXVALUE) TABLESPACE users)"/>  <xs:complexType name="TestElementType">    <xs:sequence>      <xs:element name="Identifier" type="xs:int"                   xdb:SQLName="IDENTIFIER"/>      <xs:element name="Person" type="xs:string"/>      <xs:element name="Street" type="xs:string"/>      <xs:element name="City" type="xs:string"/>      <xs:element name="State" type="xs:string"/>      <xs:element name="Zipcode" type="xs:string"/>    </xs:sequence>   </xs:complexType></xs:schema>
  • 49. Equi Partitioning of Table PART_DEMO EMPLOYEES_PROJ_TAB PROJ_DETAILS_TAB EMP_PROJ_P11 “employees”.”employee” reference_id EMP_PROJ_P12
  • 50. XML Partitioning – Binary XML Storage ManualCreation Partition Options: Range – List – Hash XML Schema basedor Schema less XML Partitioningbasedon Column Virtual Column XMLTABLEsyntax BasicfileorSecurefileStorage Post-parseRepresentation of XML Data For Document centric XML Data +/- XML Schema
  • 51. Binary XML – RANGE Partitioning SQL> CREATE TABLE TEST_RANGE_XML 2 ( "ID" NUMBER(15,0), 3 "DOC" "SYS"."XMLTYPE" 4 ) SEGMENT CREATION IMMEDIATE 5 NOCOMPRESS NOLOGGING 6 TABLESPACE "XML_DATA" 7 XMLTYPE COLUMN "DOC" STORE AS SECUREFILE BINARY XML 8 (TABLESPACE "XML_DATA" 9 NOCOMPRESS KEEP_DUPLICATES) 10 XMLSCHEMA "http://www.server.com/XMLSchema_V1.0.xsd" 11 ELEMENT "ROOT" 12 DISALLOW NONSCHEMA 13 PARTITION BY RANGE("ID") 14 (PARTITION RANGE_PART_01 VALUES LESS THAN (100) TABLESPACE "XML_DATA" 15 ,PARTITION RANGE_PART_02 VALUES LESS THAN (200) TABLESPACE "XML_DATA") 16 ,PARTITION RANGE_PART_MAX VALUES LESS THAN (MAXVALUE));
  • 52. Binary XML – LIST Partitioning SQL> CREATE TABLE TEST_LIST_XML 2 ( "REGION" VARCHAR2(3), 3 "DOC" "SYS"."XMLTYPE" 4 ) SEGMENT CREATION IMMEDIATE 5 NOCOMPRESS NOLOGGING 6 TABLESPACE "XML_DATA" 7 XMLTYPE COLUMN "DOC" STORE AS SECUREFILE BINARY XML 8 (TABLESPACE "XML_DATA" 9 NOCOMPRESS KEEP_DUPLICATES) 10 XMLSCHEMA "http://www.server.com/XMLSchema_V1.0.xsd" 11 ELEMENT "ROOT" 12 DISALLOW NONSCHEMA 13 PARTITION BY LIST("REGION") 14 (PARTITION LIST_PART_01 VALUES ('AAA', 'BBB') 15 ,PARTITION LIST_PART_02 VALUES ('CCC', 'DDD'));
  • 53. Binary XML – HASH Partitioning XMLIndex is not allowed SQL> CREATE TABLE TEST_HASH_XML 2 ( "ID" NUMBER(15,0), 3 "DOC" "SYS"."XMLTYPE" 4 ) SEGMENT CREATION IMMEDIATE 5 NOCOMPRESS NOLOGGING 6 TABLESPACE "XML_DATA" 7 XMLTYPE COLUMN "DOC" STORE AS SECUREFILE BINARY XML 8 (TABLESPACE "XML_DATA" 9 NOCOMPRESS KEEP_DUPLICATES) 10 XMLSCHEMA "http://www.server.com/XMLSchema_V1.0.xsd" 11 ELEMENT "ROOT" 12 DISALLOW NONSCHEMA 13 PARTITION BY HASH("ID") 14 (PARTITION "HASH_SECTION_01" TABLESPACE "XML_DATA_01" 15 ,PARTITION "HASH_SECTION_02" TABLESPACE "XML_DATA_02" 16 ,PARTITION "HASH_SECTION_03" TABLESPACE “XML_DATA_03" ); but an Oracle Text Index is
  • 54. Notes XMLIndex and XML Partition
  • 55. Notes To Remember… Only ONE XMLIndex is allowed in a user schema Add extra XMLIndex structures (structured or unstructured) via ADD_GROUP syntax Only SYNC=ALWAYS is allowed while using mixed XMLIndex structures or add more than one You need the LOCAL parameter to create local partitioned XMLIndexes An XMLIndex on a HASH partitioned XMLType column or XMLType table, isnot allowed But you can create an Oracle Text Index on such structures
  • 56. There Can Be Only One XMLIndex
  • 57. Recap
  • 58. Maintenance, Storage Improvements XML Partitioning Binary XML & Object Relational XMLType DBMS_METADATA Object Relational Support Performance Improvements New XMLIndex Option More Flexibility Securefile XDB Repository Enhancements / New XMLDB Features in 11gR2
  • 59. Oracle Open World 2009 - XMLDB Sessions
  • 60. References XMLDB DevelopersGuide http://www.oracle.com/pls/db112/homepage The XMLDB Forum http://forums.oracle.com/forums/forum.jspa?forumID=34 XML DB FAQ Thread http://forums.oracle.com/forums/thread.jspa?threadID=410714 Blog http://technology.amis.nl/blog http://blog.gralike.com
  • 61.
  • 62.
  • 63. Security Principals Database Users and Roles LDAP Users and Groups Oracle Fusion Users and Roles = (Your) Application Users and Roles Security Classes A security class is a named set of privileges. It includes privileges that it inherits from other security classes, and it can include privileges that it defines. Extra Fine Grained Security possible Security Improvements