Video : Oracle REST Data Services (ORDS) : Database Authentication

Today’s video is a run through the Database Authentication functionality in Oracle REST Data Services (ORDS).

As always, this is based on an article on the same subject.

There are better methods of authentication and authorization available from ORDS, which you can read about here.

The star of today’s video is Stew Ashton, who is barely audible over the noise of the bar. ๐Ÿ™‚

Cheers

Tim…

Video : Docker : Oracle Database Build

Today’s video is a look at a simple Docker build for an Oracle database. In this example we are using Oracle database 19c on Oracle Linux 8 (oraclelinux:8-slim).

You can get an overview of this build in the following article.

You can see my other Docker posts and builds here.

The star of today’s video is “The Why Guy” Jim Czuprynski. ๐Ÿ™‚

Cheers

Tim…

Video : Vagrant : Oracle Database Build (19c on OL8)

Today’s video is an example of using Vagrant to perform an Oracle database build.

In this example I was using Oracle 19c on Oracle Linux 8. It also installs APEX 19.1, ORDS 19.2, SQLcl 19.2, with ORDS running on Tomcat 9 and OpenJDK 12.

If you’re new to Vagrant, there is an introduction video here. There’s also an article if you prefer to read that.

If you want to play around with some of my other Vagrant builds, you can find them here.

If you want to read about some of the individual pieces that make up this build, you can find them here.

The star of today’s video is Noel Portugal. It’s been far too long since I’ve seen you dude!

Cheers

Tim…

Docker : New Builds Using Oracle Linux 8 (oraclelinux:8-slim)

Yesterday I noticed the oraclelinux section on Docker Hub included “oraclelinux:8-slim”, so when I got home a did a quick run through some builds using it.

  • ol8_ords : This build is based on “oraclelinux:8-slim” and includes OpenJDK 12, Tomcat 9, ORDS 19, SQLcl 19 and the APEX 19 images.
  • ol8_19 : This build is based on “oraclelinux:8-slim” and includes the 19c database and APEX 19.
  • ol8_183 : This build is based on “oraclelinux:8-slim” and includes the 18c database and APEX 19.

There are also some new compose files, so I could test database and ORDS containers working together.

Everything worked fine, but here come the inevitable warnings and comments.

  • The Oracle database is not certified on Oracle Linux 8 yet, so the database builds are just for playing around, not a recommendation.
  • The database preinstall packages don’t exist yet, so I installed the main required packages with DNF, but I didn’t do some of the additional manual setup I would normally do, so it’s not a perfect example of an installation. I assume the preinstall packages will eventually be released, and I will substitute them in.
  • The ORDS build is not subject to the same certification restrictions as the database, so as far as I know, I could consider using this, although the build I use for work differs a little to this and is still using Oracle JDK 8 and Tomcat 8.5.

If you are interested in playing around with Docker, you can find my articles on it here, and my public builds here.

Cheers

Tim…

Oracle Database 19c : Installations, RAC, Data Guard and Upgrades

I’ve been playing around with Oracle Database 19c on LiveSQL since it was upgraded, and I pretty much thought that would be what I was stuck with until the on-prem release, as I don’t have an Exadata and it’s not on Oracle Cloud DBCS yet. Having seen a bunch people doing stuff on VMs, I got a bit frustrated and looked on eDelivery and low and behold the 19c software is available for download, even if you don’t have a Exadata CSI. I’m sure 18c was restricted during this period…

I’m pretty sure you wouldn’t be supported to use this for anything real (that wasn’t Exadata of course) until the on-prem drop, which will probably be 19.3 if they repeat what happened for 18c, but it does allow you to have a play.

Having a bunch of Vagrant environments for 18c already, meant it was pretty easy to test a whole bunch of 19c stuff within a few minutes, as most of the basics are very similar. Just minor changes to package recommendations. As a result I’ve pushed out the following stuff in the last couple of evenings.

Along the way I’ve committed a whole bunch of stuff to GitHub.

  • Vagrant build of 19c on OL7 with APEX and ORDS (here).
  • Vagrant build of 19c on Fedora 29 (here).
  • Vagrant hands-off build of 19c RAC on OL7 (here).
  • Vagrant hands-off build of 19c Data Guard on OL7 (here).
  • Docker 19c on OL7 build (here).
  • Docker compose (here) and swarm (here) stacks.

It should be obvious, but remember this is literally the first time I’ve done this stuff with 19c, so things will change over time. I just wanted to try some stuff out to see what happened, and have some test environments to play with while I’m checking out the new features. Once the real on-prem drop happens I’ll bring these up to date.

If nothing else, this is once again proof of how awesome automation is. A few minor tweaks and boom, there’s a new set of test environments. ๐Ÿ™‚

Now I can get back to doing what I was meant to be doing… ๐Ÿ™‚

Cheers

Tim…

Video : Collation and Case-Insensitive Queries in Oracle Database

Today’s video is a run through the Collation functionality introduced in Oracle Database 12c Release 2 (12.2).

If videos aren’t your thing, you can find a lot more information about this subject in my article here.

The cameo in today’s video is Kim Berg Hansen. ๐Ÿ™‚

Cheers

Tim…

PS. Subscribe to my YouTube channel here.

Autonomous Database : “Hand-tuning doesn’t scale”

I was at a talk by Chris Thalinger at Oracle Code One called โ€œPerformance tuning Twitter services with Graal and machine learningโ€. One of the things he said was, “Hand-tuning doesn’t scale”, and it brought into focus some of the things that have been going on in the Autonomous Database, which is closer to my world. ๐Ÿ™‚

In my post called It’s not all about you! I discussed the reaction to a new feature mentioned in the ACE Director briefing. It has been spoken about publicly now, so I guess I’m allowed to mention it by name. The feature in question was Automatic Index Tuning that (insert Safe Harbour slide) might be in Oracle 19c, or in an autonomous database cloud service in the future. Once this feature was mentioned, the list of questions started to pile up, before we even knew what it was or how it was implemented. I mentioned my own reaction to this specific feature, but let’s look at this in the broader sense of autonomous services generally.

As I mentioned, watching Chris’ session brought all this into focus for me. Sorry if I’m stating the obvious, but here goes.

  • Even if I were capable of doing a better job than an automatic performance tuning feature, and I’m not sure I can, that is just me. Is everyone else I work with at my level of understanding or better? Is everyone else who works with the database across the world at my level of understanding or better? If the answer to that is no, then there is a need for feature X, whatever it is.
  • Let’s say I have a group of really skilled people that can do better than automatic feature X. Are they constantly looking at the system, trying to get the best performance possible, or are they working on hundreds or thousands of different targets, and actually spending very little time on each? As their workload grows, which it invariably will, will they be able to spend more or less time looking at each specific feature?

I know there are some consultants that get to go in and solve specific problems on specific systems, and maybe those folks will look down on automatic performance tuning features, but I have to look after loads of disparate systems and I get 30 seconds to get something done before I have to move on. I like to think I’m pretty good at Oracle database stuff, but I need all the help I can get if I want to keep things running smoothly.

When a new automatic feature is announced we always get super intense about it, which usually results in a lot of wailing and gnashing of teeth. Sometimes this is for very good reason, as the early incarnations of some features have been problematic, but over time they often become the norm. Think about the following, and what life would be like without them…

For some people reading this, they may never have experienced life without these features. Believe me, it wasn’t pretty! ๐Ÿ™‚

Whether it’s a specific automatic feature, like Automatic Index Tuning, or a grander vision, like the Autonomous Database family of cloud services, this is part of the natural evolution of the database. At *some point* in the future I can see all my databases running on the cloud and all of them being some form of autonomous service, regardless of which cloud provider is running them.

Check out the rest of the series here.

Cheers

Tim…

PS. I hope people understand the spirit of what I’m saying, but I feel the need to include a few statements, as some people on Twitter seemed to get the wrong end of the stick.

  • I’m not saying you can do a rubbish job and leave it up to an automatic tuning feature to fix your crap application. Bad software always runs badly, no matter what you do with it. You might be able to mask some of the problems, but you don’t fix them.
  • I’m not suggesting the development process shouldn’t include proper testing, including unit, integration, UAT and performance testing. See previous point.
  • The more you know about your platform, the better job you can do, even if you have automatic features to help you.

Oracle Database 18c “Hands-Off” Data Guard Build Using VirtualBox and Vagrant

I wanted to try something with Oracle 18c Data Guard, so I thought I might as well create a hands-off build of it using VirtualBox and Vagrant, much as I did with my recent hands-off RAC build.

I did the 18c build and figured I might as well do 12cR2 and 12cR1 builds too, as they were pretty similar. I could have done them as a single build with a few tweaks to sort out the differences, but I couldn’t be bothered. ๐Ÿ™‚

Along the way I noticed I hadn’t done a 12cR2 data guard article, so I did these.

Cheers

Tim…

Oracle Database 18.3.0 On-Prem for Linux

I was just about to go to bed when I saw this post by Mike Dietrich. Yay!

I’ve had access to 18c on the Oracle Cloud for some time, so I’ve already been able to write a bunch of stuff about it (see here), but it always feels geekier when it’s running on your own kit. It also makes demos a little less dangerous if you can fall back to your own machine. ๐Ÿ™‚

Of course I’m starting the downloads now, so maybe I’ll get to have a play tomorrow? ๐Ÿ™‚ If you want it you can grab it from here.

Happy upgrading…

Cheers

Tim…

Oracle Database 18c : Deprecated and Desupported

I was looking through the list of deprecated and desupported features along with terminal releases in Oracle Database 18c and there were some surprises.

This won’t be a complete list, so I would advise you to check itย out for yourself (starting here), because what is important for me may not be for you, and vice versa.ย In no particular order, and not taking it too seriously, here we go.

  • Deprecation of Oracle Multimedia : I guess we could see this coming. There was a comment by someone important in a previous OpenWorld briefing that sounded to me very much like, “But you store images on the file system!” I commented to a couple of people at the time, and even went to speak to some folks on a demo stand who weren’t best pleased, and here we are. Of course you can still store stuff in BLOBs and CLOBs, but it seems Oracle have given up on trying to do more than be a data bucket for multimedia stuff. Now this isn’t one of those, “we’ll deprecate it, but never remove it”, messages. The docs say it will not be present in 19c. Looking at the release docs, 19c is the equivalent of 12.2.0.3, so it will be removed during the lifespan of the 12.2 product. I know we are not meant to think of the old numbers anymore, but I think that is interesting.
  • Package DBMS_XMLQUERY is deprecated : I’m including this for the purposes of nostalgia. It’s a long time ago, but I think DBMS_XMLQUERY was the first XML-related package I used for generating XML in an Oracle database, although I had already done some XML parsing in 8i. It’s a good thing this is going, because it had a natural successor in DBMS_XMLGEN for a long time. Having it around only serves to confuse. Even so. ๐Ÿ™
  • Terminal Release of Oracle Streams : Streams have been deprecated for a long time, but 18c is the terminal release for it. The doc says, “Oracle Streams will be desupported from Oracle Database 19c onwards”, so in the lifespan of the 12.2 patchsets it will disappear. As soon as it was deprecated Streams was dead to me, but I still hear people talking about using it.
  • STANDBY_ARCHIVE_DEST and UTL_FILE_DIR desupported : Oh the bad old days, how I miss them. Everyone had TB and Rickets, but you could leave your back door unlocked! Screw your 24X7 operations, I’m bouncing the database because I want to add a new path to the UTL_FILE_DIR initialisation parameter. I actually had someone ask me about this a few months ago. Out with the old. I’ll get my coat!
  • Returning JSON True or False Values using NUMBER is Desupported : Returning 1 and 0 instead of ‘true’ and ‘false’ when speaking about JSON sounds silly to me, so I’m all in favour of this. I guess it will be annoying for those that have just got to grips with doing JSON in Oracle and have to refactor their code already because they chose the wrong path.
  • Oracle Administration Assistant for Windows is Desupported :ย  I only threw this one in because I know people lose their minds when some tool that is already long past its sell-by date is removed from the Windows implementation. Let’s start a Twitter campaign with #BringBackTheToolWeNeverUse and stick it to the man. ๐Ÿ™‚

No time to worry about what they are getting rid of. There’s all the lovely new stuff you don’t understand yet. That’s really what you should be afraid of! ๐Ÿ™‚

Cheers

Tim…