===== Oracle Datenbank 23ai Free Edition unter Linux 9.4 ===== Seit kurzen (Mai 2024 ist die Oracle Oracle Datenbank 23ai Free Edition unter Linux verfügbar und kann über https://www.oracle.com/database/free/get-started/ heruntergeladen werden. Das ist das nächste Release der 23 Serie nach 23c , siehe dazu => [[dba:oracle_23c_database_linux|Die Oracle Datenbank 23c als Free Edition unter Linux 8]] 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 23ai 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 Oracle Linux 9 installiert werden. Vorbereitung Installation: * Installations-DVD von https://yum.oracle.com/oracle-linux-isos.html herunterladen * Basis System Oracle Linux 9 bereitstellen, ähnlich wie [[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-23ai-1.0-1.el9.x86_64.rpm Download über https://www.oracle.com/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 Juni 2024 verfügbar für On-premises verfügbar sein. ---- ==== Installation ==== Nach dem Aufsetzen eines Oracle Linux 9 Images unter VMware kann die eigentliche Installation erfolgen. === Basis Pakete installieren === dnf install -y oracle-database-preinstall-23ai === Ablauf === Laut der Doku: - oracle-database-free-23ai-1.0-1.el9.x86_64.rpm herunterladen - dnf -y oracle-database-free-23ai-1.0-1.el9.x86_64.rpm ausführen - /etc/init.d/oracle-free-23ai configure ausführen Schauen wir mal ob das so einfach am Ende auch klappt. === RPM Bereitstellen === scp oracle-database-free-23ai-1.0-1.el9.x86_64.rpm oracle23ai01:/tmp # als root anmelden an den oracle23ai01 cd /tmp #Checksum pürfen sha256sum oracle-database-free-23ai-1.0-1.el9.x86_64.rpm #Von der Website 427ac8f337a9aa880e661d2574e9fac1427e9899a34c8459720432905bd30873 427ac8f337a9aa880e661d2574e9fac1427e9899a34c8459720432905bd30873 oracle-database-free-23c-1.0-1.el8.x86_64.rpm # Installation als RPM starten dnf -y localinstall oracle-database-free-23ai-1.0-1.el9.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/23ai/dbhomeFree === Datenbank anlegen === Über die Datei "oracle-free-23ai.conf" unter "/etc/sysconfig" lassen sich folgende Parameter einstellen: #This is a configuration file to setup the Oracle Database. #It is used when running '/etc/init.d/oracle-free-23ai configure'. # 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= # Configure TDE CONFIGURE_TDE=false # Encrypt Tablespaces list, Leave empty for user tablespace alone or provide ALL for encrypting all tablespaces # For specific tablespaces use SYSTEM:true,SYSAUX:false ENCRYPT_TABLESPACES= # SKIP Validations, memory, space SKIP_VALIDATIONS=false alternativ in der Datei /etc/init.d/oracle-free-23ai die Defaults anpassen vi /etc/init.d/oracle-free-23ai .. # DB defaults export ORACLE_HOME=/opt/oracle/product/23ai/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-23ai configure [root@ora23ai01 tmp]# /etc/init.d/oracle-free-23ai 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 29% complete Creating and starting Oracle instance 30% complete 33% complete 36% complete 39% complete 43% complete Completing Database Creation 47% complete 49% complete 50% complete Creating Pluggable Databases 54% complete 71% complete Executing Post Configuration Actions 93% complete Running Custom Scripts 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/FREE. Database Information: Global Database Name:FREE System Identifier(SID):FREE Look at the log file "/opt/oracle/cfgtoollogs/dbca/FREE/FREE.log" for further details. Connect to Oracle Database using one of the connect strings: Pluggable database: ora23ai01.pipperr.local/FREEPDB1 Multitenant container database: ora23ai01.pipperr.local Passwort aufschreiben! Mit "delete" kann die Datenbank auch wieder gelöscht werden. === Was läuft nun === etc/init.d/oracle-free-23ai status Status of the Oracle FREE 23ai service: LISTENER status: RUNNING FREE Database status: RUNNING === Was wird wo angelegt? === |/opt/oracle | Oracle Base| |/opt/oracle/product/23ai/dbhomeFree | Oracle Home | |/opt/oracle/oradata/FREE | Databank Dateien | |/opt/oracle/diag| Logs | |/opt/oracle/cfgtoollogs/dbca/FREE | Database creation logs | |/etc/sysconfig/oracle-free-23ai.conf| Parameter Datei| |/etc/init.d/oracle-free-23ai | Start/Stop/Status Skript | ---- ==== Die ersten Einstellungen ==== Datenbank als root starten: Mit den bereitgestellten Skript: /etc/init.d/oracle-free-23ai stop /etc/init.d/oracle-free-23ai start Bzw. mit eigenen Skript => : [[dba:start_db_linux|Datenbank unter Linux automatisch starten]] === An der Datenbank anmelden=== User Oracle su - oracle #Umgebung setzen export ORACLE_HOME=/opt/oracle/product/23ai/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/freepdb1 as sysdba === Falls 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 FREEPDB1 OPEN READ WRITE; --beim nächsten START automatisch wieder mounten ALTER PLUGGABLE DATABASE FREEPDB1 SAVE STATE; ---- ==== Was machen wir jetzt damit? ==== Die Edition wendet sich sehr 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 * Vector Search New Feature Übersicht => https://apex.oracle.com/database-features/ ---- ---- ==== Quellen ==== DOAG * https://www.doag.org/de/home/news/aus-oracle-23c-wird-oracle-23ai/ Oracle: * https://www.oracle.com/database/free/ Forum: * https://forums.oracle.com/ords/apexds/domain/dev-community/category/oracle-database-free