Skip to main content

Benutzer kein Ablaufdatum für Passwort

Das Benutzerpasswort läuft standardmäßig nach 180 Tagen ab. Beim Login z.B. über DBeaver wird nach einem neuen Pw gefragt und kann gesetzt werden. Soll das Passwort nicht ablaufen, dann kann wie folgt vorgegangen werden.

Per dba user anmelden

-- setzt PASSWORD_LIFE_TIME UNLIMITED für das Profil default
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

-- zeigt an, ob das Passwort vom Benutzer verfällt
SELECT username, expiry_date
FROM dba_users
WHERE username = 'DEIN-BENUTZER';

-- zeigt Profile an, die PASSWORD_LIFE_TIME gesetzt haben
SELECT profile, resource_name, limit
FROM dba_profiles
WHERE resource_name = 'PASSWORD_LIFE_TIME';

-- zeigt verwendetes Profil des Benutzers an
SELECT profile
FROM dba_users
WHERE username = 'DEIN-BENUTZER';

Im Docker sollte im docker-compose.yml der Parameter ORACLE_PASSWORD_LIFE_TIME=UNLIMITED
gesetzt werden.

version: "3.9"

services:
  oracle21xe:
    image: gvenzl/oracle-xe:21.3.0-full
    container_name: oracle21xe
    restart: always
    volumes:
      - /srv/oracle21xe/data:/opt/oracle/oradata
      - /srv/exx/tmp_dbdumps/oracle21xe:/opt/oracle/oradata/dpdump/
    environment:
      - ORACLE_SID=XE
      - ORACLE_PASSWORD=geheim
      - ORACLE_PASSWORD_LIFE_TIME=UNLIMITED # das Pw läuft bei Oracle 21 ansonsten nach 180 Tagen ab
      #- INIT_SGA_SIZE: 3000 #The amount of SGA to allocate to Oracle. should be 75% of the total memory
      #- INIT_PGA_SIZE: 1000 #The amount of PGA to allocate to Oracle. should be the remaining 25% of the total memory
      #- ORACLE_CHARACTERSET: (default: AL32UTF8)
    shm_size: 4 GB
    ports:
      - 127.0.0.1:1521:1521
      - 172.17.0.1:1521:1521