Vagrant Box Drama

I had a little bit of VirtualBox and Vagrant drama today.

I was doing my normal thing of recreating some test VMs and I started to get errors like this during the first part of the VM build, before the config scripts ran.

==> default: Machine booted and ready!
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:
VBoxService inside the vm claims: 6.1.12
Going on, assuming VBoxService is correct…
[default] GuestAdditions seems to be installed (6.1.12) correctly, but not running.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:
VBoxService inside the vm claims: 6.1.12
Going on, assuming VBoxService is correct…
Redirecting to /bin/systemctl start vboxadd.service
Job for vboxadd.service failed because the control process exited with error code.
See "systemctl status vboxadd.service" and "journalctl -xe" for details.
Redirecting to /bin/systemctl start vboxadd-service.service
Job for vboxadd-service.service failed because the control process exited with error code.
See "systemctl status vboxadd-service.service" and "journalctl -xe" for details.
Got different reports about installed GuestAdditions version:
Virtualbox on your host claims:
VBoxService inside the vm claims: 6.1.12
Going on, assuming VBoxService is correct…
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules. This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup
VirtualBox Guest Additions: or
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Kernel headers not found for target kernel
5.4.17-2011.5.3.el8uek.x86_64. Please install them and execute
/sbin/rcvboxadd setup
ValueError: File context for /opt/VBoxGuestAdditions-6.1.12/other/mount.vboxsf already defined
modprobe vboxguest failed
The log file /var/log/vboxadd-setup.log may contain further information.
==> default: Checking for guest additions in VM…
default: No guest additions were detected on the base box for this VM! Guest
default: additions are required for forwarded ports, shared folders, host only
default: networking, and more. If SSH fails on this machine, please install
default: the guest additions and repackage the box to continue.
default:
default: This is not an error message; everything may continue to work properly,
default: in which case you may ignore this message.
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!
/usr/sbin/rcvboxadd setup
Stdout from the command:
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel
modules. This may take a while.
VirtualBox Guest Additions: To build modules for other installed kernels, run
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup
VirtualBox Guest Additions: or
VirtualBox Guest Additions: /sbin/rcvboxadd quicksetup all
VirtualBox Guest Additions: Kernel headers not found for target kernel
5.4.17-2011.5.3.el8uek.x86_64. Please install them and execute
/sbin/rcvboxadd setup
Stderr from the command:
ValueError: File context for /opt/VBoxGuestAdditions-6.1.12/other/mount.vboxsf already defined
modprobe vboxguest failed
The log file /var/log/vboxadd-setup.log may contain further information.

The VM had booted, but because the guest additions weren’t working it couldn’t mount the shared folders, so none of the setup scripts had run.

Reading the output I figured the kernel-uek-devel package was missing from the Vagrant box, so I did the following…

I connected to the VM, installed the “kernel-uek-devel” package and exited from the VM.

vagrant ssh

sudo dnf install -y kernel-uek-devel
exit

Then I restarted the VM.

vagrant halt
vagrant up

During this second startup of the VM the problem kernel module was rebuilt, and the rest of the configuration steps ran the way you would expect from a normal first-time startup.

One of the issues about using someone else’s Vagrant box is you are at the mercy of what they decide to do with it. In this case I was using the ‘bento/oracle-8’ Vagrant box, which was built using Oracle Linux 8.2 with UEK 6, but the installed guest additions were not happy, and the packages were not present to allow the kernel module to be rebuilt on the fly.

If you are trying to use my Vagrant builds, which mostly use the ‘bento/oracle-8’ Vagrant box, and you are getting this type of issue, now you know what to do about it. Hopefully the next release of this Vagrant box will be less problematic.

Cheers

Tim…

Update: I spent some time figuring out Packer, and now I’ve switched all my OL8 builds to use my own image called ‘oraclebase/oracle-8’.

Video : Simple Oracle Document Access (SODA) for REST

In today’s video we’ll give a demonstration of Simple Oracle Document Access (SODA) for REST. This is a feature of Oracle REST Data Services (ORDS).

This video is based on the following article.

There are some other resources that might come in handy.

The star of today’s video is the son of Rodrigo Mufalani. Rodrigo is a fellow Oracle ACE and you can check out Rodrigo’s blog here.

Cheers

Tim…

Why I don’t want my presentations recorded!

I was on Twitter a couple of days ago and I mentioned my preference not to be recorded when I’m presenting. That sparked a few questions, so I said I would write a blog post about it. Here it is.

This is a bit of a stream of consciousness, so forgive me if I ramble.

The impact on me!

The primary reason I don’t like being recorded is it has a big impact on me.

I’ve said many times, presenting is not natural for me. I’m very nervous about doing it. I have to do a lot of preparation before an event to try to make it look casual, and almost conversational. It takes a rather large toll on me personally, invading every part of my life for weeks before it happens, and pretty much ruining the day(s) immediately before the event. In my head it’s going to be a complete disaster, and the public humiliation is going to be that much worse because I’m an Oracle ACE and Groundbreaker Ambassador, so I must clearly think I’m the shit, yet I can’t even present and don’t have a clue what I’m talking about. Classic impostor syndrome stuff.

That’s “normal” for me and conferences, which is why I nearly always get a post-conference crash, because of the relief it’s over. But it goes into overdrive if I know the session is going to be recorded, because in my head there will be a permanent record of my screw up.

I have been recorded before, but fortunately not on the sessions where I’ve screwed up… Yet… I don’t think… Recently I’ve decided that I will probably pull out of any event where I’m being recorded, as I can’t keep putting myself through that anymore.

There are other people that will happily fill the conference slot, so me not being there is no big deal.

Editorial control

When I write an article, I constantly go back and revisit things. If my opinion changes, I learn something new, or just don’t like the way I explained something I will rewrite it. I have full control of the content.

When I record a YouTube video I edit it, making sure it contains what I want it to contain. YouTube won’t let you do much in the way of editing a video once it’s posted, but you can make minor changes to the timeline. Even so, if something really annoyed me I could delete it, re-edit it and post it again. Yes I would lose all the views and comments, but ultimately I can do that if I want.

When a user group records a presentation, you no longer have any control of that content. If your opinion changes, or it contains some really dumb stuff, it is there for life. I know nothing is lost on the internet, but at least I should be able to control the “current version” of the content.

I very rarely write for other publications. I like to keep control of my content, so I can decide what to do with it. A lot of this is a throw-back to the previous point about my insecurities, but that’s how I feel about it, and why should I have to compromise about my content?

It’s my content!

Following on from the previous point, it is my content. I wrote it. I rehearsed it. I presented it. And most importantly, I wasn’t being paid to present it! Why should a user group now have control of that content?

Karen López (@datachick) recently posted a really interesting tweet.

“What would you think about an organization who held an event and you spoke at it for free. You signed an agreement to allow distribution to attendees, but they are now selling your content as part of a subscription that you are getting no compensation for?”

@datachick

I’m not saying this is what user groups are planning, but it’s certainly something some might try, now that times are getting harder than usual.

I’m sorry if this sounds really selfish, but I think I’m doing enough for the community and user groups, without giving them additional product to sell. I know a lot of user groups find finance difficult, but in the current online-model, the financial situation is very different. There aren’t any buildings to hire and people to feed.

The audience matters!

My presentation style varies depending on the audience.

If I present in the UK I tend to speak faster and swear a bit. Similar with Australia. When I present in other countries I tend to tone down my language, as some places are really uptight about expletives.

In some countries where English is a second or third language, I slow down a lot and remove some content from the session, because I know there will be a larger number of people who will struggle to keep up. Maybe I’ll miss out a couple of anecdotes, so I can speak more slowly. If there is live translation I have to go a lot slower.

I remember seeing one recording of me presenting with live translation and I sounded really odd, as I was having to present so slowly for the live translation to work. It was kind-of shocking for me to see it back, and I would prefer people not see that version of the talk, as it doesn’t represent me. It’s “adjusted me” to suit the circumstance.

Other things…

OK. Let’s assume other speakers are not self-obsessed control freaks like me for a second…

It’s possible some people would prefer to be selective about what gets recorded. For example, the first time I do a talk I really don’t know how it will turn out. That’s different to the 10th time I give the same talk. For a new talk I doubt I would feel happy about it being recorded, even if I were generally cool with the concept. I may feel better about recording a talk I have done a few times, having had time to adjust and improve it. I think of this like comedians, who go on tour and constantly change their material based on how it works with the audience. At the end of a tour they record their special, only using the best bits. Then it’s time to start preparing for the next tour. I suspect many comedians would be annoyed at being recorded on the first day of a tour. Same idea…

I think recording sessions could be off-putting for new speakers. When you are new to the game there is enough to worry about, without having to think about this too. Maybe other people aren’t as “sensitive” as me, but maybe they are.

I don’t like to be in pictures and videos. It’s just not my thing. I rarely put myself into my videos on YouTube. I’m sure there would be other speakers who would prefer to be judged by what they say, rather than how they look.

I used to be concerned that if someone recorded my session and put it on YouTube, nobody would come to my future sessions on the same subject. I actually don’t think this is a real problem. It seems the audience for blog posts, videos and conferences is still quite different. Yes, there is some crossover, but there is also a large group of people that gravitate to their preferred medium and stick with it.

But what about…

Look, I really do know what the counter arguments to this are.

  • Some people can’t get to your session because of an agenda clash, and they would like to watch it later.
  • This gives the user group members a resource they can look back at to remind themselves what you said.
  • This is a resource for existing user group members who couldn’t make it to the event.
  • For paid events, the attendees are paying money, so they have the right to have access to recordings. (but remember, the speakers are not being paid!)

I know all this and more. I am sorry if people don’t like my view on this. I really am, and I’m happy not to be selected to speak at an event. It really doesn’t bother me. Feel free to pick someone else that fits into your business model. That is fine by me. It really is.

Conclusion

Maybe I’m the only person that feels this way. Maybe other people feel the same, but don’t feel they have a loud enough voice to make a big deal out of it.

At the end of the day, it’s my content and I should have the right to decide if I’m happy about it being recorded or not. I believe conferences should make recording optional, and I’ll opt out. If people believe recording should be mandatory, that’s totally fine. It’s just unlikely I will be involved.

I’m sorry if you don’t like my opinion, but that’s how I feel at this point and it’s my choice. My attitude may change in future. It may not. Either way, it’s still my choice!

Cheers

Tim…

Update: This is not because of any recent conferences. Just thought I better add that in case someone thought it was. I’ve been asking events not to record me for a while now and it’s not been drama. In a recent message for a conference later in the year I was asked to explicitly confirm my acceptance of recording and publishing rights, which is why I mentioned it on Twitter, which then prompted the discussion. Sorry to any recent events if you thought you were the catalyst for this. You weren’t. Love you! 🙂

PS. I expected a lot more criticism, and I didn’t expect how many people would respond (through various channels) to say they also don’t like being recorded. It’s nice to know I’m not alone in my paranoia. 🙂

Video : Real-Time Statistics in Oracle Database 19c

In today’s video we’ll give a demonstration of Real-Time Statistics in Oracle Database 19c.

This video is based on the following article.

This is essentially a follow-on from the previous video and article.

The star of today’s video is Ludovico Caldara, who is rocking a rather “different” look. I’ll leave it to you to decide if it’s an improvement or not! 🙂

Cheers

Tim…

Oracle Autonomous JSON Database (AJD) : The Big Reveal

The Autonomous JSON Database (AJD) was announced during the Oracle Developer Live (#OracleDevLive) event last night. This was accompanied by a blog post announcement here.

I was on an briefing the night before where we were told about this announcement in advance. Later I found out the service had been live since Tuesday, but they were waiting for this event for the big reveal. As soon as I knew it was live I fired up an instance up on my free tier account, but I had to wait for the announcement before I released the article. You can see what I tried here.

If it looks familiar, that’s because it is. The Autonomous JSON Database is essentially an Autonomous Transaction Processing (ATP) instance with some restrictions, that you get to run for less money. You can “convert” it to full ATP at the click of a button if you want to. Obviously, the price changes then.

If you are considering using the Autonomous JSON Database service you will need to learn more about SODA (Simple Oracle Document Access). I’ve written a few things about this over the years.

There are SODA APIs for a bunch of languages. You can do all of this on-prem using Oracle REST Data Services (ORDS), but it comes ready to go on AJD and ATP.

So now it’s here, and it’s available on the Oracle Cloud Free Tier, what have you got to lose?

Cheers

Tim…

Video : Online Statistics Gathering for Bulk Loads

Today’s video gives a demonstration of Online Statistics Gathering for Bulk Loads.

This is based on this article.

The star of today’s video is my sister-in-law Maria Colgan, otherwise know as SQLMaria. You may know her by her former names of “the in-memory lady” and “the optimizer lady”. Maria sent me three different clips, with one looking like she’s running for president. I’m sure these will appear in future videos… 🙂

Cheers

Tim…

The Problem With Oracle : If a developer/user can’t do it, it doesn’t exist.

This post was inspired by two separate events that happened back to back.

Event 1

One of my colleagues sent me a list of cool features that were available in a cloud database service we may be purchasing. The vast majority of those features have been available in Oracle for over a decade, and we are currently licensed to use them. I would suggest the Oracle features were in fact the inspiration for their inclusion in this cloud database product.

I got a little on the defensive and explained this situation, and their reply was along the lines of, “Most of those features are DBA-focused, not user-focused”. That was also not 100% true, but I can understand where that assumption came from.

Now you could raise several arguments, including these.

  • The person in question should have known about this functionality.
  • I should have done a better job about promoting this functionality.
  • I could have done a better job about making those features that were DBA-focused available to a wider audience.

Regardless of all that, we are left in the position where Oracle and several other database engines are seen as DBA-focused tools, and not really inclusive for developers and users.

FYI: I think this cloud database product is probably the right choice for this specific use case, so this is not {only} about me being an Oracle fan-boy. It is my frustration at the reinvention of the wheel being touted as new. Happens all the time… 🙂

Event 2

Jacob Duval posted these two tweets.

#mysql is better than #PostgreSQL

Jacob Duval

simply put: mysql has a superior developer experience. postgres has a superior DBA experience. DBA is not really a job anymore, so I pick the developer experience every time.

Jacob Duval

Then think(x) replied.

We are here to learn… #PostgreSQL can sometimes seem rigid and inflexible.. but then our customers tell us that data integrity needs to be a rigid and inflexible goal

think(x)

My reply to Jacob’s second tweet was.

Being a DBA I am supposed to disagree with you, but I actually agree. If products lose sight of their users they are doomed to failure. I think some of the “rigid” stuff is necessary, but the user experience should always feel as effortless as possible. Combining the two is key!

oraclebase

Thoughts

This post is not meant to be damning of any specific company or product. It’s just meant to highlight what I believe is (or should be) a significant change in mindset.

Cloud databases, including Oracle Autonomous Database, reduce the dependency on DBAs, which is a good thing. You can argue that you still need “power users” of any product, but I think there must be a greater emphasis on making services that are developer focused, or even user focused. If companies persist on delivering products that have rigid dividing lines they will lose the fight.

The Oracle database is filled with amazing tech, but so much of it is still dependent on the DBA. I would argue that if you need a DBA to use a feature, that feature doesn’t exist. Cloud interfaces can help somewhat, but even then I feel like they track the DBA’s thought process, not how a user or developer would approach them.

“But what about finance systems and ERPs etc.”, I hear you cry. Yes, there will always be systems that need tighter control and removal of rights from the developers and users. These should be cloud-based and that is where the “power users” come in, but let’s not act like all systems are the same. As people have said before, the rise of NoSQL was in part due to putting the power in the hands of the developers. You can argue the rights and wrongs of this, but it’s clear to me the days of the DBA are numbered, and there has to be a change of focus. This is going to be a lot harder for long established companies/products as they come with a lot of baggage.

You either milk the existing cash-cow until it dies, or you take a step back and ask yourself where you want to be in the future…

I don’t claim to have any answers. I’m just a generalist that uses a whole bunch of products from a whole bunch of companies, and most of them are too damn hard to use, even with the assistance of Uncle Google. 🙂

Cheers

Tim…

PS. I’m reminded of this post from the past. Infrastructure is dead. It’s all about the platforms baby!

Video : Multitenant : Running Scripts Against Multiple Pluggable Databases Using catcon.pl

In today’s video we give a quick demonstration of using catcon.pl to run scripts against multiple pluggable databases (PDBs) in a container database (CDB).

The video is based on one section of this article.

You can find loads of information about living with CDBs and PDBs in the following articles and the YouTube playlist linked below.

The star of today’s video is my long suffering wife Debra Lilley. Clearly suffering because of her social isolation, which of course means not seeing me. 🙂

Cheers

Tim…