Some of you might have experimented with, or used Oprofile, ltrace/strace, Systemtap, and wished you could look further into the userland process, like dtrace does, because dtrace allows you to profile and look into a process’ function calls.
If you’ve used oprofile/strace/systemtap/etc., you probably found out you can see all the kernel functions which are processed, but it does not get into userspace, or with very limited information. Perhaps the only tool which is different is gdb, which enables you to see userspace function names, but gdb is not a profiler, it’s a debugger. And it works best with (I assume it made for) debugging symbols in the executable. Most (all I presume) commercial executables, like the oracle database executable, do not have debugging symbols.
Here’s a little thing that Dan Morgan mentioned to me some time ago. It’s a little routine from a package (owned by sys) that appeared in 18.104.22.168 that gives you some idea of the mess hidden behind a query that uses views. The procedure is dbms_sql2.expand_sql_text and takes two (CLOB) parameters, an IN parameter that is the text you want expanded, and an OUT parameter that is likely to be a long and messy piece of text. Rather than say any more, here’s an example of usage:
set linesize 70 set pagesize 0 set feedback off declare m_sql_in clob :='select * from dba_synonyms where owner = ''TEST_USER'''; m_sql_out clob := empty_clob(); begin dbms_sql2.expand_sql_text( m_sql_in, m_sql_out ); dbms_output.put_line(m_sql_out); end; /
Have you ever felt that the optimizer was persecuting you by picking plans at random ? Perhaps you’re not paranoid, perhaps it’s part of Oracle Corp’s. master plan to take over the world. If you look closely at the list of hidden parameters you’ll find that some details of this cunning plan have leaked. In 10.1.0.2 Oracle created a new parameter _optimizer_random_plan with the description “optimizer seed value for random plans”. Who knows what terrible effects we may see when the default value of this parameter changes.
Getting to Ecuador from Colombia was really quick and easy. I think the flight time from Cali was about 45 minutes. We arrived late in the day, so it was bed and straight to the conference.
We had a little car trouble on the way to the venue, so we were a little late. Fortunately my laptop was ready to plug in and go, so that’s what I did. I think the translators got an easier time during this conference, because I got the speed of my presentations about right. Both talks went well and I got to speak to a lot of people between sessions. I also got to do an interview for the user group and a local computer magazine. I was famous for 15 seconds in Quito.
Let me start by apologising for spelling Colombia incorrectly on previous posts. I think I’ve corrected all the mistakes (I hope). Also, the name of the tour doesn’t really reflect the actual locations, since it contains two South American, one Caribbean and three Central American countries. I’ve heard multiple names for the tour, none of which are quite correct for all the countries involved, so I’m going to stick with this name for the sake of consistency. Once again, sorry if any people don’t like the tour name…
Update: I switched to “Latin America”, since this fits more of the countries (5/6).
When file systems run out of space bad things happen. We like to investigate what those “bad things” are but to do so we have to create artificially small installation directories and run CPU-intensive programs to deplete the remaining space. There is a better way on modern Linux systems.
If you should find yourself performing Linux platform fault-injection testing you might care to add spurious space free failures. The fallocate() routine immediately allocates the specified amount of file system space to an open file. It might be interesting to inject random space depletion in such areas as Oracle Clusterware (Grid Infrastructure) installation directories or application logging directories. Could a node ejection occur if all file system space immediately disappeared? What would that look like on the survivors? What happens if large swaths of space disappear and reappear? Be creative with your destructive tendencies and find out!
The journey from Birmingham to Cali (Colombia) was very long!
It started with a quick flight across to Amsterdam and a 1.5 hour wait for my connection to Panama. The flight to Panama took about 11 hours. It wasn’t a bad flight, but it felt super-long because I knew it wasn’t the last flight of the day. I had a 4+ hour wait at Panama for the final flight to Cali.
Panama airport is pretty small and not really the place to hang around for 4 hours. Just about the only entertainment was watching the “junk in the trunk” that was on display everywhere. I don’t think I’ve ever seen anything like it before. It seemed like everywhere I looked was something that made Jennifer Lopez and Beyonce look like they had flat asses…
I didn’t really have a lot of exposure to block-level replication on the storage level before an engagement in the banking industry. I’m an Oracle DBA, and I always thought: why would I want to use anything but Oracle technology for replicating my data from one data centre to another? I need to be in control! I want to see what’s happening. Why would I prefer storage replication over Data Guard?
This is just a short blog entry here to refer folks interested in SLOB to the following links:
Tomorrow (Monday) is my Birthday and also the day I fly out to Colombia to start the OTN Tour of Latin America. On the positive side, the timezone changes make my birthday last quite a few hours longer. On the negative side, I’m going to spend 14 hours in a plane and 8 hours in airports. Good job I don’t really do Birthdays….