Lange haben wir darauf gewartet, nun ist es endlich verfügbar. Seit November 2023 kann man Oracle APEX 23.2 herunterladen. Im folgenden Tipp beschreiben wir kurz, wie es installiert wird.
Sie können APEX in jede Oracle Personal, Standard, Enterprise oder Express Edition (XE oder FREE) Datenbank installieren ab Version 18c
0. Erstellen Sie ein funktionierendes Backupo des Workspace, der Workspace Files und aller APEX Applikationen.
Das haben wir bereits in einem anderen Tipp thematisiert.
1. Herunterladen des Zip Files
Download Oracle APEX 23.2
2. Auspacken des Zip Files
# unzip apex_23.2.zip
3. Neue Bilderverzeichnisse vorbereiten und evtl an den tomcat Benutzer anpassen (teilweise wird auch www-data verwendet)
# cp -R /u01/software/apex/images/ /var/www/html/i2
# chown -R tomcat:tomcat i2
4. Webserver oder EPG stoppen (als root oder sudo)
# systemctl stop tomcat
5. In den ausgepackten Installationsordner gehen und die Installation via sql*plus starten:
# cd /u01/software/apex/
# sqlplus / as sysdba
SQL> SELECT tablespace_name FROM dba_tablespaces; -- Suchen Sie sich einen passenden aus
SQL> SELECT distinct tablespace_name FROM dba_segments
WHERE owner like 'APEX%'; -- Da war bisher installiert (wenn es schon eine alte Installation gab )
SQL> @apexins APEX_TBS APEX_TBS TEMP /i/
6. Während das Skript läuft (bei unseren Maschinen ca 30 Min) kann der Bilderordener gewechselt werden
# mv /var/www/html/i /var/www/html/i_231_old
# mv /var/www/html/i2 /var/www/html/i
7. Nachdem das APEX 20.1 Installationsskript fertig ist, die REST Schnittstelle aktualisieren.
Sie sollten dazu die Passwörter der Benutzer APEX_LISTENER und APEX_REST_PUBLIC_USER zu Hand haben :-)
SQL> @apex_rest_config
8. Webserver oder EPG starten (als root oder sudo)
# systemctl start tomcat
oder
SQL> EXEC dbms_xdb.sethttpport(8080); -- oder den Port aus Schritt 4 wieder verwenden
9. Passwort für den Internal Workspace Admin Nutzer ändern
SQL> @apxchpwd
Sie werden die folgenden Parameter gefragt:
Benutzername: [Schlau ist, ihn nicht ADMIN zu nennen !]
Email: [Ihre Email Adresse angeben ]
Passwort: [Nur einmal !, also bitte nicht vertippen :-) ]
Vergessen Sie zum Abschluß nicht, den Browser Cache zu leeren!
Neuerung für die Neuinstallation:
Es gibt ein neues Universalskript mit Namen: apxsilentins.sql
Es übernimmt automatisch die folgenden Schritte:
a, Installation von APEX (Skript apexins.sql)
b, Erstellung oder Upgrade des Instanz-Admin-Accounts (Skript: apxchpwd.sql)
c, APEX_PUBLIC_USER konigurieren
d, Anpassung der Network ACLs
e, Static File Support mittels REST (Skript: apex_rest_config.sql
Aufruf-Syntax:
SQL> @apxsilentins.sql tablespace_apex tablespace_files tablespace_temp images
password_apex_pub_user password_apex_listener password_apex_rest_pub_user
password_internal_admin
Parametererklärung:
- tablespace_apex Tablespace für die Installation des APEX Benutzers
- tablespace_files Tablespace für Uploaded Files
- tablespace_temp Sortiertablespace
- images Bildordner
- password_apex_pub_user Passwort für apex_public_user
- password_apex_listener Passwort für apex_listener
- password_apex_rest_pub_user Passwort für apex_rest_public_user
- password_internal_admin Passwort für den Internal Admin Benutzer
Beispielaufruf:
SQL> @apxsilentins.sql SYSAUX SYSAUX TEMP /i/ Passw0rt!#1 Passw0rt!#2 Passw0rt!#3 Passw0rt!#4
Alternative für Produktiv-Umgebungen (mit absoluter Downtime von unter 1 Minute!):
1-3 siehe oben
4. Webserver nicht beenden !
5. Variablen für die Parameter vorbereiten
SQL> REM Wenn Sie Ihren Tablespace nicht mehr wissen:
SQL> SELECT tablespace_name FROM dba_tablespaces ORDER BY 1;
SQL> DEFINE tablespace_apex=SYSAUX
SQL> DEFINE tablespace_files=SYSAUX
SQL> DEFINE tablespace_temp=TEMP
SQL> DEFINE images=/i/
Minimale Downtime, während der Installation (unter 1 Minute )
6. Phase 1: Installation des Full Development (Lief bei uns: 2m 10s)
SQL> @apexins1.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
Wenn nur die Runtime Version installiert werden soll:
SQL> @apxrtins1.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
7. Phase 2: Entwicklung ab jetzt nicht mehr möglich, Endanwender können weiterarbeiten (Lief bei uns: 4m 20s)
SQL> SET define "&"
SQL> @apexins2.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
Wenn nur die Runtime Version installiert werden soll:
SQL> SET define "&"
SQL> @apxrtins2.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
In den 4 Minuten, wo das Skript läuft haben Sie Zeit die Bilder/CSS/Javascript Dateien in das passende Webserver Verzeichnis zu kopieren.
Nur überschreiben Sie damit ja das alte Image Verzeichnis und dass muss ja noch 5 Minuten leben
Trick: Kopieren Sie die Bilder in ein Verzeichnis i2
Bei Apache Tomcat wäre das (bei uns):
/opt/tomcat/latest/webapps
Wenn der Apache Webserver als Reverse Proxy davor geschalten ist:
/var/www/html
Prüfen Sie ob die Dateien gelesen werden können (Rechte und Eigentümer beachten!)
https://ihr_server/i/apex_version.txt
Sollte zurückliefern:
Application Express Version: 23.2
8. Webserver beenden
# systemctl stop tomcat
9. Phase 3: Endanwender können NICHT mehr weiterarbeiten (lief bei uns 0m 40s)
SQL> SET define "&"
SQL> @apexins3.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
Wenn nur die Runtime Version installiert werden soll:
SQL> SET define "&"
SQL> @apxrtins3.sql &tablespace_apex. &tablespace_files. &tablespace_temp. &images.
Denken Sie nun daran die Bilverzeichnisse zu tauschen, also z.B.
# mv i i_old
# mv i2 i
BONUSTIPP:
Prüfen Sie, ob ACLS für die alte APEX Installation vorhanden sind, die gelöscht werden sollten:
Oracle APEX 23.2 migriert sogar die alten ACLS !!! Super !
SQL> select na.host,na.lower_port,na.upper_port,
nap.principal,nap.privilege,nap.end_date
from dba_network_acl_privileges nap, dba_network_acls na
where nap.acl=na.acl
and principal like 'APEX%'
order by principal;
Wenn Sie mit den Tests! erfolgreich durch sind, können Sie den alten Oracle APEX Benutzer löschen
SQL> DROP USER APEX_220200 CASCADE;
Und nun viel Spaß mit der schönen neuen APEX 23.2 Version.
PS: Wir schulen Seit November 2023 schon mit der neuen Oracle APEX Version 23.2