Wie die anderen Antworten Zustand, das Profil des Benutzers zu ändern (zum Beispiel der ‚Standard‘ Profil) in geeigneter Weise zu Passwörter führen wird, dass einmal gesetzt ist, wird nie ablaufen.
Wie jedoch ein Kommentator hervorhebt, sind Kennwörter, die unter den alten Werten des Profils festgelegt wurden, möglicherweise bereits abgelaufen und (falls nach der angegebenen Kulanzfrist des Profils) das Konto gesperrt.
Die Lösung für abgelaufene Kennwörter mit gesperrten Konten (wie in einem Antwort Kommentar versehen) ist eine Version des Befehls ALTER USER zu verwenden:
ALTER USER xyz_user ACCOUNT UNLOCK;
jedoch der Freigabebefehl für Konten funktioniert nur, wenn das Konto tatsächlich gesperrt, aber nicht für die Konten, die in der Schonfrist sind, in denen das Passwort abgelaufen ist, aber das Konto noch nicht gesperrt ist. Für diese Konten muss das Passwort mit einer anderen Version des ALTEN USER-Befehls zurückgesetzt werden:
ALTER USER xyz_user IDENTIFIED BY new_password;
Unten ist ein wenig SQL * Plus-Skript, das ein privilegierter Benutzer (zB Benutzer SYS ') verwenden kann, das Kennwort einen Benutzers zurücksetzen zu dem aktuellen Hash-Wert, der in der Datenbank gespeichert ist.
REM Tell SQL*Plus to show before and after versions of variable substitutions
SET VERIFY ON
SHOW VERIFY
REM Tell SQL*Plus to use the ampersand '&' to indicate variable substitution expansion
SET DEFINE '&'
SHOW DEFINE
REM Specify in a SQL*Plus variable the account to 'reset'
DEFINE USER_NAME = 'xyz_user'
REM Show the status of the account before reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
REM Create a SQL*Plus variable to hold the hash of existing password
DEFINE OLD_PASSWORD = ""
REM Tell SQL*Plus where to store the value to be selected with SQL
COLUMN PWORDHASH NEW_VALUE OLD_PASSWORD
REM Select the old hash password as a delimited string
SELECT
'''' || PASSWORD || '''' AS PWORDHASH
FROM
SYS.USER$
WHERE
NAME = '&USER_NAME';
REM Show the contents of the SQL*Plus variable
DEFINE OLD_PASSWORD
REM Reset the password
ALTER USER &USER_NAME IDENTIFIED BY VALUES &OLD_PASSWORD;
REM Show the status of the account after reset
SELECT
ACCOUNT_STATUS,
TO_CHAR(LOCK_DATE, 'YYYY-MM-DD HH24:MI:SS') AS LOCK_DATE
FROM
DBA_USERS
WHERE
USERNAME = '&USER_NAME';
Ich denke, man könnte besser sein zu fragen diese auf serverfault.com. Ich werde es nicht erzwingen, weil du sagst, dass du es für die Entwicklung benutzt, und ich denke, es gibt immer noch eine Chance, dass jemand hier davon erfährt und/oder andere hier von dieser Information profitieren könnten. –
Ich denke, ich werde genau das tun. Ich diskutierte, für welche Seite es besser geeignet war, da es sich um eine grundlegende Datenbankfrage und nicht um eine DBA-Sache handelt. –
Nicht sicher, was die Dupe-Richtlinie für Cross-Site-Fragen ist, aber hier ist der Link: http://serverfault.com/questions/37622/how-do-i-turn-off-oracle-password-expiration –