¿Cómo deshacerse del mensaje ORA-28002, la contraseña caducará en 6 días?


18

Tengo un usuario que recibe un ORA-28002 que indica que la contraseña caducará dentro de seis días. Ejecuté lo siguiente:

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

Pero cuando intento iniciar sesión como usuario, el mensaje sigue ahí. Ejecutando esto:

select * from dba_profiles where RESOURCE_NAME LIKE 'PASSWORD_LIFE_TIME';

muestra que los valores realmente cambiaron a ILIMITADO.

Respuestas:


17

La contraseña ha sido marcada como 'CADUCADA' o marcada con una 'FECHA_PEDIDA' en dba_users. Tendrás que cambiarlo. Puede volver a configurarlo con la misma contraseña. La manera fácil sería establecer la contraseña "por valores". Esto generalmente pasa por alto la verificación del historial.

12:28:33 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
OPEN
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:28:43 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:29:11 SQL> select * from dba_users where username = 'MYUSER1';

USERNAME                          USER_ID PASSWORD
------------------------------ ---------- ------------------------------
ACCOUNT_STATUS                   LOCK_DATE          EXPIRY_DATE
-------------------------------- ------------------ ------------------
DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           CREATED
------------------------------ ------------------------------ ------------------
PROFILE                        INITIAL_RSRC_CONSUMER_GROUP
------------------------------ ------------------------------
EXTERNAL_NAME
--------------------------------------------------------------------------------
MYUSER1                               338 66856982BE5CD23F
EXPIRED                                             17-JAN-11
USERS                          TEMP                           17-JAN-11
DEFAULT                        DEFAULT_CONSUMER_GROUP



Elapsed: 00:00:00.03
12:29:14 SQL>

El formato de esto es "alterar usuario USUARIO identificado por los valores 'hash de dba_users.password';"

[TEST] C:\>sqlplus system

SQL*Plus: Release 10.2.0.4.0 - Production on Mon Jan 17 12:18:16 2011

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Enter password:

Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

new: showmode BOTH
12:18:17 SQL> prompt end of LOGIN.SQL
end of LOGIN.SQL
12:18:17 SQL> create user myuser1 identified by mypassword1;

User created.

Elapsed: 00:00:00.01
12:18:21 SQL> grant connect, resource to myuser1;

Grant succeeded.

Elapsed: 00:00:00.01
12:18:30 SQL> connect myuser1/mypassword1
Connected.
12:18:39 SQL> connect system
Enter password:
Connected.
12:18:51 SQL> alter user myuser1 password expire;

User altered.

Elapsed: 00:00:00.00
12:19:05 SQL> connect myuser1/mypassword1
ERROR:
ORA-28001: the password has expired


Changing password for myuser1
New password:
Retype new password:
Password changed
Connected.
12:19:16 SQL> connect myuser1/mypassword1
ERROR:
ORA-01017: invalid username/password; logon denied


Warning: You are no longer connected to ORACLE.
12:19:21 SQL> connect system
Enter password:
Connected.
12:19:34 SQL> alter user myuser1 identified by mypassword1;

User altered.

Elapsed: 00:00:00.01
12:19:49 SQL> alter user myuser1 identified by mypassword1 password expire;

User altered.

Elapsed: 00:00:00.01
12:20:26 SQL> select username, password from dba_users where username = 'MYUSER1';

USERNAME                       PASSWORD
------------------------------ ------------------------------
MYUSER1                        66856982BE5CD23F

Elapsed: 00:00:00.01
12:20:36 SQL> alter user myuser1 identified by values '66856982BE5CD23F' ;

User altered.

Elapsed: 00:00:00.01
12:21:01 SQL> connect myuser1/mypassword1
Connected.
12:21:13 SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

15

Encuentre las 4 consultas a continuación y ejecútelas desde la base de datos del sistema.

//For seeing Full user details
SELECT profile FROM dba_users WHERE username = 'SYSTEM';

//This query is used to change the password life time to unlimited
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; 

//This query is used to chagne the default password.
alter user SYSTEM identified by "system";

1
Bastante fácil y bien explicado.
S. Mayol

5

Un compañero de trabajo que usaba Toad vio la cuenta indicada como se veía en los Navegadores de esquema en Usuarios.

Lo logramos haciendo clic derecho en desbloquear usuario . En el cuadro de diálogo Alterar usuario, volvimos a ingresar la contraseña anterior y desactivamos la casilla La contraseña está bloqueada.


3

Debe cambiar la contraseña nuevamente para que el nuevo límite surta efecto.


Quiero mantener la misma contraseña
bernd_k

1
La respuesta de REW cumple con este requisito adicional, suponiendo que no tenga un perfil que impida la reutilización de la contraseña. Si tiene 11g o posterior, el hash de la contraseña no está en dba_users, por lo que deberá obtenerlo de sys.user $. Ver laurentschneider.com/wordpress/2007/08/…
Leigh Riffel

1

Debe modificar la cuenta de usuario. Primero conéctese a su syscuenta y desde allí puede realizar el paso mencionado a continuación:

alter user practice identified by password;

esto resolverá tu problema ...


1

Sé que esto es antiguo, pero para aquellos que usan Oracle SQL Developer, siga estos pasos:

  • Use otro usuario para iniciar sesión en cualquier conexión de base de datos que tenga, puede usar el nombre de usuario predeterminado "sistema" o "sys" con cualquier contraseña que tenga allí.

  • Abra el árbol de conexión y busque el nodo "Otros usuarios" y ábralo así:

ingrese la descripción de la imagen aquí

  • Encuentre su nombre de usuario en las notas secundarias en "Otros usuarios" y haga clic derecho para editar el usuario de esta manera:

ingrese la descripción de la imagen aquí

  • Escriba su nueva contraseña y desmarque la contraseña caducada, luego aplique. Haga clic con el botón derecho en Editar usuario nuevamente para ver si la configuración se modificó si lo desea.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.