Archive for September, 2009
Oracle Open World XMLDB Sessions and Presentations
Sep 30th
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:
Oracle RDBMS 11gR2 – new style hierarchical querying using Recursive Subquery Factoring
Sep 29th
Oracle Database 11g Release 2 introduces the successor to the good old Connect By based hierarchical querying, called Recursive Subquery Factoring. The basics are described in a previous article: http://technology.amis.nl/blog/6104/oracle-rdbms-11gr2-goodbye-connect-by-or-the-end-of-hierarchical-querying-as-we-know-it. This article will show some additional examples of using this recursive subquery factoring syntax.
The essence of this recursiveness: the subquery consists of two queries unioned together. The first query returns the root-nodes, the starting points in the tree or network. The second query is used to continually retrieve the next step or level: it refers to the subquery itself and finds the next node level based on the levels (root and zero or more previously retrieved levels) already retrieved by the subquery.
In code:
Starting WebLogic managed servers without providing username and password manually – SOA Suite 11g tip
Sep 24th
After installing the Oracle SOA suite 11g, you will notice that you have to enter username and password for each managed server during startup and shutdown. This in contrary to the administration server where you don't need to enter username and password at startup. I was wondering if there was an easy way of skipping this manual step for the managed servers as well.
And yes, there is an easy and elegant way to prevent entering credentials every startup and shutdown. Just follow these steps:
1 Create a boot.properties file.
Create a plain text file called boot.properties with the following content:
username=scott
password=tiger
2 Place the boot.properties file in the security directory.
Save or copy this file in the security directory under the managed server root directory. This directory was not created at installation time, so I had to create it myself. The server root directory is located at <middleware_home>\user_projects\<domain>\<managed_server> i.e. D:\Middleware\user_projects\domains\base_domain\servers\bam_server1.
3 Start the managed server.
The server will read the credentials from the boot.properties file and in case of plain text username and password the server encrypt the username and password. Notice the following lines in the output:
<Sep 23, 2009 10:51:25 PM CEST> <Notice> <Security> <BEA-090082> <Security initializing using security realm myrealm.>
<Sep 23, 2009 10:51:25 PM CEST> <Notice> <Security> <BEA-090083> <Storing boot identity in the file: D:\Middleware\user_projects\domains\base_domain\servers\bam_server1\security\boot.properties>
The boot.properties file is still plain text with the username and password values encrypted. Do no copy the encrypted version between managed servers. Even when the credentials are the same, the resulting file is different.
For more information and alternatieve solutions see Creating Boot Identity Files for Managed Servers.
Introducing Oracle 11gR2 Edition Based Redefinition or: On Parallel Application Universes
Sep 24th
One of the most spectacular new facilities in Release 2 of the Oracle 11g Database is called Edition Based Redefinition – not a name perhaps that suggests any spectacle. EBR (Edition Based Redefinition) is a mechanism that allows on line application upgrade with no planned downtime. In short, the new release is built up in parallel to the existing one, in the same schema and using the same database objects; only the new (modified) objects live in another dimension and do not impact the existing objects. Once the entire set of new and changed objects has been created and recompiled, the database administrator can start routing new sessions to the new release; existing sessions can continue to run against the original set of objects – and new sessions if so desired can also run against the orginal set.
A set of object versions – mutually consistent and interdependent – which in software engineering terms would be duped a release or stripe and in Oracle Software Configuration Manager (Designer) terms a configuration is called an edition in 11gR2 lingo. An Edition is a combination of new objects, new versions of objects and inherited pre-existing versions that together make up a meaningful set that forms the state of the database for a longer or shorter period of time. Releases of applications will typically target a specific Edition in the database.
I had been invited to present on Edition Based Redefinition during yesterday’s launch event for Oracle 11gR2 in The Netherlands. Being the only non-Oracle staff speaker in the presence of (S)VPs was nice and my subject made it possible to tell one of the more interesting stories of the day – which was nice too. Below you will find the presentation I showed the audience yesterday. I will blog later on about the demo I showed – a simple SQL*Plus based demonstration of the multi-dimension world that EBR invites us into.
If you are interested to learn more –
What You Always Wanted to Know (but never dared to ask about…)
Sep 23rd
For "What you always wanted to know, but never dared to ask about Oracle 11g Release 2…", come and attend our technical session on 29th of September during the "AMIS Query – Technical Introduction of Oracle Database 11g Release 2".
As said on the (dutch) invite: :"We will be organizing on Tuesday the 29th of September an AMIS Query session were will be sharing our first experiences with the new release. Not so much in marketing terms but from the practical viewpoint and their advantages".
See here for more info and how to attend (for free): AMIS Query – Technical Introduction of Oracle Database 11g Release 2
UKOUG Conference Series Technology & E-Business Suite 2009
Sep 23rd
I got a small request from the UKOUG team if I could be so kind to do a little bit of advertising for the UKOUG conference. The first thing that popped into my "Of course, no problem". If you didn’t know, at least that my honest opinion, the UKOUG conference is the best big and diverse conference on this side of the big pond and probably a lot of bloggers can confirm this. This year the UKOUG conference is, as always (at least as I know it), held on the 30th November – 2nd December 2009, ICC, Birmingham.
Besides presenting their twice on cool XMLDB topics (
), you will be able to learn a lot of in-depth or newbie (the whole range is most of the time available to pick from) about: Performance, PL/SQL or SQL, Security, working solutions from day to day experienced peers, APEX, inner workings of the (Oracle) software, training courses / masterclasses. I won’t be able to fill in my presentation slot during UKOUG this year due to circumstance, but believe me that if you finally make it and are able to claim a presentation slot for the UKOUG conference, a lot of blood, sweat and rigorous judging of peers and the UKOUG board, have been spend to make it the best agenda possible.
In short. Have a look and see if you can make it this year: UKOUG Conference Series Technology & E-Business Suite 2009
HTH
Marco
SOA Suite 11g – Composite instance as WebService Result Cache using BPEL Correlation
Sep 17th
This article describes an architectural pattern, implemented in the Oracle SOA Suite 11g, that is somewhat similar to the Oracle Database 11g Function Result Cache. It introduces a SOA Composite Application in the role of Result Cache. In its most simple form, the result cache is initialized – loaded with values -, used by other SOA applications that need the cached values, refreshed/reset when required and terminated. Through this ‘result cache’ – frequently used and not-so-frequently changed values that are published by (possibly remote, expensive or slow-reacting) web services or adapter services can be made available to local consumers in a simple, cheap and fast manner. We achieve this using the fast native SCA binding used for invoking in-container services exposed by fellow composite applications (that’s for speed) and the BPEL correlation mechanism (that’s for finding the result cache in the first place).
What the actual value of this pattern and implementation are is not yet entirely clear to me. Your feedback is appreciated. What I do know is that this article is also a good demonstration of using correlation and of applying some of the XML manipulation techniques available in BPEL processes.
In a single picture, here is what I created: one or more Composite Instances are initialized; each instance is a cache, identified through its name. Upon initialization, the cache is loaded with values – supposedly important, frequently reused, hard-to-get-by values. Composite applications that are interested in these cached values can retrieve them from the cache, by calling the exposed service and passing the name of the cache (here is where correlation kicks in) and passing the name of the cache entry. The BPEL process looks for the entry and returns the value when found or null and an appropriate message when not found.

OPP is coming to Atlanta
Sep 16th
I have been invited to deliver two talks on performance at the OPP conference, November 10th and 11th in Atlanta. The topics I will address are Pipelined Table Functions and Optimizing SQL with Collections. I will be among some of the best experts in the PL/SQL world, including Steven Feuerstein, Bryn Llewellyn and many others. You can checkout the complete agenda to see what other subjects are covered.
At the same time, at the same location, the APEXposed conference will be held as well. Speakers at this conference will be Scott Spendolini, David Peake and also many others.
If you have a chance to join me there, be sure to do so. Early Bird registration ends September 30th. And the nice thing is: Sign up for one conference and you can attend session at either conference. So you get two conferences for the price of one.
As the website states: Join PL/SQL and Application Express experts Steven Feuerstein and Scott Spendolini for two days of Seriously Practical training that can immediately be applied to your daily duties at work.
Oracle Database 11g Release 2: Flash Cache and Exadata V2
Sep 16th
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 Database 11gR2 – New analytical function NTH_VALUE
Sep 15th
You are probably familiar with the FIRST_VALUE and LAST_VALUE analytical functions that were introduced some time ago into the Oracle RDBMS, in the 9iR2 release I believe (or at least that is when they made their way into the Standard Edition). These values are used to find the first respectively last value in a window in a partition that has been ordered in a certain way.
Oracle introduces a new, related function in 11gR2, called NTH_VALUE. Instead of simply the first or last value in an analytical window, we can ask for a specific row number, such as 2nd row (ND_VALUE?), the 7th or the 223th. This article shows the syntax for this new function.


