Off to Spain!

Next week I will be in Madrid to speak at the Spanish Oracle User Group – SpOUG!

I am really looking forward to this. Great content, an opportunity to look around Madrid – somewhere I have not been for 26 years – and catch up with fellow techies, some of whom I have not seen in thousands of miles.

I have never been to SpOUG, and I’m afraid my Spanish is barely enough to order 2 beers and some tapas so I will be speaking in English.

I hope you can make it there too, and help send your career soaring to new heights – this conference is taking place in a vertical wind tunnel where you can don a special suit and fly! It’s like sky diving without the 2 mile plummet to the ground (I’m never doing THAT again!)

¡Te veo allí!

 

POUG18

So that was POUG18 – the Polish Pint with Oracle User Group. This is the 3rd annual conference (and the 4th event) I have attended. IMG_4748A new location, many new speakers but the same vibe, energy and level of fun. Taking place in Sopot on the Baltic Sea, it was simply excellent and has to be the most fun Oracle conference in Europe. Its just a good size. Not too big, not too small.

We were lucky with the weather, which was mostly warm and sunny – this always helps lift events!

 


 

But the conference was again simply excellent. Great work by Kamil and Luiza (and everyone else involved!)

IMG_4762Packed rooms, amazing presentations from excellent speakers and personalised beer. What’s not to like!

Pretty much the only thing missing was POUG fixture Martin Widlake.IMG_4761

 

So as the sun sets on another POUG, we look forward to the next one. Where will it be this time? Front runners are the unpronounceable Wrocław, Poznań,  Łódź or maybe in somewhere the mountains.

Thank you for inviting me.

Next… SpOUG – the Spanish Oracle User Group Tech Day next week. Hurrah!

IMG_4828

Off to Poland…

This week I will be speaking at the Polish Oracle User Group annual conference in Sopot, Poland. It looks like a beautiful location for what is a really fun conference. As well as being surrounded by some of the most knowledgeable and excellent technology speakers in the world, there’s also plenty of fun and dancing taking place.

If I am extremely unlucky, I’ll end up swimming in the Baltic Sea. If you are unlucky, you’ll see me swimming in the Baltic Sea. Where I am from in the England there is an expression “It’s Baltic”, which means it is very cold outside. Very cold. So it is because it’s cold, OK. 🙂logo

I hope I’ll see you in Poland – fantastic place to visit with lovely people.

And don’t forget the parties and the dancing. Oh yeah!

And don’t believe all you hear about the vodka and axes, it’s much worse than that!

 

 

Which Oracle Release are you using?

Post Date: August 2018!

Recently an awesome Oracle Guru friend of mine questioned someone who was installing 11.2.0.4 with the word “seriously”, which is think shows that Oracle staff sometimes don’t live in the same technological world as the rest of business.

My response was:

11.2.0.4 is normal. In the real world:

– large corps mostly use old versions
– consultants look at current versions
– Oracle staff look at unreleased versions

I have known instances of Oracle staff blogging about how a feature works when, in the officially released versions, it didn’t. It only worked that way in a version which was released some months later. There was no reference to the release and the fact that there was a significant functional change between releases (but I suppose that’s a blog and not “official” documentation – the official documentation said nothing at all about how that particular feature worked. Nothing! So thank you mystery blogger.)

Anyway, the point of this post was I then did a small twitter poll to my most excellent and cosy band of followers to see what Oracle releases people were using. I asked 2 questions (because twitter is limited) and here’s the results:

oracle_version_highest

So more people have some form of 12 in the DB, but only 7% have 18 in Production. This at a time when most Oracle staff are thinking about Oracle 20 and 21, as Oracle 19 is done and just awaiting release. Think about that, Oracle… Whenever I am at a presentation by an Oracle PM, I think “wow – I might be able to use those new features in 2-5 years”.

oracle_version_lowest

So very few people have 12.x as their lowest version (which would include 18 as that’s really 12.2.0.2) and MORE have 9, 8 or 7 as their major headache! Yes – there are more on 9, 8 and 7 than are using 18 in Production. Lets say that once more. There are more on 9, 8 and 7 than are using 18 in Production

So why upgrade? Very few databases take advantage of all of the latest sexy features. I suspect that many of the applications still being produced could run on Oracle 7.3.4. – more so as the proliferation of ORM’s like Hibernate has left a generation of developers with little appreciation of the database and how to take advantage of it**. So why upgrade? These days? Security. Patches. Support. Without those 3 things, you are living on hope, hope that nothing goes wrong as you’ll struggle to find anyone to fix it – including Oracle. Hoping that nobody tries to hack your 8.1.7 database as it’s a Swiss Cheese of vulnerabilities, like all 7, 8, 8i, 9i, 10G DB’s. Not that we hear about systems being compromised every day on the news.

Anecdote #1: By coincidence I was talking to a client at about the same time and whilst they are a mostly 12.1 shop, they still had an old 8i database hanging around… as usual it was going to  be “retired soon” (which in my experience means sometime in the next 15-20 years) and wasn’t worth the time and effort to be upgraded or even do a business case to upgrade it!

**Anecdote #2: At a client a few years ago, an excellent Java Developer asked me to put an index on a flag column. I pointed out that with only 3 values that an index wouldn’t help, and as this was OLTP a bitmap index wasn’t appropriate due to concurrency issues. He said that with 3 values indexed, his query would be 3 times faster! We sat down and I explained some database fundamentals to him, at which point he said “don’t put an index on there – that would be a stupid idea”. A few weeks later he came back over and asked about SQL queries “I’m trying to aggregate this data – can the database help?”. I spent 30 minutes showing him in-line views and windowing analytic functions and we wrote the code he needed for his output. “Wow! You have just saved me 3 days of Java coding…” – he was going to pull everything into Java and process it there, so as well as 3 days of coding, we also saved the SAN, the network and a whole bunch of CPU by dealing with data at the database layer – which is always the most efficient place to deal with it!

Riga Dev Days 2018

rigaLast week I spent some time in Riga, Latvia. It was unusually warm, much to the consternation of the locals who wanted it to return to more normal sub-20C instead of the current 27C. Riga is a long way North.

It is also beautiful, friendly, and hosts a great conference! RigaDevDays is a Development conference, talking about Architecture, programming paradigms and also databases (which is usually where I fit in). img_4003-e1528018968617.jpgI was speaking about Oracle Optimization. I particularly enjoyed watching presentations about technology where I have little or out-of-date knowledge – it can really open up new thought processes, but it also tends to show that there’s nothing really new and nothing that somebody else has not tried before. It’s also good to see technology trends, see how our industry is evolving.

Attending conferences is a fabulous way to be educated, with awesome levels of expert knowledge on-tap. As well as learning new things, you can discuss how to resolve your problems and get fresh ideas about the best way to solve your business dilemmas.


Here’s a few photo’s from Riga! Attend a conference, learn from each other – it’s great!

This slideshow requires JavaScript.

 

UKOUG Call For Papers: Tech18, Apps18 and JDE18

The call for papers for Tech18, Apps18 and JDE18 is now open until Monday 4th June at 09:00. You have until then to submit an abstract for whatever you would like to talk about!

tech18-com-v2

What would you like to talk about? You’re telling me you have nothing? I don’t believe you. Everybody has a story to tell. Your work has value an your experiences and wisdom will help others avoid your mistakes and follow your successes.

apps18-com600x220-v1

Telling others about your experiences will help your career and enhance your knowledge – the only time I learn more then preparing a talk is when it’s all broken (after which I usually do a presentation about why it was a problem, how we fixed it and what we have done to prevent it happening all over again!)

jde18-com-600x220-v1

And don’t forget, you only need to submit an abstract today – a couple of paragraphs describing the presentation. You only have to actually write the talk if it gets accepted! 🙂

Yes, I know you’re a bit nervous, standing up in front of people. So am I. That’s normal. Don’t worry! We are here to help. First time speaker? Got a talk accepted and would like some help? I can put you in contact with an experienced speaker to provide some guidance and reassurance. You can do it! What are you waiting for?

Running RAC in a Virtual Environment

I was in a discussion at an Oracle Meetup this week, and the subject of RAC in a virtualized environment – specifically Oracle Virtual Machine (OVM) – came up.
Here’s a couple of points which were discussed.

pingtarget

There was a lack of awareness of a common problem, which has a solution built-in to Oracle 12.1.0.2 Grid Infrastructure and later. In a virtualized environment, the network components are also virtualized. Sometimes, network failures on the host may not be raised up to the guests. As a result, the guest O/S commands can fail to detect the network failures and the Virtual NIC remains up. Grid Infrastructure (GI) will not perform a VIP fail-over as it can’t see the failure despite the network being unavailable.

To resolve this, Oracle has added an option of a “pingtarget” for each public network defined in GI. This will perform a keep-alive to a external device, usually something like the default gateway. This is just like the heartbeat on the cluster interconnect.

Before

srvctl config network

Network 1 exists

Subnet IPv4: 192.168.0.160/255.255.255.224/eth1, static
Subnet IPv6:
Ping Targets:
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:

The default gateway makes a good ping target. For this IP and subnet, it’s 192.168.0.161

srvctl modify network -k 1 -pingtarget 192.168.0.161

After

srvctl config network

Network 1 exists

Subnet IPv4: 192.168.0.160/255.255.255.224/eth1, static
Subnet IPv6:
Ping Targets: 192.168.0.161
Network is enabled
Network is individually enabled on nodes:
Network is individually disabled on nodes:

All safe!

Server Pools

A second item we discussed was the Server Pools in OVM. Each RAC guest should be on a different host, otherwise you have not eliminated that as a Single Point Of Failure. A second less obvious SPOF is the Server Pool disk.

A Server Pool is a filesystem LUN (and IP address prior to release 3.4) used to group a logical collection of servers with similar CPU models, within which we can create and migrate VM guests. For a RAC installation, each RAC node should be within a different server pool, as well as on different physical hardware.

ovs

In this image, RAC nodes within the same cluster should be created within each server pool. This configuration can safely support a 2 node cluster despite having 4 servers, with one node created in “OVS-Pool-2” on server “ovs02“. The second node should be in “OVS-Pool-1″ and can be on “ovs01“, “ovs11” or “ovs12“.

It is possible to live migrate guests between these 3 servers.

 

 

 

 

 

%d bloggers like this: