I wanted to expand on a thread in a LinkedIn group I’m part of, where one of the members wrote “It’s funny when 2 experts are arguing about who is better”, using Tom Kyte and Jonathan Lewis as examples of people they say are “Experts”.
Disclaimer: I have not spoken to Jonathan or Tom in regard to their viewpoints on this subject, so this shouldn’t be taken as them saying any of this, just my interpretation.
My perspective on that is I think you will rarely find two people who deserve the title of “Expert” will argue about “who is better”. They would discuss the technical merits of a point instead. In fact, most people I know that are generally accepted as “experts” really don’t believe they are, and most of them REALLY don’t like the term “Guru”.
Anyone who has used Oracle for a while will be familiar with the Parent/Child locking "issue" when it comes to tables and indexes on foreign keys. For many years you’d hear people crying "bug" etc but thankfully most now know the reason, and accept it as sensible behaviour.
But lets take a look at a slight variation on that theme.
Lets start with a table called "LOC" which will be our parent table in this example. Note that it is an IOT, and we’ll also have a child table "LOC_CHILD", which is also an IOT.
People ask me to justify use of Delphix. I can understand. Delphix is new and often, most of my friends who are DBAs respond with “I can copy a database myself. So Delphix can copy 10 TB in 10 minutes with 0.0001 TB space. That’s a neat parlor game magic trick, so what?” Well that’s missing the whole boat. The question won’t be why you should use Delphix but “can you justify working without Delphix?”
Delphix is amazingly positioned at nexus of data concerns right now – the right place at the right time :
#555555;">According to a recent IDC study, on average Delphix
#555555;">Delphix is used by over 100 of the Fortune 500.
#555555;">What is Delphix? Why is Delphix important? What problems does Delphix solve in the industry?
#555555;">Here is a slide deck I put together for KSCOPE :
This was going to the be the immediate follow up to my previous post, but 220.127.116.11 came out and I got all excited about that and forgot to post this one :-)
Anyway, the previous post showed how easy it is to convert between nested tables and associative arrays. The nice thing in 12c is that this is no longer needed – you can query the associative arrays directly
One of my favourite security "tricks" used to be the following:
SQL> [create|alter] user MY_USER identified by values 'impossible';
Looks odd, but by setting the encrypted value of someone’s password to something that it is impossible to encrypt to, means you’ll never be able to connect as that account. (Think schema’s owning objects etc).
I hear you ask: "Why not just lock the account?"
Well…in my opinion, that’s a security hole. Let’s say Oracle publishes a security bug concerning (say) the MDSYS schema. As a hacker, I’d like to know if a database has the MDSYS schema. All I need do is:
SQL> connect MDSYS/nonsense
Why is that a security hole ? Because I wont get "Invalid username or password". I’ll get "ORA-28000: the account is locked" and voila…Now I know that the MDSYS user is present in that database.
There is more and more happening in the world of visualization and visualizing Oracle performance specifically with v$active_session_history.
Of these visualizations, the one pushing the envelope the most is Marcin Przepiorowski. Marcin is responsible for writing S-ASH , ie Simulated ASH versions 2.1,2.2 and 2.3. See
Here are some examples of what I have seen happening out there in the web with these visualizations grouped by the visualization tool.
#555555;">One of my pet peeves on Oracle is the inability to find out what SQL took out a lock that another user is waiting. It’s easy to find the waiting user and their SQL with v$session by looking at v$session.event where the event is an “enqueue” (v8 and v9) or “enq: TX – row lock contention” and then looking up their SQL via the v$session.sql_hash_value which joins to v$sql.hash_value for the v$sql.sql_text.
#555555;">Wow, thanks to
#555555;">Process Monitor #2970a6;" href="http://technet.microsoft.com/en-us/sysinternals/bb896645">http://technet.microsoft.com/en-us/sysinternals/bb896645
#555555;">I was able track down why I couldn’t connect to Oracle from Excel.
#555555;">I had wanted to try some of the examples Charles Hooper has posted on connecting to and monitoring Oracle, for example