This page lists all my Linux articles in chronological order.
Life hack: don’t install an instant client out of habit, use the Database Free image!
I’m currently writing a small bash script to load a few WebAssembly modules into an Oracle AI Autonomous Database, configured with mutual TLS encryption. In other words, you need a wallet to connect to it. SQL Loader is a natural fit for loading a few discrete items into the database but … I don’t have…
Protecting ORDS REST Endpoints with OAuth 2.0-the Modern Way
I have previously protected Oracle REST Data Services endpoints using the OAUTH management APIs. These have been replaced with the ORDS_SECURITY APIs. You can read the desupport notice in the ORDS_SECURITY package documentation: Deprecation of OAUTH and OAUTH_ADMIN PL/SQL packages: Starting from Oracle REST Data Services release (ORDS) 24.3, the OAUTH and OAUTH_ADMIN PL/SQL packages…
WebAssembly in Oracle AI Database: image manipulation using photon
WebAssembly support is available with Oracle AI Database 26ai! The latest Release Update (RU), 23.26.4, adds another language to Oracle Database’s polyglot runtime, Multilingual Engine (MLE). As of today, MLE supports the following languages: JavaScript Typescript (must be transpiled before loaded into the database) WebAssembly (Wasm) The official announcement post promised examples, and this is…
Creating copies of your multi-TB databases doesn’t have to take forever
Back in the day when I worked as a production DBA I vividly remember all the coordination meetings that we held to ensure that the planned clone of our production database (2 TB at the time, which was huge for us) didn’t cause unwanted side effects. Our database ran as a two node Real Application…
Downloading AutoUpgrade in Ansible playbooks
Mike Dietrich just announced a new AutoUpgrade release. If you haven’t heard about AutoUpgrade yet, you hit the right spot: it’s a pretty cool addition to any DBA’s toolbox. I use it all the time in Ansible, mainly because it makes installing an Oracle Home on a new server much much easier compared to the…
Solving a common “permission denied” error in rootless podman
Podman is different from docker in that it typically runs its containers rootless. Just as any other process without root privileges this has certain implications, this blog covers a common one. This article by RedHat covers a lot more ground should you not find the solution for your issue here. Assume for example that you…
Enabling outbound network connections in APEX
Modern applications frequently need to access external services from within the database. In distributed architectures, those services are often exposed through REST APIs. Oracle APEX offers several declarative and programmatic ways to consume REST services, but a system administrator must first permit the necessary outbound network connectivity. NOTE: APEX behaves ever so slightly differently in…
Observations concerning PostgreSQL transactional DDL and concurrency
Recently, while browsing my feed on LinkedIn I came across a post dealing with PostgreSQL transactional DDL. Although I couldn’t find an exact documentation reference in the PostgreSQL docs (the closest I found is a reference to the transaction model in general) it is safe to say that you can wrap DDL statements into a…
Using Podman and Docker Health Checks to Prevent CI Pipeline Failures
I recently experimented with Continuous Integration (CI) pipelines in GitLab, and I needed a way to detect the availability of an Oracle AI Database 26ai Free instance running in Podman. Unless the database instance is available, any connection attempt will fail, causing the CI pipeline to abort unnecessarily. This article is based on Gerald Venzl’s…
Oracle Cloud Infrastructure: establish a console connection to a Linux compute VM
I previously wrote a short article detailing how to connect to a Windows VM in Oracle Cloud Infrastructure (OCI) using the console. I should be more precise: the post details how to connect to a “server with desktop experience”. Windows Core is different, but that doesn’t matter right now. This post however describes how to…
Something went wrong. Please refresh the page and/or try again.