Autonomous Database: Creating an Autonomous Transaction Processing Instance

In this post I’m going to demonstrate how quick and easy one can create an Autonomous Transaction Processing, short ATP, instance of Oracle’s Autonomous Database Cloud Services. Oracle’s ATP launched on the 7th of August 2018 and is the general purpose flavor of the Oracle Autonomous Database. My colleague SQLMaria (also known as Maria Colgan 😉 ) has already done a great job explaining the difference between the Autonomous Transaction Processing and the Autonomous Data Warehouse services. She has also written another post on what one can expect from Oracle Autonomous Transaction Processing. I highly recommend reading both her articles first for a better understanding of the offerings.

Last but not least, you can try ATP yourself today via the Oracle Free Cloud Trial.

Now let’s get started. Provisioning an ATP service is, as said above, quick and easy.

tl;dr

To create an instance you just have to follow these three simple steps:

  1. Log into the Oracle Cloud Console and choose “Autonomous Transaction Processing” from the menu.
  2. Click “Create Autonomous Transaction Processing
  3. Specify the name, the amount of CPU and storage, the administrator password and hit “Create Autonomous Transaction Processing

Continue reading “Autonomous Database: Creating an Autonomous Transaction Processing Instance”

Autonomous Database Blog series

Oracle has just released the Oracle Autonomous Transaction Processing Cloud Service. This is the second service of the Oracle Autonomous Database Cloud Services, after Oracle Autonomous Data Warehouse Cloud Service which launched earlier this year. I have been asked to produce some collateral for the new offerings which will surface here as well as on other sites. I hope they will be interesting for you and give you some insights into the technologies, how they work, and how you can get the most out of them.

All blog posts will be marked with the tag Oracle Autonomous Database to make it easier for you to filter them.

If you are interested and want to read and hear even more on Oracle Autonomous Database you should also follow SQLMaria‘s blog: https://sqlmaria.com/category/autonomous-database/

Setting up Docker on Oracle Linux 7

Docker has become widely popular in the last couple of years. I use it on a regular basis these days for running Oracle databases on my laptop. Docker is available on all popular Linux distributions, as well as Mac and Windows, and of course Oracle Linux is no exception. Since a long time Docker ships with the Oracle Linux 7 addons yum repository. Having setup Docker on Oracle Linux numerous times, I thought it would be good for me to document my steps for others to follow.

tl;dr

  1. Update Oracle Linux and UEK to the latest version (OL 7 and UEK5): yum upgrade
  2. Install yum-config-manager, if not already installed: yum install yum-utils
  3. Enable the addons yum repo: yum-config-manager --enable *addons
  4. Install docker-engine: yum install docker-engine

Continue reading “Setting up Docker on Oracle Linux 7”

Upgrading UEK kernel on Oracle Linux 7

linux_penguin_with_logoIn general I work almost exclusively on Macs these days. However, for work and various other reasons I always tend to have a VM with Linux on my Mac to test, run, script things. My VM runs Oracle Linux (OL) on VirtualBox. Oracle Linux just makes a lot of sense for me as we run everything on Oracle Linux internally and in general it is a solid Linux distribution. Of course, once in a while I have to update my Linux version as well to make sure that my Linux environment remains on the latest and greatest. Right now is such a time again as Oracle Linux 7 Unbreakable Enterprise Kernel 5 just released. In the past I was always a bit scared about upgrading kernels because I had little clue of what I was doing. 🙂 Turns out that it is a lot easier than one might think, and here is how you do it:

tl;dr

  1. Download new repo list: wget http://yum.oracle.com/public-yum-ol7.repo
  2. Enable the new repo: yum-config-manager --enable ol7_UEKR5
  3. Upgrade the environment: yum upgrade
  4. Reboot the environment: reboot

Continue reading “Upgrading UEK kernel on Oracle Linux 7”

Creating an Oracle Database Vagrant box

Oracle recently launched a new GitHub repository for providing people with Oracle software inside Vagrant boxes. If you have ever setup an Oracle database inside a VirtualBox VM, whether it is as your sandbox environment, to explore Oracle database, or to use it as a full-on development environment, things have just gotten a lot easier for you. With Vagrant, you can now provision an Oracle database inside VirtualBox in a matter of a couple of simple steps.

Continue reading “Creating an Oracle Database Vagrant box”

Database Requirements for Modern Development

A while ago I wrote a paper talking about what key capabilities databases should provide for today’s software development world. The title of the paper is “Database Requirements for Modern Development“. It got published originally on the Oracle Technology Network and I just republished it here on my website. You can find it under: https://geraldonit.com/articles/database-requirements-for-modern-development/

Creating an Oracle REST Data Services Docker image

Oracle has added Oracle REST Data Services (ORDS) to the Docker build files family on GitHub, which means that you can now easily dockerize ORDS. If you don’t know yet what ORDS is, it’s a free technology from Oracle that allows you to REST-enable your Oracle databases. More specifically, with ORDS you can just fire off regular REST calls to modify or retrieve data from one or many Oracle databases without having to know how to write SQL; not that knowing SQL is a bad thing! 🙂 In modern application and microservices architectures REST has become more and more popular for exchanging information. ORDS enables you to easily exchange data from and to Oracle databases via REST without having to write lines and lines of code yourself.  For more information on what ORDS is and what it can do, check out Jeff Smith’s blog post about ORDS.

Continue reading “Creating an Oracle REST Data Services Docker image”

Enabling SFTP-only access on Linux

Recently I had the need to share a zip file with a bunch of people that was big enough not to fit into email anymore. So I wanted to get it onto my server so that folks could grab it via SFTP from there. SFTP is setup by default on my Linux environment, so them accessing the machine was trivial. However, I didn’t want to give them full access to the entire machine where they could randomly up- and download files anywhere. What I needed was some way of giving them a user which was self-contained, with no SSH privileges and bound to a single location on the filesystem. Luckily, setting something like this up was much easier than I thought, and here is how you can do it yourself. Note, all commands below are executed as the root user:

tl;dr

  1. useradd <your sftp user> -s /sbin/nologin -M
  2. passwd <your sftp user>
    1. Enter your sftp user password and confirm
  3. vi /etc/ssh/sshd_config
  4. Match User <your sftp user>
       ChrootDirectory <your sftp user directory>
       ForceCommand internal-sftp
       AllowTcpForwarding no
       X11Forwarding no
    
  5. service sshd restart

Continue reading “Enabling SFTP-only access on Linux”

Deploying a Kubernetes cluster with Vagrant on Virtual Box

Oracle has just included Kubernetes support for its VirtualBox Vagrant GitHub repository. With that it’s now easier than ever to get a Kubernetes cluster up and running inside VMs. If you have not come across Vagrant yet, it’s a great tool by HashiCorp for “Development Environments Made Easy“.

tl;dr

  1. Install VirtualBox
  2. Install Vagrant
  3. Clone the GitHub repository git clone https://github.com/oracle/vagrant-boxes
  4. Change into the vagrant-boxes/Kubernetes folder
  5. Run vagrant up master; vagrant ssh master
  6. Within the master guest, run as root: /vagrant/scripts/kubeadm-setup-master.sh
    You will be asked to log in to the Oracle Container Registry
  7. Run vagrant up worker1; vagrant ssh worker1
  8. Within the worker1 guest, run as root: /vagrant/scripts/kubeadm-setup-worker.sh
    You will be asked to log in to the Oracle Container Registry
  9. Repeat the last 2 steps for worker2

Your cluster is ready!
Within the master guest you can check the status of the cluster, as the vagrant user, e.g.:

kubectl cluster-info
kubectl get nodes
kubectl get pods --namespace=kube-system

Continue reading “Deploying a Kubernetes cluster with Vagrant on Virtual Box”

Manually installing a Maven artifact in your local repository

I find myself once again in the situation that I have to install the Oracle JDBC driver into my local Maven repository. Usually this is easily accomplished via mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> -DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=<packaging>, see Guide to installing 3rd party JARs for more details on that. However, this time I was thinking to go the extra mile and actually figure out a way of how to do it entirely manually. This comes in handy if you have, for example, Maven integrated in your IDE and the mvn binary not available to yourself in the command line.

Continue reading “Manually installing a Maven artifact in your local repository”