Video : Data Pump Checksums in Oracle Database 21c

In today’s video we demonstrate the use of Data Pump checksums in Oracle Database 21c.

The video is based on part of this article.

The star of today’s video is Franck Pachot, who is checking out his escape routes. 🙂

Cheers

Tim…

Video : RANK and DENSE_RANK Aggregate Functions : Making Ranking Predictions

In today’s video we demonstrate the RANK and DENSE_RANK aggregate functions, using them to make ranking predictions.

The video is based on part of this analytic functions article.

RANK and DENSE_RANK Analytic Functions

You might find these useful.

The star of today’s video is Kim Berg Hansen, who is an all round SQL and PL/SQL good guy, as well as a tireless contributor to the Dev Gym.

Cheers

Tim…

What architecture are you using for your production Oracle databases? (Poll Results Discussed)

I was having an email discussion with the folks from DBmarlin, and the question came up about the adoption of the multitenant architecture. Were people using the multitenant architecture, or sticking with the non-CDB architecture for now?

Followers of the blog know I threw my hat in with the multitenant architecture from Oracle 12.1.0.2 onward. We use Oracle 19c for everything of value now (there are a couple of dead projects still on 11.2) and all but one of those projects use PDBs. Suspecting I was not the norm here, I asked some questions on Twitter.

As usual I’m going to start with some caveats. The sample size is small. People who interact about tech on social media my not be a diverse sample. I’m going to act like these results are representative of the wider scene, but they may not be.

Here is the first question.

What architecture are you using for your production Oracle databases?

The fact that only 33% were on non-CDB only was a positive sign in my view. The introduction of the multitenant architecture made a lot of people nervous, and it was not without its problems in the early days. Even so, the combined total of only non-CDB and mostly non-CDB is still 50% of respondents. When you consider Oracle 21c makes the multitenant architecture mandatory, and the next long term release is 23c, there is a lot of work for people to do when they make the switch to 23c. The conversion is simple enough. It’s the testing resource that could hurt people.

Having 50% of people using mostly PDBs or all PDBs is a really good sign, and will make life much easier for them when they come to upgrade to the next long term release.

To dig a little deeper I asked this question.

Are you provisioning new production Oracle databases as PDBs?

So just over 65% of people said they are provisioning new Oracle databases as PDBs. That’s very positive, and makes a lot of sense going forward. Why would 35% of people stick with the non-CDB architecture for new databases? Some things I can think of include.

  • They are using an older versions of the database, and don’t have the option of using the multitenant architecture.
  • They want a one-size-fits-all approach to the database, and will convert everything when they are forced to.
  • Vendors don’t support the multitenant architecture. I have one project where I suspect the vendor doesn’t even know the multitenant architecture exists, let alone supports it.
  • Internal development teams haven’t caught up with the database version. From my experience, the only thing that was really affected by our move to PBDs was CRON jobs using OS authentication. We switched to using secure external password stores and everything was fine. I wrote an article on possible solutions to the OS authentication issue here.

If I was not working at my company, I don’t believe they would have been running on 19c with PDBs. I’ve been pushing for many years to improve the attitudes to upgrades and patching. The easy path is to do nothing…

Finally I wondered how many people were purchasing the multitenant option. Remember, from 19c onward you can run up to 3 user-defined PDBs without having to buy the multitenant option.

For those people using PDBs for production Oracle databases, have you bought the Multitenant Option?

At 35%, I’m actually surprised how many people have purchased the multitenant option. I expected it to be a lot lower. Don’t get me wrong, I think the multitenant architecture is fine. I’ve been advocating for people to switch to it and use lone-pdb since it was introduced on Oracle 12.1. I would like to use more than 3 PDBs per 19c instance, but I can’t justify the cost for a feature that I could argue should be free in all editions.

So there you have it. A quick snapshot of what my followers are saying.

Remember, the multitenant architecture is mandatory from Oracle 21c onward, with Oracle 23c being the next long term support release, so you are going to have to get comfortable with this stuff if you want to remain in support long term.

If you want any help getting to grips with the multitenant architecture I have a load of articles and videos.

Cheers

Tim…

Video : SQLcl : Data Pump (Part 2)

In today’s video we demonstrate table-level export and imports using the integration between SQLcl and Data Pump.

This video builds on the first video, so it makes sense to watch that first.

Both these videos are based on this article.

I have a few articles on other SQLcl features, which you can find here.

The star of today’s video is Craig Shallahamer. Craig is the only person I know who defies the first law of thermodynamics, as he’s able to produce more energy than he consumes. If you’ve seen him teach or present, you’ll know what I mean. If you haven’t, you really should! 🙂

Cheers

Tim…

Chasing an Audience

I’ve touched on this subject in my writing tips and public speaking tips, but I wanted to elaborate a little, so here goes…

If you are creating content, at some level you want people to see that content. I always say I write for myself, and I do, because I have a terrible memory and I like to be able to reconnect with a subject. The best way I know how to do that is to take notes that I can refer back to later. Having said that, 22 years ago I made the choice to make my notes available on the internet, and so some part of me wanted people to read them. If not, I would have password protected them…

So what do you create content about?

This is where we get on to the subject of chasing an audience. I always say you should write about what is important to you. I think that’s the only way you can sustain any level of output for a prolonged period of time. Over the last 22 years I’ve seen many people come and go. Many! If you happen to be producing content that has mass appeal, you may well get a lot of readers and followers. If you are producing content on a niche topic, the likelihood is your base of followers will be smaller. I figure that should be obvious. Either way, you should do what you care about.

Are you pleasing your audience?

Even when you have built up an audience, not everything you produce will resonate with them. My website is predominantly known for Oracle DBA, SQL and PL/SQL articles, but in my day job I’m an allrounder. I have articles on the website about a range of things including general Linux topics, Terraform, Ansible and Containers. Invariably anything I produce that is not about core Oracle technologies performs really badly in terms of hits/views. A good example of that is my recent run of 10 videos about Ansible (YouTube playlist). From a views perspective is was a disaster. 🙂 I can’t lie and say that’s not a bit disappointing, but if I’m honest I knew it wouldn’t go well. It’s not what I’m known for, and it’s not a subject a lot of my core audience care about that much.

The important point is I wanted to make those videos, so from that perspective I achieved what I set out to do. Was it good for my core audience? No. Do I care? No. 🙂

I think you have to cut yourself some slack and understand not everything you produce will strike a chord. That’s fine. Don’t sweat it…

Does your audience span multiple platforms?

When I started my YouTube channel I figured I would get loads of subscribers and views because my website was so popular. I very quickly found out that was not the case. Most of my core audience don’t really care about watching videos on Oracle topics. Sure there is some crossover, but not that much. If I compare the stats for an article and a video on the same subject, the article out-performs the video by several orders of magnitude. I’ve pretty much had to build my YouTube following from scratch.

If you are producing content on multiple platforms, don’t stress about this. You will always have some platforms that work better for your content than others. If you enjoy pushing content to multiple platforms, do it. If not, stick with the ones you are happiest with, even if they aren’t the best performing…

Controversy sells, but…

I’ve said this numerous times before. If I blow my stack in a blog post, or on Twitter, it’s easy to get a lot of attention. On several occasions I’ve written negative posts about Oracle and had people reach out to me from the press for a quote. They love that “Oracle fanboy attacks Oracle” angle. Controversy sells, but the attention from controversy is fleeting. You’ve either got to keep doubling down on things and getting more extreme, or you will lose that attention.

Personally I think it’s important for the message to remain positive. I made a decision many years ago that I would try to keep my main website free from opinions, but allow myself some more latitude on the blog. I often say the website is for facts. The blog is for bullshit. 🙂

I do throw in some clickbait, like “The Death of the DBA” type articles, from time to time, but that’s because I think people are sleeping on a subject and I want to give them a kick. I don’t want people to wake up one morning and realise they’ve been left behind. So I could argue this type of “negativity” is done for a positive reason…

It’s not for me to tell you what you should write about, but I think you need to consider if you are looking for a viral moment, or something more sustained. I don’t think controversy is sustainable.

What about professional content creators?

If your job is being a content creator, you are going to have a lot more invested in pleasing an audience. If nobody is reading or watching your stuff, you aren’t going to get paid. You’ve got to look for subjects that pay the bills. I understand that, and this post is not really directed at you. 🙂

Conclusion

Some people may join in for the ride. Some people won’t be interested. Ultimately it doesn’t really matter. You do you! 🙂

Cheers

Tim…

Video : Ansible Playbooks : Vault

In today’s video we demonstrate how to use Ansible Vault with Ansible Playbooks.

The video is based on this article.

You might find some useful stuff here.

The star of today’s video is Ilmar Kerm, who is very vocal about automation in the Oracle space.

Cheers

Tim…

Video : Ansible Playbooks : Roles

In today’s video we demonstrate how to use role with Ansible Playbooks.

The video is based on the following article.

You might find some useful stuff here.

The star of today’s video is Anton Els, who I first met when he worked for DBvisit.

Cheers

Tim…

Video : Ansible Playbooks : Users and Groups

In today’s video we demonstrate how to manage users and groups with Ansible Playbooks.

The video is based on the following article.

You might find some useful stuff here.

The star of today’s video is Connor McDonald of AskTom fame. You can check out his YouTube channel here.

Cheers

Tim…

ORDS : Migration of Legacy Configuration – Why You Shouldn’t Do It!

Just in case you didn’t get the memo, the installation and configuration of ORDS has changed in version 22.1 onward. As well has the changes to the command line, there is also a different structure for the configuration files. ORDS gives you an option to migrate your existing configuration from the legacy format to the new format, which is good right? Maybe not…

Let me start by saying, there is absolutely nothing wrong with doing this conversion if that’s what you want, but I’m going to explain why it’s a bad idea from my perspective. You are allowed to disagree, and I would like to hear your reasons, but I’m going to explain why I think you shouldn’t do this…

Build Scripts

We run ORDS using Tomcat in Docker containers. Each instance gets one or more ORDS containers. There is a load balancer in front of ORDS to handle CA certificates etc.

Every time we have an update of ORDS, Java, Tomcat or SQLcl, we build a new image, throw away the old containers and create new containers from the new image. As a result, it’s really important we are able to rebuild everything cleanly. The Docker image build is essentially our build script. Even if you don’t use containers, I would suggest you have a build script for everything. You want to be sure that in a nightmare scenario, you can rebuild everything quickly and cleanly.

What’s this got to do with migrating the old configuration? What is your build script? Build and configure in the old version of ORDS and convert the config to the new version? I don’t think so. IMHO you need to invest a little time and create new build scripts using the new version of ORDS. You can’t rely on a bunch of commands you ran in an old version of the product…

But we have a complex build!

I can hear the cries of, “but we have a complex build, so the conversion is easier!” If you have a complex build, replacing it is even harder should something go wrong, so having a version controlled build script is even more important for you than people with simple builds. I wouldn’t be happy about going live with something I couldn’t rebuild. Added to that, the time and effort of getting to grips with the new command line will teach you more about the product, which allows you to support it better.

Web Service Definitions

As I’ve said before, the changes for ORDS are mostly around installation and configuration. Your existing web service definitions will work just fine. They are stored in the database, and will remain untouched by the upgrade. You still need version controlled scripts for their definitions, but you shouldn’t need to run any of them when upgrading ORDS.

So when I’m talking about the migration of config, I am not talking about your web service definitions. I’m talking about the installation and configuration of ORDS at the top-level.

Conclusion

I completely understand why this conversion option exists. Someone will want to use it and giving people choices is typically a good thing. I just don’t think people should use it.

Remember, my thoughts are based on my experience of using ORDS, and I understand that can be a very limited view point. I would be interested to know if someone has a compelling reason why my view on this is wrong. It’s unlikely what you say will alter the way we use ORDS, but it’s always good to know of different approaches, because you never know when they will come in handy in the future…

Tim…