OTN EMEA tour 2015

I am thrilled to be able to go on another OTN tour this year. As a successor to the 2014 MENA tour to Tunisia, Saudi Arabia and Dubai we are organizing a true EMEA tour that visits all three continents of the region. Together with my fellow ACE Directors Heli, Debra and Tariq we will visit Lisbon, Amman and Johannesburg in a week filled with presentations, networking and a lot of travel. You can read more about the tour at otnemea.com.

Unfortunately, the tour will “only” be three stops this year but we are already talking to more local sponsors about adding more new locations to the next tour. And if you are interested in hosting an event as part of an EMEA OTN tour in your country, please let me know.

find database upgrade dates in AWR

Just a really tiny quick tip. Today I was wondering when exactly we performed upgrades on a particular database. Luckily, there is a view in AWR for that.

SQL> select version, min(startup_time) from dba_hist_database_instance group by version order by 1 desc;

----------------- --------------------------        09-APR-14 AM        16-JAN-13 PM        09-MAY-11 PM        22-JAN-10 PM

debugging puppet and facter with strace

I worked on a slightly annoying problem yesterday and thought I’d share the process with you. On one of our linux boxes puppet stopped working with an error that was not very helpful:

[root@portrix]# puppet agent --test
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Loading facts
Error: Could not retrieve local facts: private method `split' called for nil:NilClass
Error: Failed to apply catalog: Could not retrieve local facts: private method `split' called for nil:NilClass

All this told me was that something was wrong with facter during the puppet run. I was able to reproduce the error with just facter but even the debug output was not much more helpful:

[root@portrix]# facter --puppet --debug
Found no suitable resolves of 1 for ec2_metadata
value for ec2_metadata is still nil
private method `split' called for nil:NilClass

In fact, this was even more misleading since I was drawn to the message about ec2_metadata. This box is a physical server and should not have anything to do with ec2. I chased this rabbit for a while but without any success. The best idea then became to run strace on the command and see if this returned anything useful. Strace records and prints all system calls that are made during the execution of a program and among other things it will show you which libraries, files etc are being touched. I produces a ton of output and I will spare you the whole thing. But the general idea is to scan the output from the bottom up. The first things (from the bottom) will be the printing of the error message to your screen and hopefully the stuff that caused the error will show up slightly above that. This is the (not very interesting) part where the error message is printed:

[root@portrix]# strace facter --puppet --debug
execve("/usr/bin/facter", ["facter", "--puppet", "--debug"], [/* 28 vars */]) = 0
brk(0)                                  = 0x18d9000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f78f4f7a000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
[... many, many lines deleted ...]
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
write(2, "private method `split' called fo"..., 46private method `split' called for nil:NilClass) = 46
write(2, "\n", 1
)                       = 1
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigaction(SIGINT, {SIG_DFL, [INT], SA_RESTORER|SA_RESTART, 0x30162326a0}, {0x3c6a295ef0, [INT], SA_RESTORER|SA_RESTART, 0x30162326a0}, 8) = 0
close(3)                                = 0
munmap(0x7fe785c7e000, 4096)            = 0
exit_group(12)                          = ?

And just a bit above that is the last file it read before failing:

stat("/etc/oratab", {st_mode=S_IFREG|0664, st_size=741, ...}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/etc/oratab", O_RDONLY)           = 4
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
fstat(4, {st_mode=S_IFREG|0664, st_size=741, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe785c7c000
read(4, "#\n\n\n\n# This file is used by ORAC"..., 4096) = 741

So it read my the /etc/oratab file and if we scan the output just a bit further up we can also find the module that does this:

stat("/var/lib/puppet/lib/facter/oracle_sid.rb", {st_mode=S_IFREG|0644, st_size=255, ...}) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/var/lib/puppet/lib/facter/oracle_sid.rb", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=255, ...}) = 0
close(4)                                = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/var/lib/puppet/lib/facter/oracle_sid.rb", O_RDONLY) = 4
close(4)                                = 0
open("/var/lib/puppet/lib/facter/oracle_sid.rb", O_RDONLY) = 4
fstat(4, {st_mode=S_IFREG|0644, st_size=255, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7fe785c7c000
read(4, "require 'facter'\n\nisOracle = Fil"..., 4096) = 255
read(4, "", 4096)                       = 0
close(4)                                = 0

This file oracle_sid.rb is a facter plugin that we wrote ourselves and immediately when I saw this I knew where to look. This is the part of our code that caused this error in facter:

result = open('/etc/oratab') { |f| f.grep(/dbhome_1/) }
result = result[0].split(":").first

The code is looking for the first line with the string “/dbhome_1″ in it (which usually works for our databases) and then extracts the oracle SID from that line (seperated by colons). But the oratab on that server was empty, so we were trying to split an empty string, resulting in the error “private method `split’ called for nil:NilClass”.

Once this was known the fix was rather easy and this is not what I wanted to show in the blog post. But I hope you got the idea of using strace to debug a linux program that is not returning the level of logging that you would need to find the error yourself.

DOAG 2014 review

I had merely 10 hours at home between the end of the 2014 OTN APAC tour and my travel to Nuremberg for this year’s DOAG conference which I picked over the last two OTNAPAC stops in Bangkok and Auckland even though I am sure the weather there would have been much better than what Nuremberg had to offer.

the pragmas at DOAG2014But the DOAG conference is always worth a visit and has constantly been improving over the last few years. It has seen a huge increase in foreign speakers that elavated the level of the content to one of the best conferences worldwide. And it also seems to me that my fellow germans have warmed up much more to the general idea of networking and easy chatting.

Unfortunately most of my conference experience this year was dedicated to “slide polishing” in a quiet corner. They accepted two brand new talks and both slidedecks were in need of some extra last-minute work. In my first presentation I gave an introduction to puppet config management for Linux and Solaris and a bit of a taste of how to enable devops for Oracle databases and managing resources within DBs with a puppet module developed by Bert Hajee. The talk went very well and I was surprised by the rather large audience for a systems topic. Yay!

My second talk was due on the last day of the conference, and I was going to speak about open source and CLI tuning tools for the database. This was scheduled on the big stage in room “Tokyo”. There were bright lights, a simultaneous translator who struggled to keep up with my fast-paced german and quite an audience. I felt like I had so much to cover during this talk that I sped through the first half way too quickly when really I should have spent a lot more time with the demos. In the end, I finished after 30 minutes with 15 minutes to spare in my timeslot. The general feedback seemed to be that it was “very energetic” and noone seemed to be bitter to get to lunch 15 minutes too early. But I will have to work on this issue for my next presentation.

DOAG2014 RACAttack and CloneAttackAfter a big success in 2012 and a pause in 2013 it was time again for RACattack. And this time we also brought along RepAttack with the help of Dbvisit and Dell aswell as CloneAttack run by Kyle Hailey. Attendees had the chance to get their hands dirty on their own laptops and install a 12c RAC cluster, setup logical replication or their own Delphix database clone environment under the guidance of true experts. Unfortunately, the attendance was lower than we had hoped and experienced at past workshows, so either the content of the conference was just too good to miss or we did not properly get the message out. In any case, if you have suggestions on how to improve these hands-on labs, please let us know.

OTN APAC tour 2014 blog posts compilation

So much has been written about all the exciting events of the 2014 OTN Asia-Pacific tour. It just feels right to compile all of them into one link list. I am sorry if I missed a post, please ping me and I promise I will add and fix that.

General posts before the tour

singapore supertrees and MBS from satay by the bay bathroomStop 0 – Singapore

Stop 1 – Perth, Australia

OTN APAC Shanghai posterStop 2 – Shanghai, China

Stop 3 – Tokyo, Japan

OOW swim beach balls in BeiijingStop 4 – Beijing, China

Stop 5 – Bangkok, Thailand

Stop 6 – Auckland, New Zealand

post tour

OTN APAC tour stop 4 – Beijing, China

Beijing Olympic Green fenced off for APECAfter arriving and resting for all afternoon, I headed out to the one sight that I was keen on seeing in Beijing. Our hotel was part of the infrastructure built for the 2008 Olympics and the birds nest and aquatic centre were just one block away. So I had planned to go there and also swim some laps in the same pool where Michael Phelps set a world record. But that was not going to happen. I learned that the whole olympic green area was still blocked after the APEC summit which concluded just a few days before our arrival. And it remainded closed during our whole time in Beijing. The upside to this was that we were treated with relatively little air pollution as according to this piece by Reuters the Chinese shut down lots of factories before and during the APEC summit and even stopped giving out marriage licenses in order to present itself in the best light.

ACOUG 2014 keynoteThe conference started early the next morning and despite me not understanding chinese, I still went to see a bit of the opening keynote. They had a massive stage in a giant ballroom and most of the 1000 seats were taken with many people standing in the back. It was a very impressive setup and it looks like they shared a lot of good news with their members. I was also surprised to hear a bit of english when they played a video message by IOUG president John Matelski.

After lunch they seperated the keynote hall into two rooms that were still of a significant size. Tom Kyte filled one of them easily and Tim also had a good turnout for his PL/SQL specific session. After this, I quickly took a taxi downtown to take a few selfies in the forbidden city and came back in time for the last session and the speakers dinner. Giuseppe was back after his first appearance on the tour in Shanghai and Joel Perez joined on this second half of the tour and will do the last legs in Bangkok and Auckland. Joel is always full of stories about travel and life in general.

speaking at ACOUG OTC 2014I was up to speak on the second day of the conference in the same timeslot as Tom Kyte and Giuseppe. Not fair! But it turned out really well, my large room was about half full and Giuseppe reported that there was standing room only in his talk at the mysql track. The organizers warned me multiple times to not touch the LED screen for risk of getting electrocuted and I made sure to keep a safe distance.

Even though I did not really attend any of the sessions since I have either seen them already or would not understand chinese, there were plenty of things to do. There was a good number of vendors to see and chat with. And at the far end of the hall they set up a media centre for video interviews and a photo studio where I had some make up put on and tons of photos shot. They arranged my hair in a very weird way but I was not going to start an argument here. Will post pictures as soon as they get to me.

OOW swim beach balls in BeiijingWhich brings me to my favourite part: photo time with the locals. There was a bunch of young DBAs that was having their shirts signed by all the foreign speakers and were keen to pose for pictures. Silly faces were made, thumbs were put up and in the end we exchanged wechat contacts. Since the great firewall of china makes most western social media platforms painful to use (read: blocked), wechat is very popular in China. I had never even heard about it before but downloaded the app earlier that day. It is actually quite impressive. Everyone in China seems to be on it with people and businesses putting theit contact info on business cards, restaurant menus, bus stations, etc. Also, people actually use QR codes a lot to add contacts.

signing t-shirts in BeijingAfter a quiet and easy dinner with Tim and Joel it was time to say early goodbyes since they had to take another early flight to their next destination. For me, this marked the end of this year’s OTN APAC tour as I will be travelling home for one night and then on to the DOAG conference right after that. I always get a bit sentimental at the end of conferences and tours but just need to remind myself how lucky I am to be able to keep doing this, meet friends from all over the world again and still make new ones at every location I get to visit. And so I am leaving Asia overwhelmed with new impressions and honoured to have made many acquaintances and new friends. I hope I will be back rather sooner than later.

OTN APAC tour stop 3 – Tokyo, Japan

I woke up on Tuesday Morning with a bit of shock on confusion. Where was I? Did I oversleep? What day is it? Do I have to be at the airport and fly somewhere again? When you travel to a new destination every two to three days with jetlag, red-eye flights and all sorts of new impressions to digest, things start to get blurry. Tim and I had arrived the night before from Shanghai and even though the flight itself was just a quick 2,5 hours jump over the Sea of Japan, we were kept busy with queueing and rides in taxis and trains.

Shinagawa stationAfter a shower and some toying around with the japanese high-tech toilet (there were LEDs and buttons to explore) I got on my way to the conference location using the public transit system that I had researched way ahead of time. The google maps app has been a great help with this, too. When searching for public transit connections, it not only shows the line you need to take but also the ticket price and the number and names of the stations in between. Back in Singapore I was already impressed by the ability of the app to display information on the different floors in an indoor shopping mall by floor.

But none of the reading I did really prepared me for the masses of people that rushed through those stations on their morning commute. With a new train arriving from each direction every 3 minutes, there was an endless stream of people. But even though the sheer number was mindblowing there was no chaos at all. It was all very civilized and orderly with people respecting each others privacy and there was no shoving or body contact of any kind. It was very fascinating to watch which made me the only person not following the stream as I was mostly standing there in awe.

Francisco Noriko BjoernThe conference center was conveniently located right next to the Akihabara train station and easy to find. They had four rooms with about 60 seats each which is a great size. A huge ballroom can sometimes be intimidating (when it is full) or deserted (when there are too many empty seats), and this was just right. Insight technology, the organizer and main sponsor of the db tech showcase conference, did an outstanding job. There were coordinators in bright yellow t-shirts everywhere and every possible detail was covered. Sessions started right on time with the strike of the clock, they recorded all the sessions and made sure that speakers and delegates were looked after. A photographer captured some great shots and was quick to upload loads of picture to social media sites. Our liaison Noriko deserves a special mention. She seemed to always be hovering around, making sure that we always had everything we needed, got us fed during lunch, sang and danced with us and was just a sheer bundle of joy.

presenting in TokyoCraig started the conference with an excellent introduction and explanation of the working of latches and mutexes in his typically captive style. I was due to present two presentations on the first day and despite being a bit nervous about how the japanese audience would enjoy my talks I was very happy with my delivery. But it took a bit of getting used to how the Japanese react (or don’t) to the presenters. They showed very little reaction and only a very occasional nod or smile and did not raise questions during or right after the talk. But to my relieve I was able to speak to a handful of the delegates one-to-one at the reception that night and was reaffirmed that they honestly liked all of our presentations, so I reckon not speaking out or showing reactions in public is just a sign of japanese politeness.

Craig and Tim at lunchIt was also good to see Francisco again, and he talked about the challenges organizations are facing when implementing (or even planning to do so) high availability and desaster recovery solutions. He showed some very interesting (yet disturbing) statistics he gathered from a user group survey and showed ways to get started and take action. One of the last tips he gave resonated very well with me because I had the same thought for a long time but was wondering why noone actually uses this: He mentioned that when you do replication it is sensible to keep two replicated databases. One that is synced almost synchronously as the pure (physical) DR database and another one that is intentionally set to lag behind by a day or two. That way, you have an easy starting point in case you need to perform a back in time recovery. So you only have to recover and apply the latest archive logs instead of having to go to your backups and perform a lenghty restore operation. Tim did his talk about avoiding PL/SQL performance mistakes again and unfortunately I could not really attend (or understand) the other sessions since everything else was in japanese.

And I also met Anton from New Zealand again who must have been the only one from his team that did not make it to OpenWorld this year. So it was good to reconnect but a shame that he was not presenting until Thursday which was also the day when we were flying out to Beijing.

bingo with Hiroki and MisaThere was a networking party later on that first night and it did live up to the conference motto “meet wow”. The staff all dressed up in cute christmas costumes of santas, reindeer, snowmen and a christmas tree while playing bingo with the attendees. This (and beer) helped to break the ice and I got to talk to some of the other attendees of the conference. The consensus here: no matter where you live or what your cultural background is: DBAs are struggling with the same issues everywhere; Oracle bugs (and features) do not discriminate.

symphony no 5The highlight of the night was a performance of an all-girl J-pop band called Symphony No 5. This group of 8 girls in manga-inspired costumes, high-pitch voices and perfect choreographies captured the audience that was swinging glow-sticks with the rhythm (I know that does not sound right). I thought it was brilliant and I loved it.

The second day was packed with great content by Tom Kyte, Mike Dietrich, Craig and Tim. But since I already did two talks on the first day, I had some spare time to explore Akihabara after lunch. This district is heaven on earth for geeks. An area of several blocks has all the electronics, video games, arcades, anime and manga shops that you could ever want. A friend of mine is into a few of the anime shows which gave me an excuse to hunt for some memorabilia in a few of the malls. My research and advice from the locals also advised that theme cafes are a huge trend in the area. These are places where the waiters dress up in costumes – usually maids – and interact with the customer by playing card games, singing songs together and drawing cute cat faces with chocolate syrup on desert dishes. I had to go and see this for myself. They gave me cat ears and I learned a few “cute” words and gestures, it was a bizarre experience. But the weirdest part were the customers. Sure, there were a couple of tourists but even more a good number of local regulars with frequent-maiden cards who were greeted with their name and they brought a huge collection of pictures and autographs.

OTN APAC team in JapanLater we were treated to a very nice dinner with the organizers. Steamed vegetables and crab meat, lots of fish, scallops and clams, it was a whole new world to taste. And it was also a good chance to chat with the locals and exchange stories and jokes which to me is the best part about these OTN tours. What better way to learn about a foreign place than to spend time with locals. You start a connection through technology and soon become friends that talk about anything but technology. I was honored to also join the group for some karaoke after the dinner. Again, what impressed me most was how big the Japanese are into this. The place we went to consisted of three stories and each one had a number of private cabins that you could rent as a group. When we got there, the doors to a few of those were open and I got to take some peeks inside and see the crazy parties some were having. We mixed it up between japanese and english songs, I got to sing “Big in Japan” and we finished the night with all of us singing “Hey Jude” by the Beatles which reminded me that I would be in Liverpool for UKOUG in just three weeks.

After this it was time to say goodbye to my newfound friends who still had one more day of conference ahead of me while Tim and I would have to get up in the middle of the night to catch a flight to Beijing. But we would be treated to sunrise over Tokyo Bay on the way to the airport.

OTN APAC tour stop 2 – Shanghai, China

Contrary to what my family, friends and coworkers believe, not every aspect of these OTN tours is glamour or relaxation, but there is actually quite a lot of dull travelling involved (with the time used to compose blog posts like this one). The travel to Shanghai was such a day. After a last dinner in Perth, Tim and I hitched a ride with Connor to the airport, then spent the first part of the night there, waiting for our plane to depart shortly after 2am. I managed to sleep a fair bit of that first leg to Singapore where the little transition time that we had was a great reminder of the wonderful time I spent there just the prior weekend. This was one of those times were I would not have minded a cancelled flight and an extra day there. But our flight to Shanghai was right on time and another 4 to 5 hours long.
We took the maglev train from the airport which was quite an experience because a) you do not get to ride 430km/h every day and b) it was good to see what was done with my german tax money that went into the research of this technology. I felt adventurous so instead of taking a taxi for the final bit to the hotel we took the metro after a bit of a fight with the ticket machine. First of all there was only one machine that accepted bills so it had a bit of a queue. And when it was our turn we could not buy the tickets we needed because the english screen did not allow us to select the right line (only a subset). But after a bit of pointing the guy behind us helped out.

OTN APAC Shanghai posterLater I enjoyed a wonderful dinner in a restaurant that was also partly a museum, met two of the other speakers. Maclean Liu from the UG and also the sponsororing partner in Shanghai, Joe Huang who has been working for Oracle at HQ as a product manager for years but was raised in Taiwan, so he knew mandarin. And then also our liasion and local coordinator Bo Feng who did an excellent job at looking after the international speakers and introduced us to a lot of new and strange food items.

Again, I felt adventurous and walked from my hotel to the conference site which was about 40 minutes. And I was pretty much blown away by stepping into a completely different world. I passed a street packed with little hardware shops selling all kinds of screws, nuts and bolts and other building materials, then some very local and raw parts of town next to the river. It really felt like diving into a completely different world.

The conference started with updates by 刘冰冰, a lady from Oracle, and even though all I could understand were a couple of keywords (CDB, PDB, big data SQL, cloud) I am pretty sure I have heard a very similar presentation in English a few times already. The audience understood english well enough but the organizers also translated the slides of Tim and Giusseppe Maxia into chinese so when they were talking they sometimes had to guess at what each bullet point said because there was not much english text left. Tim talked about how to avoid the most commin performance problems in PL/SQL and it was an excellent presentation with good points and a lot of small demos.
Giuseppe talked about mysql replication, how to set it up and also how to monitoring and some advanced cases, I am already looking forward to seeing him again at the Beijing conference in a few days.

OTN APAC Shanghai raffle winnersI did my talk on RAC connectivity which I have done many times now. I am sometimes getting a bit tired of my older presentations but still like this one a lot and think I should maybe turn this more into a general talk about RAC rather than just talk about load balancing and services.

Since the rest of the sessions were going to be in chinese we snuck out and walked around a bit. One of the more bizarre things we saw was a shopping mall with 3 or 4 floors of nothing but mobile phones and accessories. Even some repair shops were people were taking phones apart. We wondered how many of the phones we saw were counterfeits and how many were originals.

OTN APAC Shanghai selfieWe made it back to for the end of the conference and enjoyed another great dinner with the guys from the Shanghai User Group and speakers. The oddest food was fermented stinky tofu. Think of blue cheese. Tim made the mistake of taking a sniff first, then eating, I just avoided breathing through my nose. The taste was actually pretty good.

I decided to go for a brief walk over to the Bund and take some pictures of the Pudong skyline. It was a bit over the top with the colourful blinking lights and screens and couples in cheap tuxedos and polyester dresses having their pictures taken. The constant presence of hawkers advertising cheap “massages” was very annoying and I dared to walk about in some of the sidestreets and was rewarded with scenes of street food carts, interesting smells (both good and bad) and just generally loads of bustling life happening in the streets.

OTN APAC tour 2014 stop 1 – Perth, Australia

I arrived in Singapore a day before the conference and used this bit of quiet time to catch up on work stuff rather than do sightseeing. We had a nice ACE dinner downtown even though Tim did not make it in time. So it was Craig from the US and the local heroes (really, a very high density of excellent Oracle presenters and ACEs) Penny, Gavin, Connor and Scott. To me, one of the biggest benefites of the ACE program is getting to meet all these birght people and being able to call a lot of them great friends.

Connor took us to the beach for a quick swim on both days since – again – Tim did not make it on the first morning even though he said he was up and ready. The swell as a tad gnarly with pretty big waves on Friday. It was good fun and a refreshing way to start both days.

For me and the other speakers of the tour this was propably the hardest work at any one of the conferences since we all did two 2-hour ACE masterclasses each. But we started with an OpenWorld recap which had 7 of us talk about one aspect of OOW for 5 minutes each. This was inspired by the 12 on 12c presentation that EOUC did in San Francisco. This was good fun and I explained how you can have an excellent time and get good value out of the conference even without going to a single session. Others shared their own perspective on what to do or not and gave a summary of the hot topics at the conference.

All of my sessions went great and were very well attended. They made me feel like a real VIP during lunch when I got my own (vegetarian) meal with a big sign with my name. Since this was a local event for most attendees there was only a small networking thing with a few tame beers after the sessions and everybody went home at a decent time so after a quick dinner from the local convenience store this was another chance to get some decent rest.

Tim Hall handstandThe second day had the same strong content-rich agenda as the first day, mayben even more. Connor did a talk about 12c new features for developers. Initially we were afraid that this would clash with my presentation the day before (which was also 12c new features) but they complemented each other very well. He mentioned a lot of things that I did not even think about and also a lot of stuff around PL/SQL that I just barely ever get to play with. Penny Cookson did a brilliant session on how the optimizer works by comparing it to a girl trying to find a partner and working out the best plan all the while doing estimates based on statistics (as in how many single guys in the right age and height would be at any of Perth’s bars at a given time). It was hilarious and a great learning experience aswell. It is pretty scary to realize that an analogy like this works so well. I was still so impressed that I tried to work the analogy into my own presentation on baselines that I was doing after lunch. But it did not feel right to compare SPM to evaluating the quality of a new partner by trying out both the old and the new one. Or maybe that is an excellent analogy.

There were a few drinks and a dinner after the conference after which Tim and I went straight to the airport to catch the first of two flights to Shanghai at 2am – no point in going back to the hotel.

OTN APAC tour 2014 stop 0 – Singapore

#SOS - Singapore Oracle SessionsWait? Stop 0? How does that work? One reason may be that there is a lack of a universal understanding of what to call the first element of a finite set. Like floors in a building. Things you learn on tours like these are that 1 is not actually the ground floor in all countries (and it was the reason why I exited the lift on the wrong one). But the real reason that Singapore was stop 0 for me is that it is not actually part of the OTN tour (but in my opinion should be next year). I had planned a quick 3 day stopover and stay with Doug Burns and he decided this was a good time to start a local oracle thing in Singapore. So with less than a week notice he booked a room, organized food and drinks and managed to get over 30 people to show up (Hemant Chitale helped spreading the news) for the first installment of #SOS Singapore Oracle Sessions. Excellent! Portrix, Oracle and Doug chipped in as sponsors for the few expenses we had.

The speakers were blown away by the enthusiasm and passion of the attendees, received many great questions and chatted in the breaks. There was also great networking between people and everybody seemed to at least remotely know everybody else or made introductions. It was very clear that there was a demand for something like this format and while people were unsure if they needed a “proper” user group it was evident that everybody would like to see this continue.

Singapore Oracle Sessions Bjoern Rost on SQL Plan Management and baselinesI started by talking about SQL Plan Management. I have done this talk a few times now and am really happy to see how I am making progress with it. I was happy to make the most important points very clear, answered a few great questions and still finished ahead of time because Doug was signalling from the back of the room that the pizza was getting cold.

Doug talked about SQL Monitor (one of the most useful performance tools in Oracle) and how to use it from the commandline. What I did not know was that you could create just the same flash based report that the full-blown Cloud Control is generating and even more. Some of the tabs are grayed out in certain version of EM12c but they work in the CLI-generated one.

Morton did a Big Data primer, introducing people to what big data is and what it is not, giving funny but concise quotes from the Oak Table mailing list, giving an introduction to Hadoop and what the hadoop connector in Oracle can do for you (mostly access files on HDFS so you can either export big tables straight to hdfs for mapreduce processing and/or to import the results of a map/reduce job which will be written to HDFS). He finished with some funny correlation-type analysis which actually helped a customer identifying how to better do their job and got them to invest into big data infrastructure.

singapore supertrees and MBS from satay by the bay bathroomThe only bad thing I can say about the Sessions was that it cost me a few hours of precious sight-seeing time in Singapore. People have told me to come for a while but I never thought it would be as exciting, interesting and cool as it actually was. I wonder why we “dream” about some destinations (some of which turn out to not even be that great once you are there) and turn down the idea of visiting some others. Lesson learned: keep an open mind and good things will happen to you. To everybody else: Singapore is well worth a visit, with or withour Oracle Sessions.

The picture on the left was taken from the bathroom of a hawker centre (street food court). There was no wall behind the sinks, only the awesome view of tropical plants, supertrees and the iconic Marina Bay Sands hotel.

As I am writing this I am already in Perth for the annual Western Australia Oracle UG conference enjoying a rare moment of peace and quiet before the conference tomorrow. I have already experienced a new world and images of tropical plants, buildings old and new and exotic smells (both good and bad) fill my mind but this is merely the start of a tour that lasts two more weeks.

PS1: #SOS is a really bad hashtag
PS2: B-Tree indexes would be awesome if they were called Supertree-Indexes