Lange haben wir darauf gewartet, nun ist es endlich verfügbar. Seit 23.4.2020 kann man Oracle APEX 20.1 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) Datenbank installieren ab Version 11.2.0.4.
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 20.1
2. Auspacken des Zip Files
# unzip apex_20.1.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
oder
SQL> SELECT dbms_xdb.gethttpport FROM dual; -- Falls Sie den Port nicht wissen
SQL> EXEC dbms_xdb.sethttpport(0);
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_192_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/
6. Phase 1: Installation des Full Development (Lief bei uns: 2m 30s)
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: 5m 50s)
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.
8. Webserver beenden
# systemctl stop tomcat
oder
SQL> SELECT dbms_xdb.gethttpport FROM dual; -- Falls Sie den Port nicht wissen
SQL> EXEC dbms_xdb.sethttpport(0);
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.
BONUSTIPP:
Prüfen Sie, ob ACLS für die alte APEX Installation vorhanden sind, die gelöscht werden sollten:
Oracle APEX 20.1 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_190200 CASCADE;
Und nun viel Spaß mit der schönen neuen APEX 20.1 Version.