Cambio de contraseña con Oracle SQL Developer

139

Muchos de mis usuarios no usan SQLPlus. No puedo darles otro usuario. Caducamos las contraseñas cada 60 días.

No puedo hacer que el comando SQLPlus "contraseña" funcione en el desarrollador SQL.

  1. Cuando presiono ejecutar, recibo un error de comando no válido
  2. Cuando presiono ejecutar script, no pasa nada.

No quiero escribirles un paquete para cambiar sus contraseñas, ya que tenemos muchas bases de datos. ¿Tengo una mejor opción?

Beto
fuente
44
No puede cambiar una contraseña caducada en SQL Developer a través del comando SQL. No es compatible con la pila JDBC. Necesita las bibliotecas OCI para esto. El desarrollador SQL tiene una opción para restablecer y expirar la contraseña a través de la pila OCI si se ha instalado correctamente. Vea mi respuesta para más detalles.
Frobbit
Puede hacer esto con SQL Developer 4.1.0.17. Vea mi respuesta a continuación.
Análisis difuso

Respuestas:

189

La sintaxis correcta para actualizar la contraseña con SQL Developer es:

alter user user_name identified by new_password replace old_password ;

Puede verificar más opciones para este comando aquí: ALTER USER-Oracle DOCS

Americo Savinon
fuente
29
Además, es posible que necesite incluir las contraseñas entre comillas dobles para escapar de cualquier carácter especial en la contraseña. Por ejemplo, alter user __user_name__ identified by "newp@ss!!!" replace "oldp@ss!!!"más información en asktom.oracle.com/pls/asktom/…
Bryant Bowman
66
Si su pwd ha expirado, buena suerte iniciando sesión para ejecutar esto. Respuestas Una pregunta, pero no LA pregunta.
Ben George
105

En una hoja de trabajo SQL:

  • Escriba "contraseña" (sin las comillas)

  • Resalta, presiona CTRL+ ENTER.

  • Aparece la pantalla de cambio de contraseña.

Niall
fuente
44
También puede hacer "contraseña someusername"
Anna
3
Supongo que te refieres a la acción "Ejecutar sentencia". El atajo predeterminado parece ser Ctrl + Enter .
Álvaro González
70

SQL Developer tiene una opción de restablecimiento de contraseña incorporada que puede funcionar para su situación. También requiere agregar Oracle Instant Client a la estación de trabajo. Cuando el cliente instantáneo está en la ruta cuando se inicia el desarrollador de SQL, se habilitará la siguiente opción:

Desarrollador SQL: menú desplegable que muestra la opción de restablecer contraseña

Oracle Instant Client no necesita privilegios de administrador para instalar, solo la capacidad de escribir en un directorio y agregar ese directorio a la ruta de los usuarios. La mayoría de los usuarios tienen los privilegios para hacer esto.

Resumen: para usar Restablecer contraseña en Oracle SQL Developer:

  1. Debe desempaquetar Oracle Instant Client en un directorio
  2. Debe agregar el directorio de Oracle Instant Client a la ruta de los usuarios
  3. Luego debe reiniciar Oracle SQL Developer

En este punto, puede hacer clic derecho en una fuente de datos y restablecer su contraseña.

Ver http://www.thatjeffsmith.com/archive/2012/11/resetting-your-oracle-user-password-with-sql-developer/ para un recorrido completo

Consulte también el comentario en los documentos de Oracle: http://docs.oracle.com/cd/E35137_01/appdev.32/e35117/dialogs.htm#RPTUG41808

Una configuración alternativa para que SQL Developer (probado en la versión 4.0.1) reconozca y use Instant Client en OS X es:

  1. Establezca la ruta al Cliente instantáneo en Preferencias -> Base de datos -> Avanzado -> Usar Cliente Oracle
  2. Verifique que el Cliente de instancia se pueda cargar correctamente utilizando las opciones Configurar ... -> Probar ... desde el cuadro de diálogo de preferencias
  3. (OS X) Consulte esta pregunta para resolver problemas relacionados con la variable de entorno DYLD_LIBRARY_PATH. Usé el siguiente comando y luego reinicié SQL Developer para recoger el cambio:

    $ launchctl setenv DYLD_LIBRARY_PATH / path / to / oracle / instantclient_11_2

Frobbit
fuente
1
No disponible para todos los usuarios 80 (
Keng
hmmm, no parece funcionar para mí. Me pregunto si actualizar la RUTA es realmente todo lo que tienes que hacer, en una Mac.
Fudo
Yo uso una Mac en casa, pero una PC con Windows en el trabajo. Pronto nos cambiaremos a Mac. Si encuentro los detalles, los publicaré.
Frobbit
1
Google es muy útil :-) con él encontré: oracle.com/technetwork/topics/linuxx86-64soft-092277.html que puede quedar obsoleto. Para googlearlo
Frobbit
1
Gracias, funcionó en Windows 7 de 64 bits. Sin embargo, tuve que pasar por un paso adicional (que es el mismo que el primer paso en la configuración de OS X anterior), de lo contrario, la opción 'restablecer contraseña' permanecería atenuada. 4. Establezca la ruta al Cliente instantáneo en Preferencias -> Base de datos -> Avanzado -> Usar Cliente Oracle
marciowerner
24

Sus usuarios aún pueden cambiar sus contraseñas "alter user onlyTheirUserName identificado por newpassword". No tienen que tener el privilegio ALTERAR USUARIO para cambiar su propia contraseña.

dpbradley
fuente
16

Dependiendo de la configuración del administrador, es posible que deba especificar su contraseña anterior utilizando la opción REEMPLAZAR

alter user <username> identified by <newpassword> replace <oldpassword> 
Gerry Gurevich
fuente
¿pueden ser nuevas la contraseña y la contraseña anterior?
Haris Mehmood
2
Esta respuesta es incorrecta. newpassword y oldpassword se transponen. Utilice stackoverflow.com/a/10809140/643483 en su lugar
Aaron Kurtzhals el
1
@AaronKurtzhals La respuesta a la que hace referencia dice lo mismo que mi respuesta. Consulte los
Gerry Gurevich
Lo principal que debe agregarse (lo que ha hecho @pgs en su respuesta a esta misma pregunta) es que es posible que necesite poner comillas alrededor de las contraseñas si contienen caracteres especiales.
Gerry Gurevich
10

Para dejarlo un poco claro:

Si el nombre de usuario: abcdef y la contraseña anterior: a123b456, nueva contraseña: m987n654

alter abcdef de usuario identificado por m987n654 reemplazar a123b456 ;

Spazzo
fuente
9

Me doy cuenta de que hay muchas respuestas, pero encontré una solución que puede ser útil para algunos. Me encontré con el mismo problema, estoy ejecutando oracle sql desarrollo en mi computadora local y tengo muchos usuarios. Recuerdo la contraseña de uno de mis usuarios y la usé para restablecer la contraseña de otros usuarios.

Pasos:

  1. conectarme a una base de datos usando un usuario y contraseña válidos, en mi caso todos mis usuarios expiraron excepto "sistema" y recuerdo esa contraseña

  2. encuentre el nodo "Otros usuarios" dentro del árbol como se muestra en la imagen a continuación

ingrese la descripción de la imagen aquí

3. Dentro del árbol "Otros usuarios", encuentre los usuarios a los que desea restablecer la contraseña y haga clic derecho en la nota y seleccione "Editar usuarios"

ingrese la descripción de la imagen aquí

4. Rellene la nueva contraseña en el cuadro de diálogo Editar usuario y haga clic en "Aplicar". Asegúrese de haber desmarcado "Contraseña caducada (el usuario debe cambiar el próximo inicio de sesión)".

ingrese la descripción de la imagen aquí

Y eso funcionó para mí, no es tan bueno como otra solución porque necesita poder iniciar sesión en al menos una cuenta, pero funciona.

Saad A
fuente
7

Confirmé que esto funciona en SQL Developer 3.0.04. Se requiere que nuestras contraseñas tengan un carácter especial, por lo que se necesita la cadena entre comillas dobles en nuestro caso. Por supuesto, esto solo funciona si la contraseña aún no ha expirado y usted está actualmente conectado.

ALTER USER MYUSERID
IDENTIFIED BY "new#password"
REPLACE "old#password"
pgs
fuente
3
Esta respuesta es incorrecta. newpassword y oldpassword se transponen. Utilice stackoverflow.com/a/10809140/643483 en su lugar
Aaron Kurtzhals el
3

Pruebe esta solución si la opción Restablecer contraseña (de SQL Developer) no funcionó :

Paso 1: Abra Ejecutar línea de comando SQL (desde el menú de inicio, que viene con el paquete de instalación de SQL Developer)

Paso 2: ejecuta los siguientes comandos:

ingrese la descripción de la imagen aquí

Nota: Si la contraseña ya ha expirado, la Changing password for <user>opción aparecerá automáticamente.

León
fuente
2

La opción de restablecer contraseña incorporada puede no funcionar para el usuario. En este caso, la contraseña se puede restablecer utilizando la siguiente instrucción SQL:

ALTER user "user" identified by "NewPassword" replace "OldPassword";
usuario2689487
fuente
1

puedes encontrar al usuario en la tabla DBA_USERS como

SELECT profile
FROM dba_users
WHERE username = 'MacsP'

Ahora ve al sys / system (administrador) y usa query

ALTER USER PRATEEK
IDENTIFIED BY "new_password"
REPLACE "old_password"

Para verificar el estado de la cuenta solo tiene que pasar por

SELECT * FROM DBA_USERS.

y puedes ver el estado de tu usuario.


fuente
1

Ahora puede hacer esto en SQL Developer 4.1.0.17 , no se requiere PL / SQL, suponiendo que tenga otra cuenta que tenga privilegios administrativos:

  1. Cree una conexión a la base de datos en SQL Developer 4.1.0.17 con un usuario administrativo alternativo
  2. Expanda la sección "Otros usuarios" una vez conectado y haga clic con el botón derecho en el usuario cuya contraseña ha caducado. Elija "Editar usuario".
  3. Desmarca la casilla de verificación "Contraseña caducada ...", escribe una nueva contraseña para el usuario y presiona "Guardar".
  4. ¡Trabajo hecho! Puede probar conectándose con el usuario cuya contraseña había caducado, para confirmar que ahora es válida nuevamente.
Análisis difuso
fuente
1

Hay otra forma de restablecer la contraseña a través del símbolo del sistema ...

1) Vaya a la Carpeta de la base de datos Oracle (en mi caso, Oracle Database 11g Express Edition) en el MENÚ DE INICIO.

2) Dentro de esa carpeta, haga clic "Ejecutar línea de comando SQL"

Imagen de la carpeta de la base de datos Oracle

3) Escriba " conectar nombre de usuario / contraseña " (su nombre de usuario y contraseña anterior sin las comillas)

4) El mensaje que se muestra es ...

ERROR: ORA-28001: la contraseña ha caducado

Cambio de contraseña para hr

-> Nueva contraseña:

Ingrese nombre de usuario, imagen de contraseña

5) Escriba la nueva contraseña

6) Vuelva a escribir la nueva contraseña

7) mensaje que se muestra es ...

Contraseña modificada Conectado.

SQL>

8) VAYA al desarrollador SQL -> escriba la nueva contraseña -> conectado

Suchitra Phadke
fuente
Mientras el OP todavía está activo, 5 años después de que se hizo la pregunta, la respuesta puede no ser relevante.
Fresa
@Strawberry si responde la pregunta, ¿por qué no?
Muhammed Refaat
1

Una nota para las personas que no tengan la contraseña establecida para sysdba o sys y usen regularmente un cliente de terceros. Aquí hay información sobre cómo iniciar sesión en la línea de comandos sqlplus sin una contraseña que me ayudó. Estoy usando fedora 21 por cierto.

locate sqlplus

En mi caso, sqlplus se encuentra aquí:

/u01/app/oracle/product/11.2.0/xe/config/scripts/sqlplus.sh

Ahora corre

cd /u01/app/oracle/product/11.2.0/xe/config/scripts
./sqlplus.sh / as sysdba

Ahora necesita conectarse a la base de datos con sus credenciales anteriores. Puede encontrar la plantilla proporcionada por Oracle en su salida:

Use "connect username/password@XE" to connect to the database.

En mi caso, tengo el usuario "oracle" con la contraseña "oracle", por lo que mi entrada se ve así

connect oracle/oracle@XE

Hecho. Ahora escriba su nueva contraseña dos veces. Entonces, si no desea que su contraseña caduque más, puede ejecutar

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
Sorokin Andrey
fuente