===== Die Oracle Datenbank 23c als Free Edition unter Linux 8 ===== Seit Mitte 2023 ist die Oracle Oracle Datenbank 23c Free Edition unter Linux verfügbar und kann über https://www.oracle.com/de/database/free/ heruntergeladen werden. Diese Release kann ohne weitere Lizenzierung mit den vollen Leistungsumfang der Datenbank für Tests und Entwicklungen verwendet werden. Die Einschränkungen sind: * 2 CPUs für Vordergrund Processe * 2GB RAM (SGA + PGA combined) * 12GB User Data unabhängig von der Kompression Diese Version ist also ideal um die neue Features der Datenbank 23c zu testen und sich in die Plugable Architektur einzuarbeiten. Es stehen auch schon verbreitete Images (wie Docker) zur Verfügung, hier soll aber die DB komplett auf einen frischen Linux installiert werden. Vorbereitung Installation: * Installations-DVD von https://yum.oracle.com/oracle-linux-isos.html herunterladen * Basis System Oracle Linux 8 bereitstellen [[linux:linux_8_system_grundeinstellungen_oracle_datenbank_rac|Ein Oracle Linux 8 Basis System als Grundlagen für eine Oracle Datenbank Installation vorbereiten]] * Software oracle-database-free-23c-1.0-1.el8.x86_64.rpm Download über https://www.oracle.com/de/database/free/get-started/ * Datenbank Software installieren * Datenbank einrichten === Wann kommt die produktive Variante? === Siehe dazu die Support Node Oracle Doc ID 742060.1: Soll gegen Mitte 2024 verfügbar für On-premises sein. ---- ==== Installation ==== Nach dem Aufsetzen eines Oracle Linux 8 Images unter VMware kann die eigentliche Installation erfolgen. Laut der Doku: - oracle-database-free-23c-1.0-1.el8.x86_64.rpm herunterladen - yum -y localinstall oracle-database-free* ausführen - /etc/init.d/oracle-free-23c configure ausführen Schauen wir mal ob das so einfach am Ende auch klappt. === RPM Bereitstellen === scp oracle-database-free-23c-1.0-1.el8.x86_64.rpm oracle23c01:/tmp # als root anmelden an den oracle23c01 cd /tmp #Checksum pürfen sha256sum oracle-database-free-23c-1.0-1.el8.x86_64.rpm 63b6c0ec9464682cfd9814e7e2a5d533139e5c6aeb9d3e7997a5f976d6677ca6 oracle-database-free-23c-1.0-1.el8.x86_64.rpm # Installation als RPM starten yum -y localinstall oracle-database-free-23c-1.0-1.el8.x86_64.rpm Was hat er uns dann am Ende angelegt? Ganz Klassisch wird unter /opt/oracle als ORACLE_BASE der gewohnte Standard angelegt. /opt/oracle/product/23c/dbhomeFree === Datenbank anlegen === Über die Datei "oracle-free-23c.conf" unter "/etc/sysconfig" lassen sich folgende Parameter einstellen: # LISTENER PORT used Database listener, Leave empty for automatic port assignment LISTENER_PORT= # Character set of the database CHARSET=AL32UTF8 # Database file directory # If not specified, database files are stored under Oracle base/oradata DBFILE_DEST= # DB Domain name DB_DOMAIN= alternativ in der Datei /etc/init.d/oracle-free-23c die Defaults anpassen vi /etc/init.d/oracle-free-23c .. # DB defaults export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree export ORACLE_SID=FREE export TEMPLATE_NAME=FREE_Database.dbc export PDB_NAME=FREEPDB1 export LISTENER_NAME=LISTENER export NUMBER_OF_PDBS=1 export CREATE_AS_CDB=true .. Umbennen mag er allerdings nicht so ganz: Configuring Oracle Database GPIDB. [FATAL] [DBT-10334] Oracle SID name for Oracle Database Free is invalid. ACTION: SID name for Oracle Database Free should be FREE. Erstmal alles mit Default anlegen: /etc/init.d/oracle-free-23c configure [root@oracledb23c01 admin]# /etc/init.d/oracle-free-23c configure Specify a password to be used for database accounts. Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9]. Note that the same password will be used for SYS, SYSTEM and PDBADMIN accounts: Confirm the password: Configuring Oracle Listener. Listener configuration succeeded. Configuring Oracle Database FREE. Enter SYS user password: ********* Enter SYSTEM user password: ******* Enter PDBADMIN User Password: ******** Prepare for db operation 7% complete Copying database files ... Passwort aufschreiben! Mit "delete" kann die Datenbank auch wieder gelöscht werden. ---- ==== Die ersten Einstellungen ==== Datenbank als root starten: Mit den bereitgestellten Skript: /etc/init.d/oracle-free-23c stop /etc/init.d/oracle-free-23c start Bzw. mit eigenen Skript => : [[dba:start_db_linux|Datenbank unter Linux automatisch starten]] === An der Datenbank anmelden=== #Umgebung setzen export ORACLE_HOME=/opt/oracle/product/23c/dbhomeFree export PATH=$ORACLE_HOME/bin:$PATH export ORACLE_SID=FREE #Listener kontrollieren lsnrctl status # Root container über die Umgebung anmelden sqlplus / as sysdba SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS; # Root container über den Service anmelden sqlplus sys@//localhost:1521/free as sysdba # erste Pluggable Datenbank über den Service anmelden sqlplus sys@//localhost:1521/freedb1 as sysdba === Plugable DB nach Neustart down === Starten und beim nächsten Mal automatisch starten: sqlplus / as sysdba SELECT NAME, OPEN_MODE, RESTRICTED, OPEN_TIME FROM V$PDBS; --Plugable starten ALTER PLUGGABLE DATABASE FREEDB1 OPEN READ WRITE; --beim nächsten START automatisch wieder mounten ALTER PLUGGABLE DATABASE FREEDB1 SAVE STATE; ---- **Fetter Text** ==== Was machen wir jetzt damit? ==== Die Edition wendet sich wohl stark an Entwickler, die die neuen Features der Oracle Datenbank testen wollen. Wie zum Beispiel: * JavaScript stored procedures * Operational Property Graphs * SQL Domains und Annotations * Oracle Kafka APIs * JSON Relational Duality * JSON Schema New Feature Übersicht => https://apex.oracle.com/database-features/ ---- ---- ==== Quellen ==== Oracle: * https://www.oracle.com/database/free/ Forum: * https://forums.oracle.com/ords/apexds/domain/dev-community/category/oracle-database-free Weitere Quellen: * https://oracle-base.com/blog/2023/04/04/oracle-database-23c-free-developer-release/ * https://oracle-base.com/articles/23c/oracle-db-23c-free-rpm-installation-on-oracle-linux-8 * https://www.heise.de/news/Datenbanken-Oracle-Database-23c-fuer-Entwickler-frei-verfuegbar-8594306.html