Skip to Main Content

 
Titelbild Muniqsoft Training

Auswahl  

20 CREATE TABLE Beispiele für Oracle (Version 10.2 bis 21c) 20 CREATE TABLE Examples for Oracle (Version 10.2 bis 21c) ACL (Access Control Lists) bei Oracle APEX 20.2 Backups selbst konfigurieren APEX 21.1 für Oracle XE 18c installieren APEX 23.2 Installation mit minimaler Downtime APEX Datenbank Initialisierungsparameterempfehlungen APEX Neue Funktionen in der Übersicht (ab 21.1) APEX Region Display Selector Status auswerten Abhängige Objekte einer Tabelle anzeigen bzw. neu erstellen Access Control Lists mit dbms_network_acl_admin Archivierung in ein Remote-Verzeichnis Autoincrement Spalten in 12c (Identity) Automatische Triggerwiedereinschaltung Automatischer Start einer Oracle Datenbank unter LINUX/UNIX Berechnung des Segmentfüllpegels Bereinigen der DB-Umgebung mittels ADRCI Besonderheiten des Datentyps LONG Best Practices für das Datenbank-Audit in Oracle 11g und 12c Bind Variable oder Substitutionsvariable? Blobs in Apex CGI Parameter unter APEX auslesen Characterset Migration Compound Trigger zur Vermeidung von Mutating Tables in 11g Crossplatform Migration DBMS_FILE_TRANSFER zum Kopieren von Binär-Dateien DBMS_OUTPUT Tipps DBMS_OUTPUT umgeleitet Das PL/SQL-Berechtigungskonzept in 12c Das Wichtigste rund um Benutzer-Profile Datendateien online verschieben Datumskonvertierungen und Datumsformate in Oracle Debuggen in 12C mit Hilfe des SQL Developers Deklaration von PL/SQL Datentypen Dem Oracle Datenbank-Link auf der Spur Die Neuerungen APEX 5.1 Die WITH-Klausel Die Zukunft ist parallel Die wahre Größe einer Tabelle mit LOB Spalten Dynamic Actions Vorlagen und Beispiele für APEX Dynamic Actions für Reportspalten Dynamisch Netzwerkdateien in SQL auslesen Dynamische Ausführung von Befehlen Einführung in Restore Points Einsatz von After Servererror-Triggern bei dem Troubleshooti Ermittlung der exakten Datenbank Edition Eval Funktion mit Execute Immediate Export Private Reports einen interactive Report in APEX Export von Tabellen als CSV-Files mit UTL_File Export von allen APEX Komponenten Filterung der Alert.log mittels SQL Flashback Funktionen in Postgres Freier Diskspace unter Windows mittels External Table ermitt Frühjahrsputz in der Datenbank Function Based Indices - Spezialfälle Funktion Return Boolean in SQL Problem lösen Gesperrte Schemata in Application Express Geändertes Verhalten bei Datendateifehlern Globale Suche in APEX Hackerangriffe in APEX Import von Bild-Dateien in die Datenbank Index To Rebuilt or not to Rebuilt Index oder nicht, das ist hier die Frage Informationssystem für APEX-Applikationen Inkrementelles Backup und Block Change Tracking mit RMAN Install APEX 21.1 for Oracle XE 18c Installation der Oracle 23ai FREE Edition auf Rocky Linux mi Installation von Oracle 21c Instanzstart Mittels RMAN ohne Parameterdatei Interessante APEX Parameter, die über die Kommandozeile gese Interessantes zum Recycle Bin-Konzept Itemcheck in APEX Anwendungen über alle Items einer Seite JSON Daten extrahieren JSON Umwandlung in realtionales Format mit JSON_TABLE Beispi Keyword in Context (KWIC) mit Oracle Konfigurieren und Nutzen des Oracle Connection Managers Konvertierung von Ref Cursor in dbms_sql Cursor (ab 11g) LISTAGG Alternative mit CLOB Datentyp (und damit 128TB Maxim Lange Laufzeiten bei Zugriff auf DBA_FREE_SPACE oder DBA_EXT Linux Kernel upgraden Linux Shell Skripten in Oracle Tabellen speichern Listener Info mittels SQL auswerten (External Table) Löschen von doppelten Datensätzen Mehrspaltige Ausgabe einer Tabelle Monatskalender in SQL*Plus Mutating Table Problem umgehen mittels zwei Trigger und eine Möglichkeiten die Datendatei eines temporären Tablespace zu Netzwerk Verschlüsselung Neue Klausel in der Create Table Anweisung Neue Online Operationen Neuerungen zu Joins in Oracle Version 12c Nützliche Parameter von SYS_CONTEXT OAUTH2 Authentifizierung mit ORDS 23.1.4 in APEX 23.1 ORDS 22.x Installation in Verbindung mit Oracle APEX ORDS Standalone Installation unter Windows Online Table Redefinition Oracle 12c Datenbank Patchstand abfragen Oracle 18c (Version 18.3) Installation Kurzanleitung Oracle 23ai FREE auf Debian (bookworm) Installation Oracle 23ai FREE on Debian (Bookworm) Installation Oracle 23ai auf Windows WSL Oracle 23ai für Windows Installation Oracle APEX 19.2 installieren für Oracle XE 18c Oracle APEX 20.2 Installation Oracle APEX 20.2 installieren in einer Oracle XE 18c Datenba Oracle APEX 21.2 in Oracle 21c Pluggable Database installier Oracle APEX 25.1 Installation Oracle APEX Export auf Kommandozeile Oracle APEX Friendly URL ab 20.1 Oracle APEX Interactive Grid Javascript Snippets Oracle APEX Interactive Grid Javascript Snippets Oracle APEX Kalender Region mit Jahresauswahl Oracle APEX Patch für 20.1 (30990551) Oracle APEX Variablen im Oracle Trigger auslesen Oracle Arithmetische Funktionen und String Funktionen Oracle Attention.log via Pipelined Table Function auslesen / Oracle Attention.log via Pipelined Table Function read / ana Oracle Constraints nachträglich anlegen Oracle Datenaustausch mit Postgres via REST Oracle Datenbanken herunterfahren Oracle Dokumentationsübersicht von Version 11.2 bis Oracle 2 Oracle Executables unter Windows erklärt Oracle FLASHBACK Oracle Fehler in Win 10 Benachrichtigungen Oracle Fehlermeldungen aus der DB anzeigen Oracle Forms 6i mit Win 10 und Oracle 18 XE Oracle Indexüberwachung Oracle JSON Date Datentyp Problem Oracle Live SQL Oracle ORDS (bis 21.1) Installation für APEX Oracle ORDS (bis 21.4.3.x) Fehler und Lösungsvorschläge Oracle ORDS 22.x-25.x Installation und Fehlerbehebung / ORDS Oracle ORDS 24.x Install mit Apache TomCat 10.1.x oder TomCa Oracle ORDS Check Skript für gängigste Webserver 404 Fehler Oracle ORDS Parameter der Datei defaults.xml Oracle Objekte umbenennen Oracle Rest Benutzer im TomCat Oracle SET Operatoren und Gruppenfunktionen und Unterabfrage Oracle SQL Insert Oracle Text I Oracle Version abfragen Oracle Workspace Manager (Package dbms_wm) Oracle XE 18c Installation (Linux) Oracle XE 18c Installation (Windows) Oracle und JSON PDF Anzeige aus Tabelle in APEX PDF display from table in APEX PL/SQL Collection Beispiele Package UTL_MAIL Parallelisierung von DML - Operatoren mit DBMS_Parallel_Exec Partitionierte Tabellen Beispiele in Postgres Partitionierte Tabellen von Postgres (ab Version 10) Pivoting in 11g - Zeilen zu Spalten PostgreSQL Listener Adresse ändern und Zugriff regulieren Postgres Backup einer Datenbank mit tar Postgres utl_file zum Lesen und Schreiben von Dateien Praktische Aliase unter Oracle / APEX und Tomcat / Apache Prozedur für das Klonen einer Oracle Datenbank Quote Operator REST Beispiele mit apex_web_service RMAN Recover Szenarien inkl. Wechsel der Inkarnation Rebuild von defekten Indizes Rechte direkt oder via Rolle Regular Expression in Oracle (Working Examples) Reguläre Ausdrücke in Oracle Reguläre Ausdrücke in Oracle (Praxisbeispiele) Result Cache SQL Tuning mit SAMPLE und ROWNUM SQL*PLUS Hilfe Erweitern SYSAUX Tablespace verkleinern / reorganisieren Save Linux shell scripts in Oracle tables Schema Export mit EXPDP erzeugt keine Benutzer ? Schutz vor DROP oder TRUNCATE Kommandos Security Scoring Segmenteinstellungen beim Datapump Import Sessions Transaktionen und Sperren Sperren auf Tabellen in einer Oracle Datenbank Spool-file als HTML-Datei ausgeben Statspack ohne Report Statspack optimiert Suche Datensatz in einem Schema Suche nach Bildern und Links in einer APEX Seite TCP Validnode Checking Tablespace Map as ASCII Ausgabe Tablespace Shrink ab 23ai Tablespace Shrink available as of Oracle 23ai Template Substitutions in Apex Tipps zu der Initialisierungsdatei Tipps zur Statistikerstellung in der Datenbank TomCat Logfiles mittels External Table lesen Tooltipps in APEX5.x Tracing mit DBMS_Monitor Trigger Beispiele in Postgres Truncate / Drop Schutz für wichtige Objekte Umbenennen Ihrer Constraints Umbennen von Oracle intervall partitionierten Tabellen (Nach Undo und Temp - Tablespace verkleinern Undokumentierte Funktion zum Abfragen von NULL Werten Unnötige Benutzer in Oracle XE 18c löschen Unsichtbare Spalten Upgrade und Migration einer Non-Container-DB (12.1.0.2) in e Verarbeitung eines dynamischen Selects Vergleich von Tabellen in 10G und 11G II Verzeichnisse Auslesen in PL/SQL Visual Studio Code für Oracle SQL und PL/SQL Wie suche ich in View-Texten? Zeilenbasierte Zugriffskontrolle Zeilenbegrenzung in 12c - Pagination leicht gemacht Übersicht der wichtigsten DDL-Befehle Übersicht der wichtigsten DDL-Befehle (Teil 2) Übersicht der wichtigsten DML Befehle Übersicht der wichtigsten SQL-Befehle Überwachung der Alert-Datei unter Linux Überwachung der Alert-Datei unter Windows
Komplett Übersicht aller Oracle Tipps

Oracle ORDS 22.x-25.x Installation und Fehlerbehebung / ORDS Troubleshooting 

Oracle
APEX:ORDS
ORDS 23.1:ORDS 23.2:ORDS 24.2:ORDS 22.2
15.03.23 (MP)
05.04.25(MP)
Oracle, ORDS 22.x/23.x/24.x/25.x , Installation

Passende Schulungen zum Thema

Seit einiger Zeit  ist die neue Oracle ORDS Version 23.x zum Download verfügbar. 
Wie heisst ein berühmtes Zitat: Mann muss in einem System jeden Fehler gemacht haben um das System verstanden zu haben.         
Na dann sind wir kurz davor alles zu wissen :-) …

  1. Installation
  2. Prüfung im OS
  3. Silent Installation (Unix)
  4. Weitere Datenbank in ORDS eintragen (Unix)
  5. Silent Installation (Win)
  6. Zusätzliche Datenbank in ORDS eintragen (win)
  7. Prüfungen Im Betriebssystem
  8. Prüfungen in der Datenbank
  9. Gängige Fehler des ORDS
  10. Bonustrack: Apex Fehler

1. Installation

Laden Sie die Software von Oracle herunter und packen Sie das ZIP File in einem eigenen Ordner aus.      

 

2. Prüfung im OS

   
Prüfen Sie nun Ihre installierte Java Version:

Unix / Linux

java --version
    java 11.0.16.1 2022-08-18 LTS
    Java(TM) SE Runtime Environment 18.9 (build 11.0.16.1+1-LTS-1)
    Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16.1+1-LTS-1, mixed mode)
                                    

Das sieht gut aus … OpenJDK wird offiziell von Oracle nicht unterstützt und kann Probleme verursachen! Verwenden Sie Java 11 oder Java 17

Windows:

java.exe --version
    openjdk 11 2018-09-25
    OpenJDK Runtime Environment 18.9 (build 11+28)
    OpenJDK 64-Bit Server VM 18.9 (build 11+28, mixed mode)

Das ist schlecht, weil Oracle unterstützt wie gesagt keine Java OpenJDK Version. KEINE !         
Es kann funktionieren, bei uns trat meist ein Webserver Fehler 500 auf (ohne große Begründung)         
Unterstützt werden nur die Oracle Java Versionen 11 und 17.

Nach erfolgreicher Installation der Oracle Java Version gehen Sie in den ausgepackten Ordner (z.B. cd c:\temp\ords)

Dort sollte ein “bin” Ordner liegen und da drin eine ords.exe und eine ords Datei

Tragen Sie Java in Ihren Pfad ein:

Windows:

set PATH=%PATH%;"C:\Program Files\Java\jdk-11\bin"

UNIX:

export PATH=$PATH:/usr/bin/

Wenn Java in Ihrem Pfad eingetragen wurde, starten Sie die Installation mit:

Windows:
    bin/ords.exe --config c:\oracle\ords install

Tipp: Sie sollten auch nach der Installation des Ords das “bin” Verzeichnis des ORDS und die Datei ords.war nicht wegwerfen. Für nachtägliche Wartungsarbeiten benötigt man die Dateien eventuell nochmal. 
Sie können die Dateien z.B in den Hauptordner des Config-Verzeichnisses kopieren, also z.B. C:\oracle\ords für Windows, oder /opt/oracle für Linux.

Ab ORDS Version 22.2.x wird der Pfad für den Config Ordner beim Tomcat unter UNIX im Service File eingetragen:

cat /etc/systemd/system/tomcat.service:

…
    Environment="JAVA_HOME=/usr/lib/jvm/jre"
    Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Dconfig.url=/opt/oracle/ords"
…

 

Windows (wird im Tomcat (tomcat9w.exe) Eigenschaftsfenster Reiter “Java” im Bereich “Java Options” (nicht “Java 9 Options” !!!) eingetragen)

-Dconfig.url=c:\oracle\ords

Unix/Linux:

 bin/ords --config /opt/oracle/ords install

Interaktion mit dem Skript:

# bin/ords --config /opt/oracle/ords install
    ORDS: Release 23.4 Produktion am Mi. Dez 15 06:49:08 2023
    Copyright (c) 2010, 2023, Oracle.
    Konfiguration:/opt/oracle/ords/
    Der Konfigurationsordner /opt/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]:
    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]:
    Geben Sie den Hostnamen der Datenbank ein [localhost]: 172.30.30.141
    Listener-Port der Datenbank eingeben [1521]:
    Datenbankservicename eingeben [orcl]: apex222
    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:@//172.30.30.141:1521/apex222 wird hergestellt
    Informationen werden abgerufen.
    Geben Sie den Default Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [SYSAUX]:
    Geben Sie den Temporary Tablespace für ORDS_METADATA und ORDS_PUBLIC_USER ein [TEMP]:
    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]:
     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
     …
     INFO: 08:19:07 Validating objects for Oracle REST Data Services.
     VALIDATION: 08:19:07 Starting validation for schema: ORDS_METADATA
     VALIDATION: 08:19:07 Validating objects
     VALIDATION: 08:19:08 Validating roles granted to ORDS_METADATA and
     ORDS_PUBLIC_USER
     VALIDATION: 08:19:08 Validating ORDS Public Synonyms
     VALIDATION: 08:19:08 Total objects: 306, invalid objects: 0, missing objects: 0
     VALIDATION: 08:19:08     94  INDEX
     VALIDATION: 08:19:08      3  LOB
     VALIDATION: 08:19:08     15  PACKAGE
     VALIDATION: 08:19:08     14  PACKAGE BODY
     VALIDATION: 08:19:08      1  PROCEDURE
     VALIDATION: 08:19:08     52  PUBLIC SYNONYM
     VALIDATION: 08:19:08      1  SEQUENCE
     VALIDATION: 08:19:08     32  TABLE
     VALIDATION: 08:19:08     32  TRIGGER
     VALIDATION: 08:19:08     20  TYPE
     VALIDATION: 08:19:08      6  TYPE BODY
     VALIDATION: 08:19:08     36  VIEW
     VALIDATION: 08:19:08 Validation completed.
     INFO: 08:19:08 Completed validation for Oracle REST Data Services.
     PL/SQL-Prozedur erfolgreich abgeschlossen.
     Commit abgeschlossen.
     ------------------------------------------------------------
     Containername: APEX222
     Skripts für scheduler werden ausgeführt
     ------------------------------------------------------------
     …
     PL/SQL-Prozedur erfolgreich abgeschlossen.
     Commit abgeschlossen.
     2023-03-15T07:19:15.030Z INFO        Installation für Oracle REST Data Services Version 22.4.4.r0411526 wurde abgeschlossen. Verstrichene Zeit: 00:00:27.496
     [*** Informationen: Installation für Oracle REST Data Services Version 22.4.4.r0411526 wurde abgeschlossen. Verstrichene Zeit: 00:00:27.496
     ]
     ------------------------------------------------------------
     Containername: APEX222
     ------------------------------------------------------------
     [*** 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.
     2023-03-15T07:19:15.130Z INFO        Konfiguration von PL/SQL-Gatewaybenutzer für Oracle REST Data Services Version 22.4.4.r0411526 wurde abgeschlossen. Verstrichene Zeit: 00:00:00.95
     [*** Informationen: Konfiguration von PL/SQL-Gatewaybenutzer für Oracle REST Data Services Version 22.4.4.r0411526 wurde abgeschlossen. Verstrichene Zeit: 00:00:00.95
     ]

3. Silent Installation (Unix)

export DB_PORT=1521
    export DB_SERVICE=apex231
    export SYSDBA_USER=SYS
    export SYSDBA_PASSWORD=sys
    export ORDS_PASSWORD=ords
    export ORDS_HOME=/opt/oracle/ords
    export ORDS_CONFIG=/opt/oracle/ords
    export ORDS_LOGS=$ORDS_CONFIG/logs
        export PATH=$PATH:$ORDS_HOME/bin
ords --config $ORDS_CONFIG install \
    --log-folder $ORDS_LOGS \
    --admin-user $SYSDBA_USER \
    --db-hostname 127.0.0.1 \
    --db-port $DB_PORT \
    --feature-db-api true \ 
    --feature-rest-enabled-sql true \
    --feature-sdw true \
    --gateway-mode proxied \
    --gateway-user APEX_PUBLIC_USER \
    --proxy-user 

Zugriff dann im Browser via: http:server:8080/ords

4. oder neue Datenbank bzw. Alias zusätzlich in ORDS (Unix) eintragen:

ords --config $ORDS_CONFIG install \
    --db-pool $DB_SERVICE \
    --admin-user $SYSDBA_USER \
    --db-hostname 127.0.0.1 \
    --db-port $DB_PORT \
    --db-servicename $DB_SERVICE \
    --feature-db-api true \ 
    --feature-rest-enabled-sql true \
    --feature-sdw true \
    --gateway-mode proxied \
    --gateway-user APEX_PUBLIC_USER \
    --proxy-user 
     Zugriff dann via: http:server:8080/ords/$DB_SERVICE

5. Silent Installation unter Windows:

set DB_PORT=1521
    set DB_SERVICE=apex231
    set SYSDBA_USER=SYS
    set SYSDBA_PASSWORD=sys
    set ORDS_PASSWORD=ords
    set ORDS_HOME=c:\oracle\ords
    set ORDS_CONFIG=c:\oracle\ords
    set ORDS_LOGS=%ORDS_CONFIG%\logs
        set PATH=%PATH%;%ORDS_HOME%\bin
ords --config %ORDS_CONFIG% install ^ 
    --log-folder %ORDS_LOGS% ^
    --admin-user %SYSDBA_USER% ^
    --db-hostname 127.0.0.1 ^
    --db-port %DB_PORT% ^
    --db-servicename %DB_SERVICE% ^
    --feature-db-api true ^
    --feature-rest-enabled-sql true ^
    --feature-sdw true ^
    --gateway-mode proxied ^
    --gateway-user APEX_PUBLIC_USER ^
    --proxy-user 
    

6. Zusätzliche Datenbank oder Alias in ORDS eintragen (Windows)

ords --config %ORDS_CONFIG% install ^ 
    --log-folder %ORDS_LOGS% ^
    --db-pool %DB_SERVICE% ^
    --admin-user %SYSDBA_USER% ^
    --db-hostname 127.0.0.1 ^
    --db-port %DB_PORT% ^
    --db-servicename %DB_SERVICE% ^
    --feature-db-api true ^
    --feature-rest-enabled-sql true ^
    --feature-sdw true ^
    --gateway-mode proxied ^
    --gateway-user APEX_PUBLIC_USER ^
        --proxy-user 
    Zugriff dann im Browser via: http:server:80/ords/%DB_SERVICE%
    Hinweis: der Tomcat Dienst benötigt Leserechte im ORDS Config Verzeichnis !!!
    icacls %ORDS_CONFIG% /T /grant Benutzer:R

7. Prüfung im OS

Wir oben beschrieben muss die richtige Java Version installiert worden sein (Oracle Java 11 oder 17)         
Kann der config Ordner von Oracle/Tomcat Benutzer gelesen werden? Wenn nicht bitte Lese/Schreibrechte an die Dateien vergeben.

 

8. Prüfung in der Datenbank

Sind alle notwendigen Accounts NICHT gesperrt und stimmt das Passwort ?

select username,account_status,lock_date,expiry_date
    from dba_users
    where username like '%PUBLIC%';
    USERNAME                 ACCOUNT_STATUS     LOCK_DATE           EXPIRY_DATE        
    ------------------------ ------------------ ------------------- -------------------
    APEX_PUBLIC_USER         LOCKED             15.03.2023 07:57:59                    
    APEX_REST_PUBLIC_USER    OPEN                                   11.09.2024 08:08:32

Das schaut hier nicht gut aus, der Benutzer APEX_PUBLIC_USER ist gesperrt!.

Entsperren mittels:

ALTER USER apex_public_user ACCOUNT UNLOCK IDENTIFIED BY <mein_geheimes_passwort>;

Danach starten wir dem TomCat nochmal durch.

Windows:

net stop TomCat9
net start TomCat9

Für den Fall, dass Sie das Passwort vom ORDS_PUBLIC_USER in der DB geändert haben und das im ORDS nachtragen möchten:

Für den Default Pool: (wenn der Config Ordner unter /opt/oracle/ords liegt)

ords --config /opt/oracle/ords config --db-pool default secret db.password

Für einen anderen Pool (hier apex231)

ords --config /opt/oracle/ords config --db-pool apex231 secret db.password

 

Fehlermeldung: Benutzer oder Kennwort für den Verbindungspool namens |default|lo| ist ungültig oder abgelaufen, oder der Account wurde gesperrt 

Die naheliegenden Lösungen wären natürlich:

  • Passwort falsch
  • Account abgelaufen

aber in unserem Fall war die Datenbank (pluggable Database Container) im restricted Modus:

Die Lösung war:

alter pluggable database <containername> close immediate;
alter pluggable database <containername> open;

 

Fehlermeldung: Service Unavailable

ORDS_Fehler_503.jpeg

HTTP Status Code: 503

Request ID: bI7hBYBLvXJ1aZXhH61iMA

Request Timestamp: 2023-10-21T08:58:05.233483445Z

Das Datenbankkennwort-Secret fehlt in dem mit dem Pool |default|lo| verknüpften Wallet


Hier fehlt das Passwort für den ORDS_PUBLIC_USER, oder es ist veraltet oder abgelaufen. 
Die Lösung unter LINUX ist, das Wallet mit dem Passwort neu anzulegen mittels:

cd /opt/oracle/ords
REM dort liegt der Ordner bin aus der Installtion des ORDS!, wenn nicht, gehen Sie bitte in den entsprechenden Ordner
sudo bin/ords --config /opt/oracle/ords config secret db.password
REM zweimal das Passwort eingeben
REM wenn Sie noch weitere Pools besitzen, muss auch hier das Passwort geöndert werden (Pool-Name apex231)
sudo bin/ords --config /opt/oracle/ords config --db-pool apex231 secret db.password
REM TomCat durchstarten
sudo systemctl restart tomcat

Für Windows würde die Lösung so aussehen:

cd c:\oracle\ords
    bin\ords --config c:\oracle\ords config --db-pool default secret db.password
    bin\ords --config c:\oracle\ords config --db-pool apex241 secret db.password

Unsere Ordnerstruckur für den Ords sieht wie folgt aus:

ORDS_Ordner.png

Fehler 404 DispatcherNotFoundException

Hier war ein falscher Eintrag in der pool.xml Datei (unter Windows z.B. unter c:\oracle\ords\databases) schuld.

Der Parameter plsql.gateway.mode muss auf proxied stehen!

Für Windows:

set ORDS_HOME=c:\oracle\ords
set ORDS_CONFIG=c:\oracle\ords
%ORDS_HOME%\bin\ords --config %ORDS_CONFIG% config set plsql.gateway.mode proxied

Für Unix

export ORDS_HOME=/opt/oracle/ords
export ORDS_CONFIG=/opt/oracle/ords
$ORDS_HOME/bin/ords --config $ORDS_CONFIG config set plsql.gateway.mode proxied

Fehler 404 not found

Im Logfile des Apache TomCat steht nur:

"GET /ords/wwv_flow.js_messages?p_app_id=4550&p_lang=en&p_version=24.1.5-3518415 HTTP/1.1" 404 451412

Problem war eine falsche Einstellung in der Datei pool.xml (z.B. unter c:\oracle\ords\databases\default):

dort musste 

<entry key="plsql.gateway.mode">disabled</entry>

durch

<entry key="plsql.gateway.mode">proxied</entry>

ersetzt werden.

10. Bonustrack: Oracle Apex Fehler

Wir hatten kürzlich das Problem, das keine Applikationen mehr importiert werden konnten. Beim Auswählen der Datei kam im nächsten Schritt die Fehlermeldung, dass keine Datei ausgewählt wurde.

Das Problem war hier, dass beim Benutzer FLOWS_FILES einige Indizes defekt waren. Nach einem Rebuild war ein Import wieder möglich.

Der folgende Select schreibt Ihnen ein Skript, um defekte Indizes zu finden und reparieren.

select 'ALTER INDEX '||owner||'.'||index_name||' REBUILD;' as sql_stmt
from dba_indexes 
where (owner='FLOWS_FILES' 
or owner=(select schema from dba_registry where comp_id='APEX'))
and status='UNUSABLE';

Bei der Migration auf einen anderen Server hatten wir plätzlich beim start des Workspace den Fehler:

Die Anforderung kann nicht verarbeitet werden, da diese Ressource keine Cross Origin Sharing-Anforderungen 
unterstützt oder da der Anforderungsursprung nicht autorisiert ist, 
auf diese Ressource zuzugreifen. Wenn ords als Reverse-Proxy verwendet wird, stellen Sie sicher, 
dass der Frontend-Server den Hostnamen propagiert. 
Stellen Sie für mod_proxy sicher, dass "ProxyPreserveHost" eingeschaltet ist.

Die Lösung bestand darin in die die Datei /etc/httpd/conf/httpd.conf (bzw. eine Unterdatei z.B. in conf.d) um folgenden Eintrag zu ergänzen:

RequestHeader unset Origin

 

Mehr Tipps & Tricks erfahren Sie in unserem Oracle ORDS und im APEX II Kurs. Wir freuen uns auf Sie!