Top 60 Oracle Blogs

Recent comments

March 2015

SQLTXPLAIN and the AWR Warehouse, Part I

Yeah, so I did it-  I installed SQLTXPLAIN, (SQLT) on the AWR Warehouse!

Tablespace HWM

The following question appeared the Oracle-L list-server recently:

Oracle 12c SQL – Session-Specific SEQUENCE

Session-Specific Sequence

CREATE SEQUENCE now offers a SESSION parameter allowing a sequence to be reset in each session where it is used.

create sequence session_sample_seq
start with 1 increment by 1

When using session-specific sequences; values will reset each time a new session begins. This works the same way that a Global Temporary Table is reinitialized (default is GLOBAL). Rows in Global Temporary Tables exist either for the life of the session or transaction; so resetting sequences makes sense in many cases.

While particularly useful for GTTs; session-specific sequences are NOT limited to GTTs.

It is possible to use ALTER SEQUENCE to convert a SESSION sequence to a GLOBAL (normal type of sequence) and back (be sure to test carefully if you decide to do this you might have unintended consequences!)

v$object_usage catches me out every time :-)


Every …. single …. time….

Why does index monitoring make me scratch my head and charge off to google so many times…Well, I’m over it, so time to put it on my blog (even though its already on many other places) so I do not get caught out anymore :-)

It always starts like this:

  • Turn on index monitoring on some indexes
  • Wait…
  • Come back later, and get ready to check on my results
  • Then this happens…
SQL> select * from v$object_usage;

no rows selected

And I panic…Did I run the commands on the wrong database ?  Did they not run properly ? Do I need to flush a pool ? etc etc etc

And after plenty of wasted minutes…I end up digging up the source for the v$object_usage view

Friday Philosophy – My Introduction To Programming Way Back When

One fortunate thing about me is my age. Or rather, how old I was in the 1980’s. I was at school in the 80’s, I did my ‘O’ Levels (taken at age 16) in 1984. One of my ‘O’ levels was in Computer Studies. This was before Windows and Excel and Word and all that office software, before the internet was in existence (TCP/IP was only standardized in 1982!) and phones were all tethered to the wall with a cable. What were we taught in Computer Studies? Programming. That and a bit about hardware, but mostly it was programming.

This beast had  about 48k of memory and hi-res 320*192 pixels

This beast had about 48k of memory and hi-res 320*192 pixels

Video Blogging the Squarespace Bedford

No one can serve two masters we are told, but it's common in Squarespace to find one data element serving two purposes. Pastor Taylor Birkey of The Edge Church in Aurora was stymied recently by a thumbnail image that he simultaneously wanted and didn't want in connection with a video blog of sermons in the church.

The Desired Look

The church maintains a blog just for sermons. Videos are posted to Youtube, and then a blog post is created for each video. The top content item in each post is a Squarespace video block linked to the Youtube video. Figure 1 shows the design, which is in the Bedford template.

Video Blogging the Squarespace Bedford

It's trouble when you serve two masters, and it's often trouble when a data
element serves two purposes. I help a pastor avoid trouble by placing his
sermons above the fold in a video blog done in...

Read the full post at

12c Parallel Execution New Features: Concurrent UNION ALL - Part 2

In the first part of this series I've focused on the parallel degree chosen by the optimizer when dealing with the new concurrent UNION ALL feature.I've shown that for the variant with serial branches only in the UNION ALL in principle the number of branches dictates the parallel degree determined, even in cases of more complex plans that mix such a serial branch only UNION ALL operator with some other parallel stuff for example via a join.In this part I'll focus on the runtime behaviour of the feature, but before doing so let me show you what happens if you start mixing serial and parallel branches in the UNION ALL, like that (using the identical table setup as in the previous part):

select count(*) from (

Extra session at OUG Ireland – Oracle Lego.

I’m now doing a second session at OUG Ireland 2015. {This is because one of the accepted speakers had to drop out – it sometimes happens that, despite your best intentions, you can’t make the conference and it is better to let them know as soon as you can, as they did}. This will be a talk called “Oracle Lego” and it is one I put together a couple of years ago when I decided to try and do more introductory talks – talks aimed at those who are not {yet} experts and who I think tend to get ignored by most conference and user group agenda. So it is aimed at those new to oracle or experts in other areas who have never really touched on the subject.