Who's online

There are currently 0 users and 27 guests online.

Recent comments

Oakies Blog Aggregator

Openworld Summary

It was long but seemed to pass me by somehow.

My presentation didn't go as well as it has in the past.

Oak Table World was great fun and impressively organised.

It was great seeing so many friends again but I'd need a month-long conference to accommodate all the time I want to spend with them.

The hospitality from people like the folks at Pythian, The Oracle TechNet ACE team, Moans Longballs Nogood and too many others to mention was much appreciated.

I need to not drink for a while!

The Hives were amazing.

That's all. I'd rather write some technical posts. So thanks to Tim Hall for doing my job for me ...


Looper is not, “This years The Matrix”, or whatever crap they put on those posters. It’s easy to be blasé now, but The Matrix was totally amazing when it came out, before they could ruin its legacy with the sequels…

So now I’ve managed your expectations, it’s worth saying that Looper is a pretty decent film. Unlike most time-travel related films, it doesn’t try to get too intellectual, which is good because on the way out I listened to some guy trying to explain the plot to his uninterested girlfriend and he got it all wrong. Time travel is a mind-f*ck for regular folk, so stupid people should steer clear of the concept…

Joseph Gordon-Levitt looked so different in this film, which was really freaking me out. I was starting to wonder what the hell he had done to himself since his last film outing. The reason becomes obvious as the film progresses. I must say they did a good job on that front.

There are a few fantastic scenes. I’d like to say more, but it would be a real spoiler if I did. In summary, it’s a pretty good Sci-Fi film.




Looper… was first posted on October 7, 2012 at 12:08 am.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Resident Evil : Retribution…

What do I really want out of a Resident Evil movie?

  • Milla Jovovich running around kicking ass.
  • Lots of Zombies.
  • It should be virtually indistinguishable from the other movies.

With Resident Evil: Retribution, I guess 2/3 ain’t bad. I like the fact the previous 4 films are virtually interchangeable. My biggest criticism of this film is it does things a little differently.

On the positive side, most of the cool characters from the previous films are brought back for this one, including the dead ones. As usual, the films leaves itself primed for a sequel. Let’s hope we don’t have to wait too long for the next one.

If, like me, you like mindless and incoherent trash zombie films, then you are in for a treat. :)



Resident Evil : Retribution… was first posted on October 6, 2012 at 11:43 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle OpenWorld 2012 : Summary (Oracle Invented The Cloud)…

Here’s a quick summary of my Oracle OpenWorld 2012 experience. First of all, a list of the posts I made during my stay:

I guess you all know by now that this years OpenWorld was very much focused on The Cloud. After a week of brain washing, I’m convinced Oracle actually invented the cloud and everyone else has just copied them. I’m hoping someone instigates an intervention and deprograms me at some point. :)

As you would expect, following close behind the cloud theme is all the Big Data and Engineered Systems stuff, that Oracle hope you will buy into when building your private cloud. I’m a grunt DBA, so a lot of this washed over me as I’ll probably never get to use any of it…

The whole 12c database situation was all very mysterious. There were lots of conflicting opinions about what was going to happen during OpenWorld. Even people in Oracle didn’t seem to know quite what they were allowed to talk about. The general consensus seemed to be, during OOW Oracle staff could answer any question about 12c, but once the conference was over, if they so much as mentioned its existence they would be dissapeared. :) The feature set for 12c looks very impressive/interesting/scary. It certainly feels like everything you ever thought you knew about Oracle has now changed. It’s good for the newbies, as we are all now bottom of the class again. :) I guess we just have to wait a few months now and see what actually gets released…

RAC Attack was a good laugh again this year. Thanks to Jeremy Schneider for doing all the hard work, while we all just chat amongst ourselves and take the credit for it all.. :)

An enormous thank you goes out to the Oracle ACE program, especially Victoria and Lillian, for organizing everything, including getting us safely there and back and organizing the 2 days of ACE briefings.

So that’s another crazy OpenWorld done and dusted. Only a year until the next one…



PS. I woke up this morning at 6:20, with my car for the airport picking me up at 6:24. That was an intense experience!

Oracle OpenWorld 2012 : Summary (Oracle Invented The Cloud)… was first posted on October 6, 2012 at 11:13 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle OpenWorld 2012 : Day 5

Day 5 was a presentations day for me.

I tried to make as many motes as I could, but you will see the quality and accuracy of the notes tail off as the day went along… :)

Tom’s Top 12 Things About the Latest Generation of Database Technology

My bullets don’t quite match Tom’s, which is why I have more than 12 things listed. :)

  • Functions (and procedures used within those functions) can be defined in the WITH clause. Performance boost compared to regular unit defintion. Pragma to allow regular functions to benefit from these performance benefits.
  • Default value of column can use a sequence.nextval.
  • Identity columns : Multiple levels of control of how it is used. Can use simple or more complex syntax.
  • Metadata only default of optional columns. Previous versions this was possible only for mandatory columns.
  • VARCHAR2(32767) in the database. Less than 4K is stored inline. More than 4K is stored out of line, similar to LOB, but simpler. Not available by default.
  • Top-N now using Row limiting clause eg. “OFFSET 10 ROWS FETCH FIRST 10 ROWS ONLY”. Similar to mySQL syntax.
  • Row pattern matching. Quite a lot of new analytic syntax here.
  • Partitioning Improvements:
    - Asynchronous Global Index maintenance for DROP and TRUNCATE. Command returns instantly, but index cleanup happens later.
    - Cascade for TRUNCATE and EXCHANGE partition.
    - Multiple partition operations in a single DDL
    - Online move of a partition(without DBMS_REDEFINTIION).
    - Interval  + Reference Partitioning.
  • Adaptive Execution Plans:
    - If the optimizer notices the cardinality is not what is expected, so the current plan is not optimal, it can alter subsequent plan operations to take allow for the differences between the estimated and actual cardinalities.
    - The stats gathered during this process are persisted as Adaptive Statistics, so future decisions can benefit from this.
    - You will see STATISTICS COLLECTOR steps in the SQL Trace. Can make the trace harder to read as it can contain information about the expected plan and the actual plan.
  • Enhanced Statistics:
    -  Some dynamic sampling operations are persistent, so they are not lost when the SQL is aged out.
    - Hybrid histograms. When the number of distinct values is greater than 254, “almost popular” values can get “lost” in the mix. A single bucket can now store the popularity of than value, effectively increasing the number of buckets, without actually increasing it.
    - Possible the max number of buckets can be increased based on a parameter. (demo grounds)
    - Statistics gathered during loads. CTAS and INSERT … SELECT automatically compute stats.
    - Global temporary tables can have “session private statistics”. Previously, we had one-size-fits-all.
  • Temporary Undo (ALTER SESSION SET temp_undo_enabled=true):
    - UNDO for temporary tables can now be managed in TEMP, rather than the regular UNDO tablespace.
    - Reduces contents of regular UNDO, allowing better flashback operations.
    - Reduces the size of redo associated with recovering the regular UNDO tablespace.
  • Data Optimization:
    - Information Lifecycle Management: Uses heat map. Colder data is compressed and moved to lower tier storage. Controlled by declarative DDL policy.
  • Transaction Guard:
    - If a failure happens, your application may not know the actual status of a transaction. If it was successful, issuing it again could cause a duplication transaction.
    - In these cases, you can mark a transaction with an “unknown” state (as far as the application is concerned) as failed, so even though they may have been successful, it will never be considered, or recovered. You’ve guaranteed the outcome.
  • Pluggable database:
    - Oracle provided metadata and data is kept in the container database (CDB).
    - User metadata and data is kept in the plugable database (PDB) .
    - One container can have multiple plugable databases.
    - No namespace clashes. Allows public synonyms and database links at the PDB level, rather than the CBD level.
    - Cloning is quick and simple as only user metadata and data needs to be cloned.
    - Upgrades have the potential to just unplug from old version (12cR1) to new version (2cR2).
    - Reduce total resource usage is reduced on lower use databases.

Oracle Database Optimizer: An Insider’s View of How the Optimizer Works

Oracle database 12c is the first step on the way to making an adaptive, or self-learning optimiser.

Alternative subplans are precomputed and stored in the cursor, so no new hard parsing will be needed as part of the adaption of an already executing plan. Statistics collectors are included in the plan execution. If the collectors cross a threshold, the plan might switch during execution from a nested loops to a hash join.

You can see information about the adaptive actions that have occurred using the DBMS_XPLAN package, with the format of “+all_dyn_plan +adaptive”. If a plan has been adapted, you will see it indicated in the  v$sql.is_resolved_dynamic_plan column.

If this functionality scares you, you can turn it off using the OPTIMIZER_APADPTIVE_REPORTING_ONLY parameter. Same work is done, but no actual adaptive action is taken.

During parallel execution, collectors can influence the distribution method (HASH > Distribution). Shown in the plan as the HYBRID HASH operations.

Dynamic statistics replace dynamic sampling. The resulting stats are cached as SHARED DYNAMIC STATS specific for the statement, including the bind values. This information is used for any session using the same statement.

Cardinality feedback can be used to re-optimize subsequent operations. Join statistics are monitored. Works with adaptive cursor sharing. Persisted on disk. New column v$sql.is_reoptimizable shows that a subsequent run will take this into consideration. Collectors are kept, even if the SQL statement is killed part way through. The plan shows that cardinality feedback is used.

SQL Plan Directives are based on a SQL phrase (a specific join) rather than the whole statement. Cached in the directive cache, but persisted in the SYSAUX tablespace. Managed using the DBMS_SPD package.

Information gathered by the optimizer, may prompt automatic creation of column groups, so next time stats are gathered, the extended stats will be gathered.

What’s New in Security in the Latest Generation of Database Technology

  • Privilege Analysis:
    - Track direct privileges and privileges via roles being used, so you can determine the least privileges needed.
    - Monitoring controlled using DBMS_PRIVILEGE_CAPTURE.
    - Report what is used and what is not used.
  • Data Redaction: A variation in column masking of VPD, but it doesn’t just blank the value and still allows queries against the column in the WHERE clause.
  • Enhanced Security of Audit Trail:
    - Single unified audit trail.
    - Extension of the audit management package.
    - Multiple audit management privileges.
  • Encryption Enhancements:
    - Allow SQL creation and management of wallets, rather than command line utilities. Allows easier remote management.
    - Export and import wallets/keys between plugable databases.
    - Storage of wallets in ASM.
    - Much more…
  • Code-Based Access Control (CBAC):
    - A PL/SQL unit can have roles granted to it.
    - When the unit runs, any dynamic SQL running can have the privileges granted via the role.
    - Doesn’t affect compile time, so focussing very much on dynamic SQL.
    - Useful on invoker rights, since now the PL/SQL can run with user privileges and explicitly granted roles for the unit.
  • Invoker Rights:
    - INHERITED RIGHTS : Control accidental privilege escalation when a privileged user calls an invoker rights unit containing malicious code.
    - Invokers rights for views.
  • Separation of Duties:
    - SYSDBA – God
    - SYSOPER – More limited than SYSDBA, but still very powerful.
    - SYSBACKUP – Just enough to do a backup.
    - SYSDG – Just enough for data guard administration.
    - SYSKM – Just enough to perform basic key management tasks.
    - Roles for audit management.

The Hives

The wrap up party was probably the highlight of the week, thanks to The Hives. They were freakin’ awesome. The front man is a scream. Very funny when he interacts with the audience. Makes me want to be in a band again!

I’ll follow this series up with a wrap-up post.



Oracle OpenWorld 2012 : Day 5 was first posted on October 6, 2012 at 10:41 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.

Oracle OpenWorld 2012 : Day 4

My RAC Attack session was pretty early, so I headed straight there for the morning.

The OCP lounge always has drinks and food, so regular pitstops there are the norm for me at OOW. If you have OCP or above, it’s really worth dropping by on the first day and getting your ribbons, so you can do regular refreshment stops during the week. :)

After RAC Attack it is was back to the demo grounds to do another quick tour. Basically, I was looking for new faces to speak to and quizzing people further about stuff I had discussed on previous days. Sometimes you have to let this stuff stew a while before you can think of more questions. :)

I bumped into Tom Kyte before his SQL Tuning Experts panel session. He said something like, “Ah, Mr Hall”, to which I replied, “Mr? I didn’t do 5 years at evil medical school to be called Mr!” That comment came back to bite me during the panel session when I put my hand up to ask a question and he said something like, “A question from DR Hall…” The shame…

SQL Tuning Experts Panel

Some of the take-home points from this include:

  • The optimizer’s short term memory has become longer, as some of the dynamic statistics and cardinality feedback information can now be persisted to the SYSAUX tablespace.
  • SQL Monitor is the the best tool in 11g to troubleshoot performance problems.
  • SQL Performance Analyzer is a great way to check the impact of changes on SQL performance.
  • Stats have to be representative, not necessarily new.
  • Pending stats save you from screwing up all your plans every night. :)
  • In 12c, Enhanced Real-Time ADDM runs every 3 seconds to give you up to date advice on things that are happening on your system.

Five Things about SQL and PL/SQL you might not have known.

This included a mix of new stuff in 12c and existing stuff. My laptop battery was dead at this point, so I was making notes on my Nexus 7, so I only recorded the 12c stuff.

  • Implicit return of result sets:
    - The DBMS_SQL package new contains overloaded RETURN_RESULT procedures to push cursor variables back to the calling client code.
    - This is similar to how SQL Server can return result sets using SELECT without defining out parameters.
    - SQL*Plus automatically shows the implicit output.
    - PL/SQL can manipulate them using the GET_NEXT_RESULT function to return the next cursor variable.
    - This is a migration feature, so there is no need to replace existing procedures and functions that return cursor variables to return record sets.
  • Global Temporary Table Statistics can be session specific. It is controlled using a statistics preference, allowing them to be set to global or session-specific.
  • The cardinality of pipelined table functions was discussed. These is a subtle change in 12c as the cardinality feedback introduced in 11g is persisted in 12c.

Evening Social Events

In the evening it was off to the bloggers meetup. Every year I get to put more real faces to the names and twitter handles I’ve got used to seeing. It’s really good to meet everyone properly and have a little chat.

After that it was off to the appreciation event, or the everlasting buss ride as it turned out to be. I ended up seeing the last couple of songs by Kings of Leon, who sounded OK. I saw most of Perl Jam, but was a little dissapointed. The sound quality was a little poor and they weren’t as tight as I would have expected. That’s not to say they were bad, just not as good as I wanted them to be. I think maybe I should play Ten and pretend I’m twenty again and convince myself it was the best gig ever…

All in all a pretty crazy day…



Oracle OpenWorld 2012 : Day 4 was first posted on October 6, 2012 at 10:34 pm.
©2012 "The ORACLE-BASE Blog". Use of this feed is for personal non-commercial use only. If you are not reading this article in your feed reader, then the site is guilty of copyright infringement.


Thanks to all those people that attended my session last week at OpenWorld.

A number of people have asked for copies of the slides.  I will post them here as soon as I get back home to Perth.

Thanks for your patience.

….Posted from yet-another-airport-kiosk :-)

Update: Slides below

OOW slides

OOW eof

So OOW 2012 is over – it was a pleasant and interesting week. Cary’s closing presentation was a joy to listen to and a great way to end the conference.

I’m sitting (actually standing – I’ll be sitting for most of 10.5 hours soon enough) in the BA lounge at SFO, sipping a remarkably nice Chardonnay: The Director’s Cut 2010, from the vineyards of Francis Ford Coppola. Lightly oaked, and a lovely compromise between the delicate sparseness of the Old World and the usual fruity agressiveness of the New World. It’s quite hard to resist the second glass – but if I don’t the flight home will be tough.

Thanks to those who have donated to my son’s half-marathon for malaria. It takes place on Sunday, so I’ll probably be somewhere on the route cheering him on, but I haven’t picked a spot yet.






There’s never enough time to read everything that’s worth reading, so even though Guy Harrison’s blog is one of the ones worth reading I find that it’s often months since I last read it. Visiting it late last night, I found an interesting batch of articles spread over the last year about the performance of SSD – the conclusions may not be what you expect, but make sure you read all the articles or you might end up with a completely misleading impression:

Don’t forget to read the comments as well. For other notes Guy has written about SSD, here’s a URL for his SSD tag.

250 Posts !!

WordPress reported that my last post on Exadata Storage Indexes was my 250th !! Who would have thought …