Top 60 Oracle Blogs

Recent comments

October 2015

RMAN old feature: Restore datafile without backup

Say I have created a new tablespace recently and did not yet take a backup of the datafile. Now I lose that datafile. Dilemma? No, because I can do an ALTER DATABASE CREATE DATAFILE. Sounds complex? Well even if I wouldn’t be aware of that possibility, a simple RMAN restore will work – as if there were a backup:

Multitentant (Pluggable Database) Videos

It’s been over 2 years since 12c was released and there still seems to be a lot of confusion about the pluggable database stuff. I think most people know the top-level concept, there’s only so many times you can see the memory stick analogy before it gets burned on your skull, but that doesn’t do much to help with the reality of working with it day-to-day.

Richard Foote: Upcoming Presentation Events (David Live)

I’ll be doing the rounds in Australia/NZ in the coming weeks so plenty of opportunity to catch-up and see me in action

Be the Change You Want to See

There is an incredible power with the simple act of doing.  People have a tendency to complain about the world, but there are only a few that refuse to simply accept it as it is and reach out to change it.

Where do my trace files go? V$DIAG_INFO

Where do oracle trace files go? I don’t know why this piece of info will not stick in my head, I seem to have to look it up 3 or 4 times a year.

If only I had an easy way to find out. There is a very easy way to find out – and that piece of info won’t stay in my head either. So this really is a blog post just for stupid, forgetful me.

V$DIAG_INFO has been available since oracle V11. All the trace files go into the Automatic Diagnostic Repository (ADR) by default.

Existence checks

Often, to do an existence check for data, people issue a “SELECT COUNT(…)” against the relevant table. So in pseudo-code, the logic looks like something like this:

select count(*)
into   my_variable
from   MY_TABLE
where  COL = 

if my_variable > 0 then ...

For unique key lookups, then that’s fine, but it’s a risky strategy as a general premise, because counting all of the records can be costly, especially if you’re only interested in the first one. You are coding always hoping that some index lookup is going to be possible. And in strict terms, you actually are not meeting the requirement. Someone asked you to check for existence, NOT to get an exact count of how many matches there were. You are doing more work than you need to.

So here are some potentially better alternatives:

Option 1: stop after the first row

Your Data Awakens : Delphix Express CloneAttack at OOW

Want a free version of Delphix Express installed on your computer with the assistance of Oracle and Delphix experts? We will be holding #CloneAttack again at Oracle Open World on Oct 27 from 1:30-4:30.

CloneAttack is a hands on labs to install a fully operation Delphix Express environment on your laptop.

The labs will be hosted at the Creativity Museum, which is at the corner of Howard St and 4th St above the carrousel,  on Tuesday Oct 27  1:30pm to 4:30pm.  Dell  and DBvisit will also beholding #ToadAttack and #RepAttack in the same location with us.


12c Parallel Execution New Features: Parallel FILTER Subquery Evaluation - Part 2: Distribution Methods

Picking up from the first part of this instalment I'll focus in this post on the available distribution methods for the new parallel FILTER subquery feature.In this post I won't go into the details how the optimizer selects the distribution method automatically - this will be covered in the last part.Here I merely describe the different available methods and how to control them using the new PQ_FILTER hint, which is also mentioned in the official documentation, although I find a bit hard to follow the description there.There are four different options available to the PQ_FILTER hint, and only two of them actually describe a distribution method.

Friday Philosophy – 3 months, 3 conferences

Flights are booked, hotels reserved, plans made. Don’t ask about talks prepared, just don’t :-)

This is not the usual list of “I’m going to this talk and I’m seeing that speaker” blog that people write before an event – well it is a little – it’s more about the different flavors of conference we have available to us.

I have an Oracle conference a month until the end of the year and I’m really looking forward to all of them. Each is very different. I know I am lucky to be able to do this sort of thing, that is go to so many conferences, and partly it is because of being an ACED. But fundamentally it’s come about as a result of the decision I made back in 2003 to give something back to the community that I’d learnt so much from, and even more so when a couple of years back my wife gave me permission to do less stuff that pays and more stuff that I enjoy. Oracle Community stuff.

Delphix Express: rolling a VDB back

The following is an example of rolling a virtual database (VDB) back in time with Delphix Express, the free version of Delphix. Delphix by default keeps a 2 week window of changes for virtual databases (configurable to 2 months, 2 years etc). Thus we can go back in time to any point in that time window.

Why would we want to go back in time?

Maybe something went wrong. For example VDBs are typically used by developers who aren’t as versed in databases as a DBA.  What happens when a developer accidentally drops a table yet there was other work in the database that they want to keep. In the industry, half the time, developer databases are not backed up because they are “just development databases.” With Delphix those developer databases are always backed up and we can go back in time in a few minutes, so if a developer accidentally drops a table or updates the wrong column we can recover in minutes.