Top 60 Oracle Blogs

Recent comments

June 2012

File ID

There was a question on the OTN database forum a little while ago about the different between the relative and absolute files numbers for a data file as reported in view dba_data_files – where they appear as file_id and relative_fno – or v$datafile – where they appear as file# and rfile#. In response, someone resurrected a very old posting of mine from the Usenet newsgroup, which says the following:

file_id is the absolute file number within the control file structure

An Organizational Constraint that Diminishes Software Quality

One of the biggest problems in software performance today occurs when the people who write software are different from the people who are required to solve the performance problems that their software causes. It works like this:

  1. Architects design a system and pass the specification off to the developers.
  2. The developers implement the specs the architects gave them, while the architects move on to design another system.
  3. When the developers are “done” with their phase, they pass the code off to the production operations team. The operators run the system the developers gave them, while the developers move on to write another system.

The process is an assembly line for software: architects specialize in architecture, developers specialize in development, and operators specialize in operating. It sounds like the principle of industrial efficiency taken to its logical conclusion in the software world.

Quick Check for vulnerable accounts

New to me in 11g is the view DBA_USERS_WITH_DEFPWD which checks both for users with default passwords and those whose password is equal to their username. The query below might be a useful  addition to your support toolbox.

Unnesting disjunctive subqueries (with OR predicate)

Jonathan Lewis has recently posted a good example of CBO not good enough in transforming specific query types. A recent thread on the Oracle forum reminded me of this issue.

Basically OP has a query with disjuncted (OR-ed) predicate which started to fail after upgrade with ORA-01790: expression must have same datatype as corresponding expression. Here is a test case (I’ve renamed column and table names cause I’ve used to such naming):

What to Learn from LinkedIn Password Hack as an Oracle DBA

One of the major news today was the hacking and resultant publishing of passwords in LinkedIn. Didn't hear about it? Well, read it here. In summary, someone smart but with head screwed a little askew decided to pull passwords from LinkedIn account using a little known flaw in the LinkedIn iOS app. LinkedIn later confirmed that leak and asked users to change the password. This created a major ripple effect all over the world. The news competed for attention with others such as Spain's economic reforms; but in the end it managed to rise to the top since many professionals and executives are members of the LinkedIn site and were affected.

How do you want it? Fast, Cheap, Great, Free?

Found a link to this on Pinterest. This was created in reference to graphic design but it struck me as being very appropriate for so much I see in my field of work. I think some adjustments could definitely be made to make it more specific to my field, but it struck me enough that I had to share!

Display System Activity without Enterprise Manager

I regularly use the system-level activity chart available in Enterprise Manager. In my opinion it is a simple and effective way to know how much a specific database is loaded at a specific time. This is for example an interesting way for observing how a specific load is processed (see this post for an example).
Unfortunately it also happens that this possibility is not available. The main reasons I faced in the past are the following:

Flashback cursors

Flashback query allows to get data as of required point in time. It’s a nice feature. It’s strange in the implementation though. If you try to use AS OF SCN query with bind variables, it won’t help you to keep number of child cursors low: each execution (independently of the incoming SCN value) will cause a new child cursor to appear with FLASHBACK_CURSOR as the cause. I don’t understand why Oracle is doing it this way.

OOW 2012

I’ve just received notification that my abstract for “The Evolution of Histograms in the Oracle Database” has been accepted for Oracle OpenWorld 2012 so I’ll be seeing some of you in San Francisco in early October.  (The session reference is CON2803 – it might be a good idea to book early, I’ve filled the hall on previous trips to OOW.)

Update (Aug 10th):

I’ve just received the notification of where and when I’ll be speaking: it’s going to be in Room 302, Moscone South, from 12:15 to 13:15 on Monday 1st October.

Update (Sep 28th):

I’ve checked the pre-registration for the presentation, 214 people (from 26 different countries) have signed up so far. I don’t think the rooms are very big – if anyone remembers the limit please comment – so if you’re undecided about this one you might have to make your mind up in a hurry.

Oracle Enterprise Manager 12c Cloud Control: Managing Data Center Chaos

If you are interested in finding out more about Oracle Enterprise Manager 12c Cloud Control, Porus Homi Havewala‘s new book called Oracle Enterprise Manager 12c Cloud Control: Managing Data Center Chaos, will be available in printed and electronic formats in September 2012. If you are super-keen, it’s available for pre-order now. :)