All too often I found myself editing Kubernetes resource definitions in the Kubernetes Dashboard. Modifying for example the type of a service. Typically I would git clone yaml files, run them in a single statement and then manually change a few details. After just the tiniest of search efforts, I […]
Platform Technology
Running Apache Kafka on Minikube
I frequently want to demonstrate the working of Apache Kafka and/or provide colleagues and other audiences with an environment for a workshop that involves Apache Kafka. I have been struggling to find a good way to get Kafka to function properly on Minikube – the standalone, single node Kubernetes cluster […]
Exposing Kubernetes Services to the internet using Traefik Ingress Controller
Three services have been deployed to my Kubernetes cluster running on a public cloud environment. These services expose port for three underlying Pods and six or so containers. The service make the Pods accessible within the cluster – but not to the outside world, the public internet. For a […]
Minikube on KVM on Linux Mint 19.1
In a previous blog post I wrote about running Minikube on Windows. I ended with the suggestion that getting Minikube working might be much easier on Linux. Thus I installed Linux Mint (as dual-boot) on my laptop and gave it a shot. The steps I took to get it working […]
Enterprise Manager DataGuard Add Standby Database fails without showing errors at Destination Preparation phase
Oracle Enterprise Manager Cloud Control 13c provides the Add Standby Database wizard to create a broker configuration that includes a primary database and one or more standby database. This requires the Oracle Database Lifecycle Management Pack for Enterprise Manager Cloud Control. When adding a Standby Database, after proving all the […]
Weblogic 12c – Monitoring JVM Performance Metrics Using OEM and Java Mission Control
For Weblogic administrators and application devolopers, it may be desirable to view the JVM metrics from a managed server in OEM (CloudControl) and Java Mission Control. It is also possible to use the flight recorder with stored measurement data so that it can be analyzed at a later time. Issue: […]
First steps with Oracle Self Service Integration Cloud
An important part of enabling optimal use of SaaS applications is integrating various functions in said applications. Events in one application need to have an effect in others. From simple practical matters such as “send an email when a specific type of file was uploaded into a certain Dropbox or […]
Monitoring Spring Boot applications with Prometheus and Grafana
In order to compare the performance of different JDKs for reactive Spring Boot services, I made a setup in which a Spring Boot application is wrapped in a Docker container. This makes it easy to create different containers for different JDKs with the same Spring Boot application running in it. […]
Securing Oracle Service Bus REST services with OAuth2 client credentials flow (without using additional products)
OAuth2 is a popular authentication framework. As a service provider it is thus common to provide support for OAuth2. How can you do this on a plain WebLogic Server / Service Bus without having to install additional products (and possibly have to pay for licenses)? If you just want to […]
How to deploy InfluxDB in Azure using a VM service with dedicated storage
InfluxDB isn’t natively supported on Azure. This blog post will teach you how to deploy InfluxDB (or any other database) in a VM with a managed disk on the Azure platform. This will enable you to use this fast time-series database for your project. If the standard range of […]
From docker run to kubectl apply – quick Kubernetes cheat sheet for Docker users
Primarily for my personal reference: this article provides instructions on running a Docker container image as a Kubernetes Deployment plus Service. It compares the Docker run command with the approach for running on Kubernetes using a Yaml file and introduces some additional kubectl commands in the process. To work with […]
Java programs as native executables: GraalVM is the answer!
TL;DR: • Using GraalVM Java applications can be compiled into native standalone executables (will be demonstrated). • Native executables of small Java programs startup blazingly fast, use considerably less resources compared to running on JVM and do not even require the JRE or any other kind of runtime apart from […]
Docker host and bridged networking. Running library/httpd on different ports
Docker provides different networking options. When using the Docker host networking, you don’t have the option to create port mappings. When using images like library/httpd:2.4, you don’t have the option to update the port on which it runs; it runs by default on port 80. Suppose you want to use […]
Running Kubernetes 1.10 using MiniKube on Windows 10 (adding kubectl and helm/tiller)
Some quick steps to get Minikube for K8S 1.10 up and running on Windows 10 (presuming VirtualBox has already been installed) Download kubectl binary from: https://storage.googleapis.com/kubernetes-release/release/v1.11.0/bin/windows/amd64/kubectl.exe Copy kubectl.exe to any directory of your liking; add that directory to the PATH environment variable. Download minikube from https://github.com/kubernetes/minikube/releases Download the minikube-windows-amd64.exe file, […]
Running Spring Tool Suite and other GUI applications from a Docker container
Running an application within a Docker container helps in isolating the application from the host OS. Running GUI applications like for example an IDE from a Docker container, can be challenging. I’ll explain several of the issues you might encounter and how to solve them. For this I will use […]
VirtualBox networking explained
VirtualBox networking is extremely flexible. With this flexibility comes the challenge of making the correct choices. In this blog, the different options are explained and some example use cases are elaborated. Access between guests, host and other members of the network is explained and the required configuration is shown. This […]
My “Sinatra-Solution” for Error Code 235 of OMSPatcher 13.8.0.2
and How I resolved it …. My Way 235 … 235 … isn’t it an Interstate in Oklahoma? Is Oracle telling me that I’m now working with only 0.72% of all naturally occurring uranium? Was I testing the maximum speed of a BMW 3series? Or did somehow an Un-locked Control File […]
Running Istio on Oracle Kubernetes Engine–the managed Kubernetes Cloud Service
In a recent post, I introduced the managed Oracle Cloud Service for Kubernetes, the Oracle Kubernetes Engine (OKE): https://technology.amis.nl/2018/05/25/first-steps-with-oracle-kubernetes-engine-the-managed-kubernetes-cloud-service/. A logical next step when working with Kubernetes in somewhat challenging situations, for example with microservice style architectures and deployments, is the use of Istio – to configure, monitor and manage […]
First steps with Oracle Kubernetes Engine–the managed Kubernetes Cloud Service
Oracle recently (May 2018) launched its Managed Kubernetes Cloud Service (OKE – Oracle Kubernetes Engine) – see for example this announcement: https://blogs.oracle.com/developers/kubecon-europe-2018-oracle-open-serverless-standards-fn-project-and-kubernetes. Yesterday I got my self a new free cloud trial on the Oracle Public Cloud (https://cloud.oracle.com/tryit). Subsequently, I created a Kubernetes cluster and deployed my first pod on […]
Rapidly spinning up a VM with Ubuntu and Docker–on my Windows machine using Vagrant and VirtualBox
I have a Windows laptop. And of course I want to work with Docker containers. Using the Docker Quickstart Terminal is one way of doing so, and to some extent that works fine. But whenever I want to have more control over the Linux environment that runs the Docker host, […]
SOA Suite 12c in Docker containers. Only a couple of commands, no installers, no third party scripts
For developers, installing a full blown local SOA Suite environment has never been a favorite (except for a select few). It is time consuming and requires you to download and run various installers after each other. If you want to start clean (and you haven’t taken precautions), it could be […]
Java SE licensing
There are several good blogs about this subject (like this one), and I never paid much attention to Java and licensing. Until one of our customers became a bit frightend after Oracle approached them with the question if they were really license compliant using Java. For many the words Java […]
Using Java Management Extensions within Oracle Enterprise Manager Cloud Control 13c
The answer to using Java Management Extensions(JMX) within Oracle Enterprise Manager Cloud Control is using Metric Extensions. Metric extensions provide you with the ability to extend Oracle’s monitoring capabilities. I will show you how to create an extension to monitor a WebLogic Messaging Bridge. You can use other methods to […]
15 Minutes to get a Kafka Cluster running on Kubernetes – and start producing and consuming from a Node application
For workshop I will present on microservices and communication patterns I need attendees to have their own local Kafka Cluster. I have found a way to have them up and running in virtually no time at all. Thanks to the combination of: Kubernetes Minikube The Yolean/kubernetes-kafka GitHub Repo with Kubernetes […]
Remote and Programmatic Manipulation of Docker Containers from a Node application using Dockerode
In previous articles, I have talked about using Docker Containers in smart testing strategies by creating a container image that contains the baseline of the application and the required test setup (test data for example). For each test instead of doing complex setup actions and finishing of with elaborate tear […]
First steps with Docker Checkpoint – to create and restore snapshots of running containers
Docker Containers can be stopped and started again. Changes made to the file system in a running container will survive this deliberate stop and start cycle. Data in memory and running processes obviously do not. A container that crashes cannot just be restarted and will have a file system in […]
Regenerate Oracle VM Manager repository database
Some quick notes to regenerate a corrupted Oracle VM manager repository database. How did we discover the corruption? The MySQL repository databases was increasing in size, the file “OVM_STATISTIC.ibd” was 62G. We also found the following error messages in the “AdminServer.log” logfile: ####<2018-02-13T07:52:17.339+0100> <Error> <com.oracle.ovm.mgr.task.ArchiveTask> <ovmm003.gemeente.local> <AdminServer> <Scheduled Tasks-12> <<anonymous>> […]
Dbvisit Standby upgrade
Upgrading to Dbvisit Standby 8.0.x Dbvisit provides upgrade documentation which is detailed and in principle correct but only describes the upgrade process from the viewpoint of an installation on a single host. I upgraded Dbvisit Standby at a customer’s site with Dbvisit Standby in a running configuration with several hosts […]
Getting started with git behind a company proxy
Since a few months I’ve been involved in working with git to save our Infrastructure as Code in GitHub. But I don’t want to have to type in my password every time and do not like in clear text saved passwords, so I prefer ssh over https. But when working […]
How to fix Dataguard FAL server issues
One of my clients had an issue with their Dataguard setup, after having to move tables and rebuild indexes the transport to their standby databases failed. The standby databases complained about not being able to fetch archivelogs from the primary database. In this short blog I will explain what happened […]
Running Spring Boot in a Docker container on OpenJDK, Oracle JDK, Zulu on Alpine Linux, Oracle Linux, Ubuntu
Spring Boot is great for running inside a Docker container. Spring Boot applications ‘just run’. A Spring Boot application has an embedded servlet engine making it independent of application servers. There is a Spring Boot Maven plugin available to easily create a JAR file which contains all required dependencies. This […]
Application Container Cloud Service (ACCS): Using the Application Cache from a Spring Boot application
Spring Boot allows you to quickly develop microservices. Application Container Cloud Service (ACCS) allows you to easily host Spring Boot applications. Oracle provides an Application Cache based on Coherence which you can use from applications deployed to ACCS. In order to use the Application Cache from Spring Boot, Oracle provides […]
Get going with Project Fn on a remote Kubernetes Cluster from a Windows laptop–using Vagrant, VirtualBox, Docker, Helm and kubectl
The challenge I describe in this article is quite specific. I have a Windows laptop. I have access to a remote Kubernetes cluster (on Oracle Cloud Infrastructure). I want to create Fn functions and deploy them to an Fn server running on that Kubernetes (k8s from now on) environment and […]
Weblogic 12c – change console preferences using python and wlst
You can configure some features of the Administration Console by setting preferences manualy in the console. For some features you need to restart the Admin server. In a provisoned environment you will need this to be automated. For this example i used wlst and python. In this case there is […]
The Tale of the Ardent SpringCleaning Maniac (ASM)
or If you want to get rid of stuff, you can always do a good spring-cleaning. Or you can do what I do. Move. – Ellen DeGeneres In order to prepare for a network reorganization we needed to move our current Oracle Enterprise Manager machine into another network segment. So […]
The curious case of the blank plugin page in OEM13c
After an upgrade of Oracle Enterprise Manager from 12.1.0.5 to 13.2, I wanted to deploy a new version of the plugin oracle.sysman.db. Downloaded the new version and got to the plugin-management page to apply the patch. But all I got was a blank page. Cost me quite a while to […]
Deploying Oracle OEM agents 13c on windows targets (2008 R2) while OMS is on Linux
Situation at customer’s site: OMS 13.2 on Oracle Linux, targets are Windows machines, and a bit ancient: Windows 2008 R2. How to deploy agents on those targets? Several methods are possible in theory. In this blog I’ll describe my efforts to determine what is really possible and what is efficient.
Relocating base directory Enterprise Manager’s central agent
After the upgrade of the 12c central agent to 13c, I noticed the new central agent’s home located under the wrong – old agent – directory: /u01/app/oracle/agent12c/agent_13.2.0.0.0. Must have done something wrong. How to correct this? Want to move the directory to /u01/app/oracle/agent13c/. A very short blog to describe the […]
Upgrade OEM 12.1.0.5 OMS to OEM13.2
Despite the potential of Oracle Management Cloud, I’m a fan of Oracle Enterprise Manager, with its small imperfections. So when noticing a 12c Oracle Enterprise Manager on Linux, and targets on Windows, I took the challenge of modernizing the customer’s environment a bit. And the starting point , 12.1.0.5 for […]
Oracle, Azure Cloud and licensing with hyperthreading enabled.
Until recently, there was one rule when deploying Oracle software in the Azure cloud: count one Azure CPU Core as equivalent to one Oracle Processor license. But there was somehow what confusion about hyperthreading VM’s. This has been nuanced by Oracle in their cloud-licensing document very recently