set long 9999999
set lin 400
select DBMS_METADATA.GET_DDL('USER','YOUR_USER_NAME') from dual;
Esto sería algo como esto:
SQL> select DBMS_METADATA.GET_DDL('USER','WILIAM') from dual;
DBMS_METADATA.GET_DDL('USER','WILIAM')
--------------------------------------------------------------------------------
CREATE USER "WILIAM" IDENTIFIED BY VALUES 'S:6680C1468F5F3B36B726CE7620F
FD9657F0E0E49AE56AAACE847BA368CEB;120F24A4C2554B4F'
DEFAULT TABLESPACE "USER"
TEMPORARY TABLESPACE "TEMP"
PASSWORD EXPIRE
SQL>
sólo tiene que utilizar la primera pieza de eso con el usuario alter lugar:
ALTER USER "WILIAM" IDENTIFIED BY VALUES 'S:6680C1468F5F3B36B726CE7620F
FD9657F0E0E49AE56AAACE847BA368CEB;120F24A4C2554B4F';
Esto pondrá la cuenta atrás en el OPEN estado sin cambiar la contraseña (siempre y cuando corte y pegue correctamente el valor hash de la salida de DBMS_METADATA.GET_DDL) y ni siquiera necesita saber cuál es la contraseña.
Solo tuve que hacer primero el linesize más grande para que pueda copiar fácilmente el resultado: establecer linesize 200; – AmanicA
¡Esto me ayudó! ¡Gracias! –