Archiv des Autor: Martin Berger

Oracle Database Appliance X6 – resize your /u01

Basically on an ODA X6-L the directory /u01 has the size of 100 GB. With seven different ORACLE_HOME directories for the Oracle databases and the Grid Infrastructure software, there is no disk space left for patching the Oracle Database Appliance. ODA patches require between 13 GB and 15 GB free space on /u01 for the new software. Just FYI – during the patch process a new stage directory called /u01/patching is created where the new software is temporarily located.

Patch Apply failed – Not enough free Space

If there is not enough free space available, update processes like updating a database home fail.

Verify the actual Situation and the Disk Configuration

There is not enough free space for the update process – but we see that /u01 is a logical volume. 

Let’s verify the physical volume for free space, we can see 7214 free physical extents are available.

This is the actual size of the logical volume, the actual logical volume size is 100 GB.

Extend /u01

Now we extend online the LVM with the lvextend command from 100 GB to 150 GB.

The logical volume is now 150 GB.

Finally the filesystem has to be resized.

Now we have enough space for patching.

Summary

Resizing the /u01 on an Oracle Database Appliance is very easy and straightforward. There are no special actions required, it’s just a logical volume, no downtime required. And there is more space left on the physical volume for other resize actions.

Get your Oracle 18c Instance in the Oracle Infrastructure Cloud OCI Classic

Do you want to work with Oracle 18c in the Oracle Cloud but the database version is not selectable in the webinterface? You can create an 18c instance in the command-line interface with the PaaS Service Manager (psm). The installation is very well described here, for example you need Python and OpenSSL. My personal installation of the psm executable runs in the Windows 10 integrated Ubuntu system.

Link to the PaaS Service Manager: https://docs.oracle.com/en/cloud/paas/java-cloud/pscli/abouit-paas-service-manager-command-line-interface.html

After the successful psm setup, you can create an DBaaS instance with this command

The file db18c-ee.json contains all the information you need to create an 18c instance. Here is my example – I have created a cloud storage container called dbcsbackup in advance because I want to use the OCI backup service.

Some minutes later you can login by terminal and user SQL*Plus. Oracle 18c: Here we are!

And in the OCI dashboard it looks fine too.

Addtional Info: If you want a Standard Edition, just replace the line „edition“: „SE“, happy 18c.

 

Alexa: Storen Büro schliessen – Teil 1

Angefangen hat alles mit einem WLAN-fähigen Storenschalter, und als später noch mit Amazon Echo Dot Alexa den Weg in mein Büro zuhause fand war die Sache klar: Ich will meine Storen im Büro mit Alexa steuern können. In der Schweiz sind Storen übrigens nichts anderes als Rolladen. Was mit der Suche nach neuen Smart Home Komponenten begonnen hat, endete im Programmieren von Alexa Skills. In diesem Blogeintrag will ich aufzeigen was eingesetzt werden kann, um Smart Home Geräte welche eine REST API Schnittstelle besitzen via Alexa Sprachkommando steuern zu können. Bei meinem Projekt habe ich nicht unmittelbar mit dem Programmieren vom Alexa Skill begonnen, sondern ich habe am Ende beim Storenschalter begonnen und mich nach vorne vorgearbeitet. Spassfaktor: hoch, Lernkurve: steil.

Heimautomation muss her

Auf der Suche nach neuen Komponenten für Heimautomation bin ich auf das Produkt zeptrionAIR der Schweizer Firma Feller gestossen. zeptrionAIR ist die Produktbezeichnung für wireless-fähige Schalter für die Steuerung von Licht und Storen. Mir gefällt an diesem Produkt, das die Produkte zwar mit einer App steuerbar sind, aber von Haus aus keinerlei Verbindung in irgendeine Cloud haben. Zudem können die Geräte via REST API angesteuert werden. Zuhause habe ich bereits Feller-Schalter und Steckdosen installiert, die WLAN-Module passen in die bestehenden Dosen. Die Module benötigen einen einen Pol- und einen Neutralleiter und werden hinter der Schalterabdeckung platziert. Die Schalterabdeckungen können mit beliebigen Funktionen und Szenarien bestückt werden.

Testaufbau

Mein Elektriker hat den Storenschalter im Büro mit einem zeptrionAIR Schalter ausgetauscht, den neuen Schalter habe ich mit folgenden Funktionen programmiert:

  • Storen hoch/runter
  • Szenario 1: Storen halb hoch
  • Szenario 2: Storen ganz unten, Lamellen 1/3 offen

Die Einrichtung via App und die Anbindung ans WLAN ging problemlos, die von Feller mitgelieferte Anleitung ist gut aufgebaut und leicht verständlich. Via Online-Formular kann beim Feller Kundendienst die API-Dokumentation kostenlos bestellt werden. Darin werden alle Möglichkeiten aufgezeigt, mit REST Kommandi die Komponenten zu steuern.

REST API Beispiel: zeptrionAIR Storen schliessen mit curl:

Das Kommando beinhaltet nebst der IP-Adresse der zeptrionAIR Komponente den Kanal / Schalter welchen man ansteuern will und welche Funktion ausgeführt werden soll (cmd=close).

Via Amazon Cloud zurück nach Kestenholz / Jürasüdfuss / Schweiz

Das Alexa Sprachkommando wandert zuerst in die Amazon Cloud und wird auch dort verarbeitet. Mein Storenschalter ist aber nur lokal ansteuerbar. Das erfordert einen entsprechenden Aufbau. Für die Kommunikation mit der Cloud und meinem Zuhause habe ich diese Komponenten eingesetzt:

  • Amazon Echo Dot: „Meine Alexa“ zuhause im Büro (lokal)
  • AWS Lambda: Nimmt das Sprachkommando von Echo Dot entgegen, prüft die Korrektheit (Cloud)
  • AWS IoT: MQTT Broker (Cloud)
  • NodeRed: IoT Baukasten, läuft auf einem lokalen Raspberry Pi3 (lokal)
  • zeptrionAIR: Storenschalter (lokal)

Der Ablauf:

  1. Echo Dot nimmt den Sprachbefehl entgegen, beispielsweise „Storen Büro schliessen“
  2. AWS Lambda prüft den Sprachbefehl und schickt eine Message an AWS IoT (MQTT Broker)
  3. Node-Red auf den lokalen Raspberry PI liest regelmässig die Messages aus der AWS IoT Queue
  4. Die neuen Messages werden auf Textinhalt ausgewertet und das entsprechende Kommando an zeptrionAIR gesendet

Soweit die Ausgangslage. In einem zweiten Teil werde ich euch die Installation und Konfiguration von Node-Red und das Zusammenspiel mit Amazon AWS IoT erläutern.