Posts tagged Oracle 11gR2

Oracle Open World XMLDB Sessions and Presentations

Its time to enlist. It really is. At least regarding the XMLDB related sessions and presentations during Oracle Open World 2009. As far as I have seen today, the hands-on workshop has almost no seats left and more than half already enlisted for my XMLDB New Features and XMLDB Performance related presentation.

Oracle Open World doesn’t have much XMLDB related sessions, until now from the 1800+ sessions, I only counted a dozen or so. If you want to have a peak of the ones I found, have a look at the following Oracle OTN XMLDB Forum thread.

I enlisted for most, as long as they didn’t interfere with my presentation schedule, if not only that I am very anxious about Mark Drake’s presentations about Google API mashups etc combined with the XMLDB functionality in the database and the, probably extended version of how to build an APEX content management system based on the versioning and filler capabilities of the XMLDB Repository. During OOW 2008, Carl Backstrom, helped and co-presented this APEX / XMLDB joined venture and, alas, this demo app. of the XFILES light weight XMLDB CMS based on APEX, never had (at least yet AFAIK) the chance to be a hit on the apex.oracle.com demogrounds or the OTN XMLDB main page after the source code had been cleaned-up.

For those who might enjoy photos from that presentation with Mark and Carl during Oracle Open World 2008:

Read the rest of this entry »

Oracle Database 11g Release 2: Flash Cache and Exadata V2

So, if I would wonder what is the purpose of this almost "hidden" feature called flash cache and were this came from (also see my post Oracle RDBMS 11gR2 – Flash Cache), now I know. I didn’t have the chance to follow Mr. Ellison’s launch event, but reading Alex Gorbatchev’s blog post on the Pythian web site Unveiling the OLTP Oracle Database Machine & Exadata v2 is enough explanation in the "why" and "how". Flash cache is one of the pillars that make the synergy with the Sun Exadata machine.

As Alex stated:

Exadata Storage Servers

Storage Servers are based on Sun Fire X4275. Again top of the shelf Intel Xeon 5500 Nehalem processors.

Capacity increased — SAS disks are 600 GB (+33%) and SATA disks are 2 TB which doubles what ODBM v1 offered. We all know that big disks are bad but that’s where Sun FlashWire technology comes into play with flash cache on the controllers (5+TB for the full ODBM).

This is what Ellison said about Flash cache:

“These are not Flash disks. Make no mistake — these are no Flash disks. This is a memory hierarchy made up of DRAM in our database servers and Flash in our storage servers with very sophisticated algorithms, not simple LRU — we know for doing a sequential scan, we don’t blow out the cache.”

I will be interested in what Larry has to say on his "traditional" Oracle Open World Thursday speech this year.  Exadata on Sun will probably be "old news" on that date/day. No need for hidden secrets to be announced via big "X" banners. The topic should be good for a 15 minutes or so to fill his speech and I still keep thinking, that on that day, Larry at least will pull one big "fresh rabbit" out of his magical hat.

In the meantime: "Wow, 5TB of flash cache to play with…"

Oracle RDBMS 11gR2 – XML Data Partitioning – Part 1

 

There is a Metalink note (563802.1) that has a very good example how XML data storage, partitioning can be achieved in Oracle version 9.2.0.3.0 (the first officially supported XMLDB database functionality) and onwards. Partitioning can be used in such XML situations to spread the I/O load and it also supports, if done correctly, the XMLDB functionality / Oracle database, to use query re-writes during XPath or XQuery statements. See for more information about Query Rewrite support the Oracle XMLDB Developers Guide.

The "new" equi-partitioning functionality, supported from 11.1.0.7.0, but now described in more detail in the 11gR2 XMLDB Developers Manual, also propagates / partitions all underlying structures. As described in the Metalink note: "In Oracle release 11g the partitioning model is equi-partitioning which means that the underlying storage tables are partitioned too along with the default table partitioning structure. In previous releases only the default table is partitioned, but the underlying storage tables for the types are not."

So explained in more detail, before 11.1.0.7.0 only the "xdb:defaultTable", in the following example table "TESTELEMENT", is partitioned by range. In Oracle 11.1.0.7.0 and onwards also all referred XML structures underneath this entry point are equally partitioned based on this defined range.

So following the Metalink note example:

Read the rest of this entry »

Oracle RDBMS 11gR2 – New PREPROCESSOR Syntax for External Table Use

One of the other small but very useful new features in the Oracle 11gR2 database is the addition of a PREPROCESSOR parameter for the create EXTERNAL table statement. This PREPROCESSOR clause gives you the ability to execute an executable or executable (shell) script that handles your data before it gets presented. The PREPOCESSOR clause is part of the ORACLE_LOADER access driver

The Oracle 11gR2 Database Utilities Manual states:

The preprocessor program converts the data to a record format supported by the access driver and then
writes the converted record data to standard output (stdout), which the access driver reads as input.

SQL> CREATE TABLE xtab (recno varchar2(2000))
     2    ORGANIZATION EXTERNAL (
     3    TYPE ORACLE_LOADER
     4    DEFAULT DIRECTORY data_dir
     5    ACCESS PARAMETERS (
     6    RECORDS DELIMITED BY NEWLINE
     7    PREPROCESSOR execdir:'zcat'
     8    FIELDS (recno char(2000)))
     9    LOCATION ('foo.dat.gz'))
    10    REJECT LIMIT UNLIMITED;

SQL> CREATE TABLE xtab (recno varchar2(2000))
     2    ORGANIZATION EXTERNAL (
     3    TYPE ORACLE_LOADER
     4    DEFAULT DIRECTORY data_dir
     5    ACCESS PARAMETERS (
     6    RECORDS DELIMITED BY NEWLINE
     7    PREPROCESSOR execdir:'uncompress.sh'
     8    FIELDS (recno char(2000)))
     9    LOCATION ('foo.dat.gz'))
    10    REJECT LIMIT UNLIMITED;

So as the example demonstrates, you can uncompress a zipped file to your "liking", manipulating the format before use.

Read the rest of this entry »