¿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.

bernd_k
fuente

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
REW
fuente
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";
usuario2645333
fuente
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.

bernd_k
fuente
3

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

Leigh Riffel
fuente
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 ...

laltu banerjee
fuente
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.
Saad A
fuente