Dbvisit 9.0.02 : Automatic Failover

I recently wrote about the release of Dbvisit 9, where I included a simple installation article and Vagrant build to get it up and running.

Yesterday I got an email about version 9.0.02, or 9.0.2 depending on how you want to write it. The interesting thing about this release is the introduction of an observer, which enables automatic failover. If you want to try it, there is a free trial available here.

Not surprisingly, the installation is very similar to the previous version, so I’ve updated my original article, and added the observer installation, setup and a quick automatic failover test.

I had to redo the screen shots as the “Configuratons” screen has changed a little to include the observer. I really don’t like taking screen shots!

My existing Vagrant build (here) worked fine. All I had to do was swap the version of the software in the directory, and Bob’s your uncle! Of course, that didn’t install and start the observer, so I did a couple of tweaks and now it does. If you fancy having a play with Dbvisit Standby, this Vagrant build is a really easy way to do it.

Happy days!

Cheers

Tim…

Video : CORR : Problem Solving using Analytic Functions

In today’s video we take a look at the CORR aggregate and analytic function.

This video is based on the information found here.

The star of this video is Vikki Lira, who used to be part of the team keeping the ACE program moving, but is now a Client Engagement Marketing Manager at Businessolver.

Cheers

Tim…

Video : AVG, MEDIAN, MIN and MAX : Problem Solving using Analytic Functions

In today’s video we take a quick look at the AVG, MEDIAN, MIN and MAX aggregate and analytic functions.

You can get more information on these and more analytic functions here.

The star of today’s video is Sten Vesterli, in one of the rare moments at OpenWorld when he’s not in a wetsuit. ๐Ÿ™‚

Cheers

Tim…

Enterprise Manager Cloud Control 13.3 Silent Upgrade

A few days ago I put out a post called Enterprise Manager Cloud Control 13.3 Vagrant Build. In a comment on that post Dinesh said,

“Would like to see the silent upgrade from oem12c to oem13c upgrade post from you”

I normally try to keep on top of upgrades, so I’ve never done a jump bigger than one version, but I was checking through the documentation, and assuming it’s a supported start version, there isn’t much difference between the upgrades from most versions, so I thought I would give it a go. As I mentioned in the last post, I already had a GUI upgrade article.

I didn’t have a silent upgrade though. I do now. ๐Ÿ™‚

In order to try this out I did a Vagrant build of Cloud Control 12cR5, to give me an easy way to get a clean starting point. You can see that here. If you want to practice the upgrade, it’s a really easy way to do it.

I’ve left the agent upgrade using the Cloud Control interface, but there is an example of how to do it silently using WLST here. It’s pretty simple.

So not only did I not expect to be writing that post a few days ago, but I certainly didn’t expect to be writing this one. ๐Ÿ™‚

Cheers

Tim…

Video : FIRST_VALUE and LAST_VALUE : Problem Solving using Analytic Functions

Today’s video is a quick run through the FIRST_VALUE and LAST_VALUE analytic functions.

You can find more information about these and other analytic functions in the following articles.

The star of todayโ€™s video is Lonneke Dikmans. She probably won’t believe me, but I probably quote/paraphrase her advice more often than any other person in the Oracle space.

Cheers

Timโ€ฆ

Why Automation Matters : Reducing the Cost of Failure

Recently I watched a video called The Future of Faster Enterprises by AWS Enterprise Strategist, Miriam McLemore. I think its a really good video, even if you don’t care about AWS or cloud in general. There is a wider message there.

One of the points Miriam raised was “Reducing the cost of failure”, which sparked a conversation between myself and a colleague. When you’re trying to improve the way you work, you are going to have to try new things. Not all of those things are going to work out. The important point is you try them, see if they work for you. If they do great. If they don’t, you throw them away and move on. Reducing the cost of failure is a really important part of encouraging the culture of experimentation needed for continuous improvement.

Recently I wrote a post called you have to keep working just to stand still. Now add to that the work required to move your company forward and I think you’ll see why any barrier to progress is a problem.

So what factors affect the cost of failure? Here are a few.

  • Lack of automation. If humans are involved in providing infrastructure, it’s going to increase the time it takes to set things up (see lost time), and they will get disgruntled when you ask them to throw it away 2 hours after you’ve got it. You need to be able to build and burn kit rapidly to have any hope of experimenting. This is why the focus on the automation part of flow in DevOps is so important, for both business as usual and experimentation.
  • Bloated waterfall process. If your company expects a detailed plan of action before you so much as fart, you are going to fail. You have to be agile. I’m not using the term agile in the, “I’m too lazy to plan”, sense. I mean proper agile.
  • Time. Your company has to value progress and be willing to allocate time to it. You can’t rely on the fact Beryl and Bert go home every night and no-life their way through learning something new, so the business can reap the benefit of it for free. Yes that happens, but companies that rely on it will fail.
  • Be accepting of failure. I’m not talking about being happy to be rubbish. I’m not talking about being accepting of failure in well defined business as usual (BAU) work. I’m talking about being accepting of failure during experimentation. Not everything will work. Not everything will be the right solution for you or your company. You have to be willing to try and fail or you will fall at the first hurdle.

Check out the rest of the series here.

Cheers

Tim…

Video : LAG and LEAD : Problem Solving using Analytic Functions

Today’s video gives a quick demo of the LAG and LEAD analytic functions.

There is more information about these and other analytic functions in the following articles.

The star of today’s video is Gwen (Chen) Shapira of Kafka fame!

Cheers

Tim…

Enterprise Manager Cloud Control 13.3 Vagrant Build

A little short of a year ago I knocked up a Vagrant build to prepare an environment for practising Cloud Control 13.3 installations and upgrades. This just automated the creation of the environment and installation of the database, ready for me to start playing around with the Cloud Control bit. At the time I released these articles.

I didn’t mention anything about the Vagrant build as it didn’t do much more than build the database, so it didn’t seem worth mentioning. It was just a convenience for me.

More recently someone pointed it out on Twitter and I made a note to myself to “finish it off” and make it do a full silent build, then kind-of forgot again.

A few days ago I had a self-induced problem with our Cloud Control server, and I realised I didn’t have the best plan of action for a complete rebuild scenario. I had backups, so I didn’t need to do a rebuild, but that doesn’t stop me wanting to be able to do it, so I did the following things…

I scripted a silent build of the work environment we use. I put together a general article to show how to do a silent build of a simple installation too. If you’re interested you can see it here.

I wrote some EMCLI scripts to do most of the tasks I needed for a complete rebuild. We already use EMCLI for some of the stuff, like jobs, but I filled in the gaps where I had been a bit lazy. Those are all checked into a company Git repo, and they are quite specific to what we need, but there are some basic EMCLI examples available here, if you are interested in getting into EMCLI.

Finally, I made my Vagrant build a fully automated Cloud Control 13.3 build on Oracle database 18c. According to the certification matrix, Oracle 19c is not yet certified for the repository database (but someone on Oracle-L said this certification is imminent). If you are interested in playing around with Vagrant, you can find it here. I’ve managed to get away with 6G of memory, but that makes it chronically slow. The more memory you can throw at it the better. ๐Ÿ™‚

I didn’t really expect to be revisiting this stuff a year down the line, but it was born out of necessity, or at least necessity for my peace of mind. ๐Ÿ™‚

Cheers

Tim…

Video : Ranking using RANK, DENSE_RANK and ROW_NUMBER : Problem Solving using Analytic Functions

Today’s video is a run through ranking data using the RANK, DENSE_RANK and ROW_NUMBER analytic functions.

There is more information about these and other analytic functions in the following articles.

The star of today’s video is Chris Saxon, who is one of the folks keeping the masses up to speed at AskTom.

Cheers

Tim…

Technology : You have to keep working just to stand still!

This is a topic of conversation that has come up a lot recently, both at work and whilst updating the computers for family members, so I thought I would write something down.

I don’t think people realise how much work it takes to stand still in the technology world.

When we think about the pieces that make up your typical on-prem web application running on virtual machines, what does standing still mean? To me it means the following.

  • Database : A regular patching cycle for the database and the operating system it sits on. Also, upgrades/rebuilds as required.
  • Application Server : See database.
  • Web Layer : See database.
  • Load Balancer : Regular patching of the appliance, and replacements/upgrades as required.

Now multiply all that up for all the projects you are working on. That represents a substantial amount of work, whether you call is Business As Usual (BAU) or Internal Projects. What’s worse, there is no “visible benefit” from this work. Most users won’t have a clue it is happening, as they won’t get a new screen or a new widget to play with. It’s pretty much invisible, but it has to happen, just to remain static.

At this point I can hear people saying, “But standing still is literally doing nothing, so what are you talking about?” Well, if today I have a fully patched system using supported versions of all software, to stand still I have to remain on a fully patched system using supported versions of all software. If that means upgrades or rebuilds of kit, so be it.

Remember, if I do nothing at all, I’m no longer standing still, I’m moving backwards!

Think about that for a second. To stand still I’ve got to learn all the new stuff so I can upgrade to 19c and get long term support for my databases, even if I didn’t want to. Same goes for other products. Even if I use none of the new features. There is a big investment needed by a company, and for you personally, just to stand still. Now breaking new ground, well that’s a whole different ball game… ๐Ÿ™‚

So what are the solutions:

  • It helps if you recognise the problem in the first place. Far too many people think doing nothing is standing still, when it’s not.
  • Automation will help you stay on top of things. Reliable and repeatable processes make keeping things up to date a lot simpler. Automated testing is the icing on the cake here.
  • Cloud? Platform as a Service (PaaS), when it is done right, can help you keep on top of things. Having a service where you don’t have to worry about OS, DB and app server patches, because it’s all handled by the platform is a big bonus.

Cheers

Tim…

Some related posts: