Pint with Oracle User Group – First International POUG (Polish) Conference October 14, 2016
Posted by mwidlake in ACED, conference, Friday Philosophy, Meeting notes, Presenting, User Groups.Tags: behaviour, Meeting, Presenting, user group
4 comments

Kamil kicks it all off: Apparently water has bacteria in it – so drink beer
(stolen from Pieter v.Puymbrooeck)
Last week I enjoyed being at the first international conference that the resurrected Polish Oracle user group has put on. I say enjoyed – I actually mean really enjoyed! Why did I like the conference so much? Three major components came together.
(Before anyone rushes to mention the Polish custom of entertaining you with alcohol, that was not one of the three parts. It was the fourth instalment of the trilogy…)
Let’s start with a little history. I first came across Kamil Stawiarski just a year or so back. I had blogged about Pragma UDF and how it improves the performance of PL/SQL functions called from SQL – and then came across his blog post on it. About the same time he came across mine and we got in touch. He’s an “Oracle DBA type” and his company is called ORA600! {if you had not noticed, so is mine}. The similarities do not stop there. He loves beer+presenting (for some reason I have this reputation…) and using an axe. I am a little more technical – as I use a chainsaw as well as an axe. In respect of Oracle Technical, I’ll give Kamil the prize in that. The biggest difference is I am old enough to be his dad. I might adopt him. Anyway, Kamil came to the UKOUG Tech15 conference, we met up and he asked me (as well as several others) if we as international speakers would support him running a conference in Poland? Of course! I had so much in common with Kamil, he and his travelling companion Adam were so friendly, positive and knowledgeable that it was an easy decision.
A date was chosen, Kamil let us all know and those of us who could went along. The conference took place in Warsaw on Friday 7th to Saturday 8th October, with a speaker’s meal on the Thursday. There were two streams during the conference, one mostly on database topics and the other mostly on development & BI. We had a lot of well-respected and talented speakers including Jim Czuprnski (who has Polish roots), Joze Senegacnik, Piet de Visser, Heli Helskyaho,Phillipe Fierens, Neil Chandler, Sabine Heimsath… Apologies to the others I have not mentioned. Why did we all turn up? Because we were asked to. Most of us presenters just enjoy presenting (as we crave attention and being asked to present appeals to our egos 🙂 ). Being serious, if you want to organise an Oracle conference or user group meeting, don’t be afraid to ask people to consider coming along. The worst we will do is say “no” (and please be cool if we do; we all have other calls on our time).
With this cunning trick of simply asking people he thought could speak well to come speak at his conference, Kamil had got himself a bunch of good speakers, one of the three things you need for a good conference.
The next part that is key is the organising of the conference. So Kamil set too organising it. Well, I say Kamil orgainised it, he actually got Luiza Koziel to organise most of it, which he says was one his best moves! So he, Luiza and probably half a dozen people I should thank but have not (I really should get a list of the volunteers), spent a lot of time and effort planning the event. Update – Kamil let me know the names. In his words:
Rafal Rebecki- he found all sponsors.
Pawel ChyliĹ„ski, Adam Jagielski and RadosĹ‚aw Kut – always ready to help with every issue we had challenging us
Kamil KozieĹ‚ – directly responsible for all marketing stuff like website and social media
Adam Boliński- help with organising speakers and preparing agenda he was also one of the sponsor
Of course Luiza KozieĹ‚ – she was responsible for everything 🙂 finding venue, organising hotel and gadgets. she did most of the work
I’ve helped out with many conferences & meetings, from the huge behemoth that is the UKOUG Tech conference to small SIGs and special interest groups. It takes a lot of work – much, much, much more work than you can appreciate until you do it yourself. They sorted out a suitable venue, they compiled the abstracts for the talks and speaker profiles (often not an easy task, some of us are such prima donnas), put together the web pages for it and advertised the event well. During the event they smoothed out the issues that invariably crop up and they looked after all the delegates and speakers. The food at the venue was excellent, both the speaker’s meal and the conference party were fantastic, signage at the venue was good, crowds were managed and encouraged back into sessions at the appropriate time. There are a dozen other things that go to making the mechanics of an event work and, from what I could see, it was all done well or quickly resolved such that I did not notice.
The organisation was great, the speakers were fantastic, what is the third thing you need?
The final thing is sort-of beyond the control of the organisers. For a conference or meeting to work you need an engaged audience. The audience does not have to be huge (though full rooms really help) but they have to be there mentally as well as physically. POUG got an excellent, large crowd of delegates. As a presenter I like it when I feel looked after. A speaker’s meal is great, havng registration and any admin done for you by the “office” is a help. There are lots of “nice” things you can do for the speakers but, for me at least, there is only one absolute. What makes a conference great for a speaker is actually having delegates who want to be there and want to hear presenters speak – and who then are chatting between themselves, challenging the speaker “experts”, asking questions in sessions, continuing discussions outside the presentations and generally making that “buzz”. Lots of things can be done by both the organisers and, to some extent, the speakers to help this. But in the end it comes down to having an involved audience. And in Poland we had that in spades. It was very, very “buzzy”.
Obviously the organisers can prime the pump by getting the speakers and organisation right and I think it helped that the people leading the conference were relaxed and yet determined that everyone had a good time. But in the end, I think the delegates take some of the credit for making the conference so good.
All in all it all came together wonderfully in Poland last week. It’s in my top three conference experiences. (I won’t confirm where or which the other three are – It changes depending on what aspects I am thinking about).
The end of the conference summed it up. Just as in Ireland earlier this year, the last session was an open, “panel” affair with some speakers at the front and an intention to get the audience involved. At POUG we had a discussion about why DBAs are so arrogant and Developers so useless. Of course, neither statement is true all the time and it led to a lively, good-natured and often very funny discussion. The organisers had ensured that this could roll on if there was the desire to do so and the audience demonstrated that there was. I am sure we went on for twice the allotted time! Finally POUG stepped in and closed the conference (in a very nice way).
I’ve got lots of stories to tell about the POUG conference but that can be in another post – or simply when chatting at other conferences or in a a bar. Some of them involve the use of alcohol as an enabler in IT.
I hope there is another POUG next year. I hope it is even half as good. I especially hope they let me come back!
OTN Appreciation Day – Instrument Your Damned Code. Please! October 11, 2016
Posted by mwidlake in ACED, performance, PL/SQL.Tags: OTN, performance, PL/SQL
1 comment so far
Today is OTN Appreciation Day.
This day is the idea of Tim Hall, Mr OracleBase, and you can See his post here. The idea is that as a sign of appreciation to OTN we do a technical (or not so technical) post on a feature of Oracle we like. I’m going to visit an area I have mentioned before…
DBMS_APPLICATION_INFO.
In my opinion, one of the key differences between good code and poor code is that it is instrumented in someway. I certainly believe that an application that is instrumented is much easier to live with and, over the lifetime of that application, runs much more smoothly and significantly more efficiently as (a) problems can be resoled easier and (b) any change in code performance is easy (and thus more likely) to be identified. It is because of this second point that I feel the overhead of instrumentation is not 10% or 20% but rather -15% – it improves overall performance.
The easiest way to instrument PL/SQL code is to use DBMS_APPLICATION_INFO. You use simple calls to set the values for the columns MODULE and ACTION in V$SESSSION and you can also populate a third column CLIENT_INFO.
ora122> desc v$session Name Null? Type ----------------------------------------- -------- ------------------------ SADDR RAW(8) SID NUMBER USERNAME VARCHAR2(30) ... MODULE VARCHAR2(64) MODULE_HASH NUMBER ACTION VARCHAR2(64) ACTION_HASH NUMBER CLIENT_INFO VARCHAR2(64)
It is incredibly easy to use the DBMS_APPLICATION_INFO built-in package to set these columns via the procedures set_module(module_name,action_name), set_action(action_name), and set_client_info(client_info). The values set are held in memory, and there is no inserting or updating of any table rows – so it is incredibly quick and light-weight. V$SESSION is a view on top of memory structures.
Part of the reason that DBMS_APPLICATION_INFO is so powerful is that nearly all performance and development tools that are used for Oracle will show you this information. Of course this is especially true of Oracle tools such as OEM/Grid Control and SQL*Developer. Thus when you are looking at what code is taking up time or running slowly, you can use MODULE and ACTION to identify the exact code and area where the issue is – you are not having to guess. One of the reasons that performance tuning and problem resolution can be so hard is that you are guessing as to the source of the problem. Instrumentation means you know, you are not guessing. DBMS_APPLICATION_INFO is simple and thus, almost as a direct result of this, efficient at identifying where the problems are without blinding you with too much information.
The below is from OEM Express, showing which modules and actions are taking up the most time.
I go into more details about DBMS_APPLICATION_INFO at this post about it and I go into a lot of detail about this and other types of PL/SQL instrumentation in the book I contributed to – click on the link on the right of this web page for details on that 🙂
The OTN Program
Like many people I am doing a technical blog today in order to publicly thank the Oracle Technology Network for what they do. Why do I want to do this? Well, because they have helped me for years and they support me helping others.
As I write this blog I am rudely ignoring Ludovico Caldara explaining 12c dynamic optimizer features to a carefully listening crowd in Denmark, as part of the OTN Nordic tour. They help fund some of us on the ACE program to go on these tours and spread knowledge with people. I would struggle to do all the talks I do if, as an ACE Director, the OTN ACE program did not help cover some of my expenses. They do not pay everything but, heck, I can’t go complaining about them *only* paying for some of it!
OTN provide huge amounts of information on their web site(s), the place you go to download the software and documentation for free.
The final thing for me personally is that they help me contact people in Oracle who can help me better understand parts of the tech or even report back issues and help get them resolved.
Thank You OTN