Java and Tomcat Updates : Vagrant and Docker

Yesterday was another update frenzy.

I already mentioned the update to VirtualBox 6.0.6 in yesterday’s post.

At the same time we got the quarterly updates to Java and I noticed a new version of Tomcat, so I downloaded OpenJDK 12.0.1 and Tomcat 9.0.19 and added them to my Vagrant and Docker builds.

If you are interested in this stuff, you can check it out here.

Remember, this is just my playground stuff. If you find it useful, that’s great. If not, there are plenty of other people messing about with this stuff. πŸ™‚

Cheers

Tim…

VirtualBox 6.0.6

VirtualBox 6.0.6 was released last night.

The downloads and changelog are in the usual places.

So far I’ve only had a chance to install it on my Windows 10 laptop at home and my Windows 10 laptop at work. No dramas on either. I’ll probably do the installations on macOS Mojave and Oracle Linux 7 hosts tonight. I’ll add an update here to say how they’ve gone.

With all the other Oracle updates that have just come out, I’ll be doing loads of Vagrant and Docker builds over the next couple of evenings, so this should get a reasonable workout.

Cheers

Tim…

Update: The installations on macOS Mojave and Oracle Linux 7 hosts worked fine too.

The Art of Miscommunication : About that thing from last week…

One of the things I get all the time is an apparent continuation of a conversation I was in some time ago, and I’m meant to pick up the thread without any explanation or context.

Depending on the people you are dealing with, this can be quite an easy trap to fall into. As a DBA that looks after many instances of multiple database engines, middle tier technologies and load balancers, I tend to get pulled into loads of conversations. For the person in question, let’s say a developer working on one project, they see this interaction as a one-to-one relationship between them and me, but for me it’s a one-to-many, as I’m dealing with many such conversations at the same time.

When I’m in that position I’ve stopped trying to figure it out, and now the conversation goes something like this.

  • Person : You know that thing we were talking about last week?
  • Me : No.
  • Person : You know, that thing…
  • Me : I literally have no idea. Please explain…

In some situations, it turns out it wasn’t even me they had the conversation with, or I wasn’t copied into the emails. A fact that only becomes evident when they take the time to order their thoughts…

I’m generally pretty happy to help people out, but I’m not going to go through hypnotherapy to pull back distant memories in order to continue a conversation you think I should remember. As you saw from my previous post on this subject, I expect each interaction to be self-contained. If there is any context necessary, it should be in the interaction itself. I shouldn’t need the skills of Professor X to pull it out of your head…

So before you pick up the phone, start typing on chat, or begin an email, take a second to plan the conversation in your own mind.

  • What introduction is necessary to get people up to speed?
  • Is there any prior knowledge I’m assuming, that I probably shouldn’t?
  • What is the main purpose of this interaction?
  • What are the outcomes I’m looking for?

It will only take a couple of seconds to figure this out. I’m not asking you to spend an hour preparing for a five minute chat, but don’t just launch into a stream of consciousness and expect everyone else to jump back in at exactly the same spot they left.

Cheers

Tim…

Video : JSON_SERIALIZE Function in Oracle Database 19c Onward

Today’s video is a brief run through the JSON_SERIALIZE function, introduced in Oracle 19c. If you have used any of the other SQL/JSON functions, it’s going to feel pretty familiar.

For those people that prefer there information in written form, you can read about this function here.

The star of this video is Zahid Anwar, or ZedDBA. πŸ™‚

Cheers

Tim…

The Art of Miscommunication : Read the Chain

I can’t express how frustrating it is to be passed an email that’s bounced around multiple times, then ends up in your inbox with a message of, “Please action this!”

You then spend the next X minutes reading the whole of the chain, trying to understand what you are being asked to do, and eventually get to something that could have been expressed in a couple of sentences, which would not have wasted your time. Sometimes the context in the chain is important, but on many occasions you just need to know what they want you to do.

So what should you do?

Put the action in your email and copy/paste any necessary information into it, so it becomes a self-contained mail. The rest of the chain can remain there, just in case someone wants the additional context, but the email can be read in isolation. A simple technique is to include a TL;DR which cuts to the chase, and all the additional stuff is there if someone needs it. I sometimes do this type of thing.

TL;DR

We need to do X because it is about to explode!

Boring Stuff:

Full background about the issue, including references to things further down the chain…

I’m not trying to claim I’m perfect at this, but I seem to be the victim of this bad communication a lot!

Relevant Subject Text

Over the course of an email chain, the subject of the conversation often changes, but people rarely change the subject of the mail, so when something with a subject of “P1 System X is down!” keeps appearing in your inbox, it gets very tiresome very quickly!

Now I understand that for some people keeping the same subject may seem important, as they remember the discussion, but when you are part of loads of chain emails like this, each running for days, having the wrong subject in the email can be really problematic.

What’s in the Chain?

Another thing about email chains is you really need to check what is written in them before forwarding them to others.

I had one occasion in my current company when I was forwarded an email. I read the whole chain to understand the context and found a consultant telling lies about me to try and cover his own incompetence. You can bet I went supernova and replied to everyone that ever read that email chain, including the evidence to prove the consultant was a lying scumbag piece of shit. He still works here by the way! I hope he’s reading this!

Cheers

Tim…

PS. I accidentally deleted the contents of my inbox this morning. It’s amazing how quickly that solves the frustration of bad communication! πŸ™‚

ORDS, SQLcl and SQL Developer 19.1 Released, and some Vagrant and Docker Stuff

Yesterday Kris Rice put out some tweets to say ORDS, SQLcl and SQL Developer version 19.1 had been released.

As usual I downloaded SQL Developer and put it on my desktop, and I started the process of updating my Vagrant and Docker builds. If you are interested in that stuff, you can find those updates here.

You won’t be surprised that these updates are pretty simple. Just replacing the environment variables with the new version numbers. Such are the joys of automation. πŸ™‚

Happy upgrading!

Cheers

Tim…

APEX 19.1 Upgrades : My Experience

With the exception of one application, which is taking a little longer to test, we’ve upgraded all our APEX installations to APEX 19.1.

I thought it would be good to share my experience of this, in case anyone is a little on the cautious side. πŸ™‚

The vast majority of upgrades went fine. We just did the standard upgrade (install), without trying to minimise the downtime at all.

I should spend some time playing with the method for reducing downtime, but it’s hard to justify when the downtime is already short and acceptable. πŸ™‚

One group of databases did prove problematic. It has done for previous upgrades also. The upgrades failed and I had to uninstall APEX, do a little bit of cleanup (dropping users), install it again, recreate the workspaces and redeploy the applications. It was a pain in the ass, but not difficult or time consuming. I have no idea why they failed, but as I said, it’s not the first time that has happened for this group of instances. If I had more time to play with it I’m sure I could find out, but as I know a reinstall fixes it, and time is an issue, you know what I’m going to do. Just run the scripts and move on…

As far as the applications themselves, there were no dramas. We try to keep things simple and most things are pretty vanilla, so it’s not like we are pushing any boundaries, which will expose anything. πŸ™‚

I’ve seen some people have had problems with APEX 19.1 when it’s fronted by Apache and Nginx reverse proxies. We’ve got a mix of ORDS on Tomcat, and some things still using mod_plsql (don’t judge me πŸ™‚ ) on OHS. This is all fronted by F5 Big IP load balancers as the reverse proxy, and we’ve not had any of those issues. πŸ™‚

So all in all, pretty easy and what I was expecting.

Cheers

Tim…

PS. As always, I feel the need to point out we are a relatively small user of APEX, but it’s growing. Having said that, it’s installed on almost all of our Oracle databases. Added to that, I’m really aggressive about APEX upgrades, and will be even more so when the last of our systems move over to ORDS. Others may want to exercise a little more caution than me. πŸ™‚

Video : JSON_MERGEPATCH Function in Oracle Database 19c

Today’s video is a run through the JSON_MERGEPATCH function, which was introduced in Oracle 19c.

For those that don’t do video, this was based on the following article.

The star of today’s video is Rene Antunez.

Cheers

Tim…

Oracle Help Center of the Future: Reimagining Documentation (COLLABORATE 19)

If you follow me on Twitter you will know I recently had a conference call with the Oracle Documentation folks. We were discussing a number of points, some of which were related to a blog post of mine here.

Following that Roland Mcleod from the team mentioned they would be at Collaborate 19. This is an ideal opportunity for people to give their feedback directly to the team, and help shape the future of the documentation. Please go and speak to them, and give some constructive feedback about the documentation for whatever Oracle products you work with. Let them know what you like, dislike and how things would work better for you! It’s important they understand how you like to consume information, if you want the documentation to improve.

It’s also important that a variety of people get involved. Young, old, experienced and fresh to the game. We all like to consume information in a different way, and it’s important the documentation works for everybody.

I also said I would give their Collaborate 19 sessions a shout out, so here is what Roland sent me.

Can you reimagine Oracle Documentation and Help?

The Oracle Help Center is undergoing a complete redesign. We need all customers, partners and consultants to help us make it work for you.

Please attend one of our sessions and come by to see us at the Oracle Exhibit Area: Oracle Help Center Ambassadors!

Session ID: 112040
Oracle Help Center of the Future: Reimagining Documentation
10:30 AM–11:30 AM Apr 8, 2019
CC 2ND FL 225B

Oracle Help Center of the Future: Reimagining Documentation
3:15 PM–4:15 PM Apr 8, 2019
CC 2ND FL 225B

Session Abstract: In this interactive session; you’ll have an opportunity to provide your feedback about the current and future Oracle Help Center (docs.oracle.com). You will be invited to share how you use documentation in your role and at your organization. This session includes a brief preview of the future Oracle Help Center experience.

Cheers

Tim…

OUG Ireland 2019 : It’s a wrap for me!

This is going to be a really short post, because the event was really short for me.

It was an early start, which meant a lack of sleep. As usual, this made me feel terrible. I never sleep well, so when something interferes with my already terrible routine I really can’t handle these days. The flight across was fine, and I got to the hotel at the correct time. Unfortunately, I had made a reservation for the wrong month. They had free rooms, so I paid for a room for about twice the price of the original room I booked. I got a shower and sat down to think. I then booked a new flight home for that evening.

I had a couple of DMs from concerned folks who had seen my tweets. Debra came across to chat to me, as she was flying out after lunch, and I had decided I was only turning up for my own session.

My session was a β€œMultitenant : What’s new in Oracle Database 18c & 12c Release 2” at 15:10. I did the session and went back to my room to wait for my flight home. When the time came, I flew home. Everything was fine.

I’m sure the conference was great, because it always is. Sorry for not being present for most of it.

Cheers

Tim…