Auswahl  

ORDS 22.x Installation in Verbindung mit Oracle APEX 

Oracle
APEX
APEX 22.1:APEX 22.2:ORDS 22.1:ORDS 22.2
06.09.22 (MP)
26.11.22(MP)
ORDS 22.x APEX

Passende Schulungen zum Thema

Seit Mai 2022 ist eine neue ORDS Version veröffentlicht worden, die eine andere Installation benötigt.
Wir wollen hier die wichtigsten Punkte erklären:

1. Es werden nur hoch die Java Versionen 11 und 17 unterstützt (und KEIN JAVA 8)
Prüfen Sie bitte zuerst welche Java Version sie haben:
Achtung: Bei uns machte auch die OpenJDK Version Probleme und endete mit einem Webserver Fehler 500 und Fehlertext NULL!

Für Windows:
java -version

java -version
java version "17.0.4.1" 2022-08-18 LTS
Java(TM) SE Runtime Environment (build 17.0.4.1+1-LTS-2)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.4.1+1-LTS-2, mixed mode, sharing)
=> So is es gut :-)

Installation unter Windows:
ords.exe --config c:\oracle\ords install

ORDS: Release 22.2 Produktion am Di. Sept. 06 09:49:12 2022

Copyright (c) 2010, 2022, Oracle.

Konfiguration:
  /C:/oracle/ords/

Der Konfigurationsordner C:\oracle\ords enthält keine Konfigurationsdateien.

Oracle REST Data Services - Interaktive Installation

  Geben Sie eine Zahl zur Auswahl des Installationstyps ein
    [1] ORDS nur in der Datenbank installieren oder upgraden
    [2] Datenbankpool erstellen oder aktualisieren und ORDS in der Datenbank installieren/upgraden
    [3] Nur Datenbankpool erstellen oder aktualisieren
  Choose [2]: 2
   Geben Sie eine Zahl zur Auswahl des zu verwendenden Datenbankverbindungstyps ein
    [1] Basis (Hostname, Port, Servicename)
    [2] TNS (TNS-Alias, TNS-Verzeichnis)
    [3] Benutzerdefinierte Datenbank-URL
  Choose [1]: 1
  Geben Sie den Hostnamen der Datenbank ein [localhost]: 127.0.0.1
  Listener-Port der Datenbank eingeben [1521]:
  Datenbankservicename eingeben [orcl]: apex221
  Geben Sie einen Datenbankbenutzernamen mit Administratorberechtigungen an.
    Geben Sie den Administratorbenutzernamen ein: sys
      Datenbankkennwort für SYS AS SYSDBA eingeben:
Verbindung zu Datenbankbenutzer: SYS AS SYSDBA URL: jdbc:oracle:thin:@//127.0.0.1:1521/apex221 wird hergestellt

Informationen werden abgerufen.
Verbindung zu Datenbankbenutzer: ORDS_PUBLIC_USER URL: jdbc:oracle:thin:@//127.0.0.1:1521/apex221 wird hergestellt
  Geben Sie eine Zahl ein, um zusätzliche Features zum Aktivieren auszuwählen:
    [1] Datenbankaktionen (aktiviert alle Features)
    [2] REST-fähige SQL und Datenbank-API
    [3] REST-fähige SQL
    [4] Datenbank-API
    [5] Kein Wert
  Choose [1]: 1
   Geben Sie eine Zahl zum Konfigurieren und Starten von ORDS im Standalone-Modus ein
    [1] ORDS im Standalone-Modus konfigurieren und starten
    [2] Überspringen
  Choose [1]: 2
Die Einstellung db.connectionType wurde auf basic in Konfiguration default gesetzt
Die Einstellung db.hostname wurde auf 127.0.0.1 in Konfiguration default gesetzt
Die Einstellung db.port wurde auf 1521 in Konfiguration default gesetzt
Die Einstellung db.servicename wurde auf apex221 in Konfiguration default gesetzt
Die Einstellung plsql.gateway.mode wurde auf proxied in Konfiguration default gesetzt
Die Einstellung db.username wurde auf ORDS_PUBLIC_USER in Konfiguration default gesetzt
Die Einstellung db.password wurde auf ****** in Konfiguration default gesetzt
Die Einstellung feature.sdw wurde auf true in Konfiguration default gesetzt
Die globale Einstellung database.api.enabled wurde auf true gesetzt
Die Einstellung restEnabledSql.active wurde auf true in Konfiguration default gesetzt
Die Einstellung security.requestValidationFunction wurde auf wwv_flow_epg_include_modules.authorize in Konfiguration default gesetzt

....
INFO: 11:51:30 Validating objects for Oracle REST Data Services.
VALIDATION: 11:51:30 Starting validation for schema: ORDS_METADATA
VALIDATION: 11:51:30 Validating objects
VALIDATION: 11:51:33 Validating roles granted to ORDS_METADATA and
ORDS_PUBLIC_USER
VALIDATION: 11:51:33 Validating ORDS Public Synonyms
VALIDATION: 11:51:34 Total objects: 312, invalid objects: 0, missing objects: 0
VALIDATION: 11:51:34     88  INDEX
VALIDATION: 11:51:34      1  JOB
VALIDATION: 11:51:34      3  LOB
VALIDATION: 11:51:34     20  PACKAGE
VALIDATION: 11:51:34     19  PACKAGE BODY
VALIDATION: 11:51:34      1  PROCEDURE
VALIDATION: 11:51:34     56  PUBLIC SYNONYM
VALIDATION: 11:51:34      1  SEQUENCE
VALIDATION: 11:51:34     31  TABLE
VALIDATION: 11:51:34     31  TRIGGER
VALIDATION: 11:51:34     20  TYPE
VALIDATION: 11:51:34      6  TYPE BODY
VALIDATION: 11:51:34     35  VIEW
VALIDATION: 11:51:34 Validation completed.
INFO: 11:51:34 Completed validating objects for Oracle REST Data Services.

PL/SQL-Prozedur erfolgreich abgeschlossen.
Commit abgeschlossen.
[*** script: ords_alter_session_script.sql]
PL/SQL-Prozedur erfolgreich abgeschlossen.
2022-09-06T09:51:34.159Z INFO        Upgrade f³r Oracle REST Data Services Version 22.2.1.r2021302 wurde abgeschlossen. Verstrichene Zeit: 00:00:22.914

[*** Informationen: Upgrade complete]
[*** Informationen: Upgrade f├╝r Oracle REST Data Services Version 22.2.1.r2021302 wurde abgeschlossen. Verstrichene Zeit: 00:00:22.914
]
------------------------------------------------------------
Containername: APEX221
------------------------------------------------------------

[*** script: ords_configure_gateway.sql]
Configured PL/SQL Gateway user APEX_PUBLIC_USER to be proxiable from
ORDS_PUBLIC_USER

PL/SQL-Prozedur erfolgreich abgeschlossen.
2022-09-06T09:51:34.244Z INFO        Konfiguration von PL/SQL-Gatewaybenutzer f³r Oracle REST Data Services Version 22.2.1.r2021302 wurde abgeschlossen. Verstrichene Zeit: 00:00:00.85

2022-09-06T09:51:34.244Z INFO        Datenbankkennwort f³r ORDS_PUBLIC_USER in APEX221 wird aktualisiert
[*** Informationen: Konfiguration von PL/SQL-Gatewaybenutzer f├╝r Oracle REST Data Services Version 22.2.1.r2021302 wurde abgeschlossen. Verstrichene Zeit: 00:00:00.85
]
[*** script: ords_change_password.sql]
PL/SQL-Prozedur erfolgreich abgeschlossen.
2022-09-06T09:51:34.359Z INFO        Aktualisieren von Datenbankkennwort f³r ORDS_PUBLIC_USER wurde abgeschlossen. Verstrichene Zeit: 00:00:00.100

[*** Informationen: Aktualisieren von Datenbankkennwort f├╝r ORDS_PUBLIC_USER wurde abgeschlossen. Verstrichene Zeit: 00:00:00.100
]
 

Nun wird die ords.war Datei in das TomCat Verzeichnis kopiert/verschoben (z.B. C:\Program Files\Apache Software Foundation\Tomcat 9.0\webapps)
oder unter Linux: /opt/tomcat/latest/webapps
TomCat sollte dann innerhalb von 5 Sekunden einen Ordner ords dort anlegen!

Ein umbenennen des ORDS ist derzeit zu keiner Phase der Installation unterstützt (Stand Nov. 2022)
Denken Sie daran, dass Sie ggf auch in diesen Ordner die APEX Bilder (Ordner images) in den Ordner "i" kopieren !

Nun kommt der spannendste Teil (weil nur zum Teil in der Doku :-) aber dafür gibt es ja Kurse bei Muniqsoft Training ....

Wenn Sie bei TomCat die msi Variante installiert haben, gibt es in er Taskleiste ein TomCat Icon (Feder mit roten oder grünem Punkt)
Rot bedeutet= TomCat nicht gestartet
Grün bedeutet = TomCat gestartet
 
TomCat Properties

























Dort tragen Sie im Reiter Java unter Java Options ein:
-Dconfig.url=C:\oracle\ords

Wenn das nicht oder falsch konfiguriert wurde, quittiert Tomcat einen APEX Aufruf mit einem 404 Fehler.

Sollten Sie TomCat lieber über die Kommandozeile starten, sollte bitte zuerst folgender Parameter im DOS Fenster gesetzt worden sein:
_JAVA_OPTIONS=-Dconfig.url=c:\oracle\ords

Sie können das auch unter Systemsteuerungen/System/Erweiterte Systemeigenschaften/Umgebungsvariablen unter SYSTEMVARIABLEN (unten) setzen:

Wichtig. Unter Windows muss der TomCat Dienst in der Lage sein, die Config-Datei (bzw. den ganzen Ordner lesen zu können)
Prüfen Sie bitte auf dem Ordner ob der "Lokale Dienst" Leserechte auf dem Ordner hat. Wenn nicht, vergeben Sie die Rechte durch:
Rechte Maus auf den Ordner / Eigenschaften / Sicherheit : Bearbeiten / Hinzufügen "Lokaler Dienst " eingeben / OK / OK
Auf dem Reiter Sicherheit / Erweitert (ganz unten)  [x] Alle Berechtigungen für untergeordnete Objekte .. anwählen / OK
Warnung ignorieren und Fertig !
Den Fehler sonst zu suchen, macht wirklich [keinen] Spass !