Saturday 21 April 2007

First Look at Oracle Database 11g

Here are some notes I took at this month's Dallas Oracle Users Group meeting, at which Linda Smith of Oracle previewed the new features coming in Oracle Database 11g.



The first question she answered is:  When?  The official word is "2nd Half of Calendar Year 2007." Originally, it was closer to July, but now she suspects it will be around September, or timed for Oracle OpenWorld conference in San Francisco, in November.



The focus of the release is clear: Availability. Many of the new features are aimed at keeping the database available 7 x 24 x 365, despite the many database administration tasks that must be performed regularly. Here are some highlights:



  • Change Management. "Change is the most common cause of instability," Smith said. So Oracle 11g will include features that permit more realistic testing of new releases and patches before committing them to production. You'll be able to snapshot a physical standby, use it to perform testing, then rollback the snapshot.


  • Database Replay. This lets you capture the actual workload from a production system, and use it to stress-test your test environment to be sure the changes work. Furthermore, your test environment does not need to have live application servers and client stations to do this: the replay looks the same.  (Of course, you'll want those pieces in your test infrastructure anyway, to test them. But you won't need them to test the database.)


  • Online patching.  This boggles my mind, but supposedly the new release will let you apply patches "hot," without a service outage. This includes the quarterly Critical Patch Updates we've all grown to know and love.


  • SQL Performance Analyzer. This captures before and after measurements of your SQL, and after you apply an upgrade, can show you which SQL got better -- and which got worse (regressed). So, during testing of an upgrade, you can tune what needs to be tuned before taking the release to production. There's also an automatic SQL tuning feature that will transparently rewrite any statement that it can get a 3X improvement on.


  • Flashback Data Archive. In the past, the Flashback Query feature could only go back as far as the size of your Undo Tablespace permits. In 11g, you can configure a more permanent archive that will enable you to flashback years, if required. This is aimed at auditors and compliance reporting, but I can see some interesting DBA possibilities too.


Obviously there's a bunch more, including new partitioning options, a replacement for the way LOBs are done that looks pretty slick (SecureFiles), improvements to ASM, and developer stuff.



Time to book my trip to San Francisco for September!



UPDATE, 4/25/07:  I forgot to mention that a new version of the free Express Edition is also planned, but will lag the Enterprise Edition ship date by some number of months.



Saturday 7 April 2007

Oracle Tips - March 2007

Here are my Oracle Tips columns published at TechRepublic.com during March, 2007:



Gather Query Tuning Data via Oracle's Dynamic Performance Views - March 6, 2007
The dynamic performance views supplied with the Oracle database include several that make the process of gathering tuning information easier. This tip describes four of them: V$SQL, V$SQLAREA, V$SQLTEXT, and a new one, V$SQLSTATS.



Test XML Queries Interactively in Oracle 10gR2 SQL*Plus - March 13, 2007
The SQL*Plus program can now process XML (and SQL) queries using the XQUERY command added in Oracle 10gR2. This tip shows you some of the possibilities.



Capture an Oracle 10g Audit Trail in XML Format - March 19, 2007
Oracle 10g can be configured to write its audit logs to XML files in operating system directories. This tip shows the configuration changes that need to be made, as well as how to access the resulting XML files.



Use Logon Triggers to Initialize User Sessions in Oracle - March 27, 2007
Application contexts enable you to store data in memory for applications to use. The After Logon database trigger is a convenient way to initialize a user session by setting application context values for it. This Oracle tip shows you why�and how�it's done.