Veröffentlicht am Samstag, 13 Mai 2023 Unlock/Reset a APEX-Builder Password on Oracle Autonomous Database Kategorie Oracle (Database & Co) Wie setzt man ein vergessenes APEX-Builder Passwort in der Oracle ATP zurück?Wichtig: In der ATP ist die Anmeldung im APEX-Builder auf Datenbankbenutzer beschränkt. Daher müssen Datenbankaccount und APEX-Builder-Account zwingend dieselbe Bezeichnung und auch dasselbe Passwort haben !! Im Folgenden nutze ich als Beispiel-Account “TEST” im Workspace “TEST”. Man verbindet sich (z.B. per SQL Developer Web oder auch SQL Developer") in seinen ADMIN-Account der ATP.Accounts entsperrenSchritt 1: Prüfe den Accountstatus in der Datenbank:SELECT USERNAME, ACCOUNT_STATUS FROM DBA_USERS WHERE USERNAME = 'TEST'; # Wenn der Benutzer in der Datenbank gesperrt ist, dann entsperren mittels ALTER USER TEST ACCOUNT UNLOCK;Schritt 2: Prüfe den Accountstatus in APEX:SELECT WORKSPACE_NAME, USER_NAME, IS_ADMIN, IS_APPLICATION_DEVELOPER, ACCOUNT_LOCKED, FAILED_ACCESS_ATTEMPTS FROM APEX_WORKSPACE_DEVELOPERS WHERE USER_NAME = 'TEST' ORDER BY 1; # Ist der Benutzer in APEX gesperrt, so muss man sich mit dem gleichnamigen Datenbankaccont einloggen und dann entsperren mittels BEGIN APEX_UTIL.SET_WORKSPACE('TEST'); APEX_UTIL.UNLOCK_ACCOUNT('TEST'); COMMIT; END; / Passwort zurücksetzenIn die APEX Administration einloggen (Workspace INTERNAL)Manage Workspaces → Manage Developers and Users Entsprechenden Benutzer auswählen und Passwort setzen. Siehe oben, es muss zwingend dem Passwort des gleichnamigen DB-Schemas entsprechen! Wird ein neues Password vergeben, so kann dies danach auch dem DB-Schema gesetzt werden:ALTER USER TEST IDENTFIED BY "<Password>"Wurde das Passwort des ADMIN-Accounts für den Workspace INTERNAL vergessen, so muss man einen SR (Service Request) über den Oracle Support erstellen.Zur Überprüfung, ob für die APEX-Accounts die “Database Account (DB) Authentication” aktiv ist, kann man folgende Befehle nutzen:ALTER SESSION SET CURRENT_SCHEMA = APEX_XXXXXX; SELECT NAME, VALUE, LAST_UPDATED_ON FROM APEX_INSTANCE_PARAMETERS WHERE NAME = 'APEX_BUILDER_AUTHENTICATION'; # Wenn die Query nicht "DB" zurückgibt, so kann man die Einstellung zurücksetzen: BEGIN APEX_INSTANCE_ADMIN.SET_PARAMETER('APEX_BUILDER_AUTHENTICATION', 'DB'); COMMIT; END; /