Archive for the ‘ORACLE Database’ Category

Oracle AI Database 26ai – stellt die Weichen für die nächste Ära der KI

Sonntag, März 8th, 2026

AI Workflow Automation N8N 2.6.4 – how to create workflows that connect to Oracle databases

Donnerstag, Februar 12th, 2026

SELECT ‚Hello from Oracle + n8n‘ AS message FROM dual
CREATE TABLE customers (
customer_id NUMBER GENERATED BY DEFAULT AS IDENTITY PRIMARY KEY,
first_name VARCHAR2(50),
last_name VARCHAR2(50),
email VARCHAR2(100),
created_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
status VARCHAR2(20),
total_orders NUMBER DEFAULT 0,
last_purchase_date TIMESTAMP
)
INSERT INTO customers (first_name, last_name, email, created_date, status, total_orders,
last_purchase_date)
VALUES (‚John‘,’Doe‘,’john.doe@email.com‘,SYSTIMESTAMP – INTERVAL ’90‘
DAY(3),’active‘,15,SYSTIMESTAMP – INTERVAL ‚5‘ DAY(3))
SELECT * FROM customers
DELETE FROM customers
DROP TABLE customers

Looping with the IF Node – to run only a number of times you can add a code node into your loop

 

In Oracle ending a query with a semicolon inside a client application like n8n often triggers the „ORA-00933: SQL command not properly ended“ error

The Fix – simply delete the; at the end of your SQL statement in the Oracle Database node

Wrong:  SELECT * FROM users;
Right:    SELECT * FROM users

Why this happens – in n8n the SQL is sent via a driver (like node-oracledb) and drivers treat the semicolon as a statement terminator for scripts but when sending a single command via an API the semicolon is seen as an illegal character within the command itself

Oracle’s documentation classifies this as an invalid character (ORA-00911) or an improperly ended command (ORA-00933)

Oracle Database Express Edition (XE) 21c – Installation Guide for Docker Containers with Linux x86_64 from ‚https://container-registry.oracle.com‘

Mittwoch, Februar 11th, 2026

Oracle Database Express Edition (XE) 21c – Installation Guide for Docker Containers with Linux x86_64 from ‚https://hub.docker.com/‘

Montag, Februar 9th, 2026
root@pve-oraDB-01:~# docker run -d –name oracle-xe -p 1521:1521 -e ORACLE_PASSWORD=“<password>“ gvenzl/oracle-xe:21-slim
Unable to find image ‚gvenzl/oracle-xe:21-slim‘ locally
21-slim: Pulling from gvenzl/oracle-xe
f7b0b443446e: Pull complete
073f36588906: Pull complete
4f8ebc90375b: Pull complete
3820d7bb3a88: Pull complete
d3746687fc59: Pull complete
bea495abb2fa: Pull complete
Digest: sha256:ecdf4302ac3d134e1bac5ef6e0c223c2d0f4d4d2b6d551aa79b2346f1ab8f792
Status: Downloaded newer image for gvenzl/oracle-xe:21-slim
66096a703aa1f68b4ece371d47ae66f2e59b4faac9b13e9c40e1c17116d44382
root@pve-oraDB-01:~#
root@pve-oraDB-01:~# docker logs -f oracle-xe
CONTAINER: starting up…
CONTAINER: first database startup, initializing…
CONTAINER: uncompressing database data files, please wait…
CONTAINER: done uncompressing database data files, duration: 12 seconds.
CONTAINER: starting up Oracle Database…
LSNRCTL for Linux: Version 21.0.0.0.0 – Production on 09-FEB-2026 16:32:26
Copyright (c) 1991, 2021, Oracle. All rights reserved.
Starting /opt/oracle/product/21c/dbhomeXE/bin/tnslsnr: please wait…
TNSLSNR for Linux: Version 21.0.0.0.0 – Production
System parameter file is /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Log messages written to /opt/oracle/diag/tnslsnr/66096a703aa1/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 21.0.0.0.0 – Production
Start Date 09-FEB-2026 16:32:27
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /opt/oracle/homes/OraDBHome21cXE/network/admin/listener.ora
Listener Log File /opt/oracle/diag/tnslsnr/66096a703aa1/listener/alert/log.xml
Listening Endpoints Summary…
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=0.0.0.0)(PORT=1521)))
The listener supports no services
The command completed successfully
ORACLE instance started.
Total System Global Area 1610612120 bytes
Fixed Size 9686424 bytes
Variable Size 637534208 bytes
Database Buffers 956301312 bytes
Redo Buffers 7090176 bytes
Database mounted.
Database opened.
CONTAINER: Resetting SYS and SYSTEM passwords.
User altered.
#########################
DATABASE IS READY TO USE!
#########################
################################################
NOTICE: YOU ARE USING AN OLD IMAGE VERSION!
PLEASE CONSIDER UPGRADING TO gvenzl/oracle-free!
################################################
##################################################################
CONTAINER: The following output is now from the alert_XE.log file:
##################################################################
2026-02-09T16:32:40.673697+00:00
Resize operation completed for file# 201, fname /opt/oracle/oradata/XE/temp01.dbf, old size 2048K, new size 12288K
2026-02-09T16:32:40.959467+00:00
XEPDB1(3):Started service freepdb1/freepdb1/freepdb1
XEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
Pluggable database XEPDB1 opened read write
Starting background process CJQ0
2026-02-09T16:32:41.829883+00:00
CJQ0 started with pid=59, OS id=226
Completed: ALTER DATABASE OPEN
2026-02-09T16:33:44.117281+00:00
TABLE SYS.WRP$_REPORTS: ADDED INTERVAL PARTITION SYS_P348 (5884) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED INTERVAL PARTITION SYS_P349 (5884) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED INTERVAL PARTITION SYS_P352 (5883) VALUES LESS THAN (TO_DATE(‚ 2026-02-09 01:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
2026-02-09T16:37:42.937472+00:00
Thread 1 advanced to log sequence 20 (LGWR switch), current SCN: 2977113
Current log# 1 seq# 20 mem# 0: /opt/oracle/oradata/XE/redo01.log
2026-02-09T16:37:49.373157+00:00
XEPDB1(3):TABLE SYS.WRI$_OPTSTAT_HISTHEAD_HISTORY: ADDED INTERVAL PARTITION SYS_P360 (46061) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 00:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
XEPDB1(3):TABLE SYS.WRI$_OPTSTAT_HISTGRM_HISTORY: ADDED INTERVAL PARTITION SYS_P363 (46061) VALUES LESS THAN (TO_DATE(‚ 2026-02-10 00:00:00‘, ‚SYYYY-MM-DD HH24:MI:SS‘, ‚NLS_CALENDAR=GREGORIAN‘))
2026-02-09T16:37:53.282430+00:00
Thread 1 advanced to log sequence 21 (LGWR switch), current SCN: 2980174
Current log# 2 seq# 21 mem# 0: /opt/oracle/oradata/XE/redo02.log
root@pve-oraDB-01:~#
root@pve-oraDB-01:~# docker exec -it oracle-xe sqlplus / as sysdba
SQL*Plus: Release 21.0.0.0.0 – Production on Mon Feb 9 19:06:42 2026
Version 21.3.0.0.0
Copyright (c) 1982, 2021, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 1610612120 bytes
Fixed Size 9686424 bytes
Variable Size 637534208 bytes
Database Buffers 956301312 bytes
Redo Buffers 7090176 bytes
Database mounted.
Database opened.
SQL>
SQL> shutdown
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> exit
Disconnected from Oracle Database 21c Express Edition Release 21.0.0.0.0 – Production
Version 21.3.0.0.0

root@pve-oraDB-01:~#

Oracle Database Enterprise Edition 21c – Installation Guide for Docker Containers with Linux x86_64

Sonntag, Februar 8th, 2026

Oracle Database Enterprise Edition Installation Guide for Docker Containers For Oracle Linux x86-64

AI Workflow Automation N8N 2.6.4 – how to create workflows that connect to Oracle or PostgreSQL databases

Freitag, Februar 6th, 2026

Oracle AI Datenbank 26ai On-Prem Enterprise Edition v23.26.1 – für Linux x86_64 verfügbar

Dienstag, Februar 3rd, 2026

Aktuell steht ausschließlich die Enterprise Edition der Oracle AI Database 26ai On-Prem zur Verfügung ein konkreter Veröffentlichungstermin für die Standard Edition wurde von Oracle bislang nicht kommuniziert

Oracle Database Recovery Manager (RMAN) – to create a shell script for Oracle RMAN is a great way to automate your database protection using four channels allows RMAN to read and write data in parallel which significantly speeds up the process for larger databases

Sonntag, Januar 18th, 2026
#!/bin/bash
# =================================================================
# Script Name: rman_full_backup.sh
# Description: Performs a full database backup using 4 parallel channels.
# =================================================================
# 1. Set Environment Variables (Update these for your environment)
export ORACLE_SID=your_sid_here
export ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
export DATE=$(date +%Y%m%d_%H%M)
export LOG_FILE=/home/oracle/logs/rman_full_$DATE.log
echo „Starting RMAN Backup for $ORACLE_SID at $(date)“ >> $LOG_FILE
# 2. Execute RMAN
rman target / >> $LOG_FILE << EOF
RUN {
# Allocate 4 channels for parallelism
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
ALLOCATE CHANNEL c2 DEVICE TYPE DISK;
ALLOCATE CHANNEL c3 DEVICE TYPE DISK;
ALLOCATE CHANNEL c4 DEVICE TYPE DISK;
# Perform Backup
BACKUP
AS COMPRESSED BACKUPSET
DATABASE
PLUS ARCHIVELOG
DELETE ALL INPUT;
# Housekeeping: Remove backups older than 7 days
DELETE NOPROMPT OBSOLETE RECOVERY WINDOW OF 7 DAYS;
RELEASE CHANNEL c1;
RELEASE CHANNEL c2;
RELEASE CHANNEL c3;
RELEASE CHANNEL c4;
}
EXIT;
EOF
# 3. Check Execution Status
if [ $? -eq 0 ]; then
echo „Backup completed successfully at $(date)“ >> $LOG_FILE
else
echo „Backup FAILED at $(date)“ >> $LOG_FILE
# Add alert/email logic here if desired
fi

Oracle AI Database 26ai – is going to be available on non Oracle hardware for Linux x86-64 coming on January 20th 2026

Dienstag, Dezember 30th, 2025

Oracle AI Database 26ai – AI Made Simple for Enterprise

Dienstag, November 25th, 2025

Oracle AI Database 26ai – is available now on Oracle Cloud Infrastructure on Oracle Cloud Microsoft Azure Google Cloud and AWS

Donnerstag, November 13th, 2025

Oracle AI Database 26ai – Next Gen AI Native Database for All Your Data

Donnerstag, Oktober 16th, 2025

Oracle Database Recovery Manager (RMAN) – how many channels you can allocate

Freitag, August 22nd, 2025

The optimal number of RMAN channels depends on the number of CPU cores physical I/O devices (disks tape drives) and the specific task but a good starting point is to match the number of channels to your physical output devices or to 1-2 less than your total CPU cores to leave resources for the operating system

Oracle Database AutoUpgrade 25.3 – is designed to automate the upgrade process both before starting upgrades during upgrade deployments and during postupgrade checks and configuration migration

Donnerstag, August 21st, 2025

Oracle Database Recovery Manager (RMAN) – for encrypted backups you need a license for the Oracle Advanced Security option

Freitag, August 1st, 2025