Como recuperar la contraseña del usuario sys y system (Oracle 9i)

Versión para impresión

Si pasais a ocupar el puesto de administrador de Oracle y la persona saliente no os deja anotadas las contraseñas de los usuarios sys y system de la base de datos se puede proceder de la siguiente manera para intentar recuperarlas.

Primero debemos conectarnos al servidor con el usuario en el que corre la base de datos o root y cambiar. A continuación cambiaremos la contraseña del usuario sys:

$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.1.0 - Production on Mon Apr 5 15:32:09 2004

 

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

 

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

 

SQL> show user

 

USER is "SYS"

 

SQL> passw system

Changing password for system

New password:

Retype new password:

Password changed

SQL> quit

 

Luego cambiaremos la contraseña del usuario system:

 

$ sqlplus "/ as system"

SQL*Plus: Release 9.2.0.1.0 - Production on Mon Apr 5 15:36:45 2004

 

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

 

SP2-0306: Invalid option.

Usage: CONN[ECT] [logon] [AS {SYSDBA|SYSOPER}]

where <logon>  ::= <username>[/<password>][@<connect_string>] | /

Enter user-name: system

Enter password:

 

Connected to:

Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production

With the OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

 

SQL> passw sys

Changing password for sys

New password:

Retype new password:

Password changed

SQL> quit

 

Ahora ya deberíamos poder conectarnos como usuario sys y system.

Su voto: Ninguno Promedio: 4 (2 votos)

Con Oracle 10g passw solicita la contraseña actual

Yo he probado con una 10g y este método sirve para 'system', pero no para 'sys'.

Con sqlplus "/ as system" no me deja entrar, me saca del SQLPlus, y si intento utilizar el comando passw dentro de una sesión "/ as sysdba" me solicita la contraseña antigua:


Conectado a:
Oracle Database 10g Release 10.2.0.1.0 - Production

SQL> passw sys
Cambiando la contraseña para sys
Contraseña antigua:
Contraseña nueva:
Confirmar contraseña nueva:
ERROR:
ORA-28008: contraseña antigua no vßlida

Contraseña no cambiada
SQL>

 

Lo que he hecho para poder cambiar el pwd de 'sys' sin conocer el actual es simplemente utilizar el comando alter user:


C:\Documents and Settings\Administrador>sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.1.0 - Production on Vie Ago 28 13:35:00 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Conectado a:
Oracle Database 10g Release 10.2.0.1.0 - Production

SQL> alter user sys identified by dbapwd;

Usuario modificado.

SQL>

Y para utilizar la contraseña sin conocerla..

Normalmente se suelen utilizar aplicaciones que almacenan contraseñas para que no pasen estas cosas, no?

Puede que para este caso no te hubiera servido de mucho, pero a veces también puede ser útil recuperar la contraseña encriptada de cualquier usuario, utilizando un usuario DBA, claro.