Oracle Cloud Infrastructure (OCI) and Terraform : First Steps

We’ve got some stuff going on at work using Terraform, or Terrahawks as I like to call it, so I figured it was about time I had a play with it. I probably won’t be doing much of the project work myself, but I like to understand a bit about all the things we do.

The biggest problem with going on one of these “learning missions” is finding something to do that makes it feel real to me. I have some test environments across two Oracle Cloud accounts. One is my free tier account and the other is a trial account I get through the Oracle ACE Program, that has quite a lot of credit. 🙂 I figured I would automate the build of my test environments, so I can trash and rebuild them at will. So with that as my mission, I’ve taken my first steps into Terraform.

I’m not finished yet, and I’m not saying this is production ready “best practice” stuff. It’s just something I’ve been playing around with and it works great. Fortunately the Terraform OCI Provider and resources do all the heavy lifting, and if you are used to using Oracle Cloud, it’s pretty easy to navigate around the documentation, as a lot of it is organised similar to the menu structure. You can find the top-level of the docs here.

As I always say in these situations, it’s early days for me. I’ve got a number of things I want to build, and I’m sure that process will teach me more, and make me look back at these articles and cringe. That’s more rewriting on the way. 🙂

I’m putting this stuff into a GitHub repo, but I’ve not published that yet. I’m still trying to figure out what I should and shouldn’t include. Update. Here’s the GitHub repo.

Cheers

Tim…

PS. If you don’t remember Terrahawks, this might remind you.

Video : FOR LOOP Iteration Enhancements in Oracle Database 21c

In today’s video we demonstrate the FOR LOOP iteration control enhancements in Oracle database 21c.

The video is based on this article.

If you’re not already got up to speed with qualified expressions in 18c, you might want to check this out also.

The star of today’s video is Alex Nuijten, of PL/SQL and in recent years APEX fame.

Cheers

Tim…

Video : Using Expressions in Initialization Parameters in Oracle Database 21c

In today’s video we demonstrate using expressions in initialization parameters, introduced in Oracle database 21c.

The video is based on this article.

The star of today’s video is Deiby Gómez, who is a fellow Oracle ACE Director, and was kind enough to take me sightseeing when I visited Guatemala for a conference.

Cheers

Tim…

You don’t need to be an expert to be useful!

I come from a time when you could be an expert at one thing and be really useful to a company, but I think that time is long gone. If you only have one skill, no matter how good you are at it, you probably can’t achieve anything in tech without waiting weeks to get people to help you with all the stuff you don’t understand. In recent years, being a tech allrounder seems to be much more useful than being an expert. Maybe it always was.

Of course, this poses its own set of problems. How do you learn all this stuff? That’s the hard part and there aren’t any short cuts. There isn’t a “full stack developer course” that will teach you. You’ve just got to work on your Google-Fu and start getting your hands dirty. On the positive side, there is a lot of good information out there to get you started. Blog posts and videos that will get you from zero to adequate in a short amount of time if you put in the effort.

Over the last few years I’ve played with a lot of different technology, and I still find new stuff interesting, but it’s taken me a long time to deal with the fact I’m crap at most of it. Good enough to get the job done and fool people into thinking I know what I’m doing, but ultimately only one weekend of playing with the tech and a couple of Google searches ahead of some other people.

So my advice to people in tech is:

  • Try and get involved in as many aspects of tech as possible.
  • Forget trying to be an expert in any of them. Just try to get good enough to be useful.
  • Be humble enough to realise that what you say and do today may change tomorrow when you’ve Googled a bit more.
  • Try to understand the big picture. How things fit together and how processes work. Programming languages and services change all the time, but understanding the goal and the processes to get there don’t change as much as you might think.

Remember, it’s just my opinion!

Cheers

Tim…

Video : Partial Indexes for Partitioned Tables

In today’s video we demonstrate partial indexes for partitioned tables, introduced in Oracle database 12.1.

The video is based on this article.

The star of today’s video is Carry Millsap, who is being lead astray by a very naughty James Morle.

Cheers

Tim…

Video : JSON_TRANSFORM in Oracle Database 21c

In today’s video we demonstrate the JSON_TRANSFORM function, introduced in Oracle database 21c.

This video is based on the following article, which has a lot more information and examples than the video does.

I’ve written a bunch of stuff on JSON and ORDS, and there’s a YouTube playlist.

The star of today’s video is Tom Kyte. Here are two funny (to me) stories about my interactions with Tom.

On my first visit to OpenWorld in 2006, Tom walked up to me and introduced himself. I was blown away he even knew who I was. It was a massive ego trip. On my next visit to OpenWorld in 2007, I walked up to Tom and said casually, “Hi Tom”. He looked at me, looked down at my conference badge, looked at me again and said, “Hi Tim”. Needless to say, my ego was placed firmly back where it belonged. I still laugh when I think about it now.

At a later OpenWorld I was sitting at a table and someone was fanboying me. Tom came along and asked if he could sit at the same table. I said sure. My fanboy turned and said in a rather snarky tone, “And who are you?” Tom replied, “Hi. I’m Tom Kyte”. Fanboy’s face immediately dropped and at that exact moment in time I became invisible, and fanboy began to fanboy Tom. It was priceless!

Good times!

Cheers

Tim…