Renomear usuários no banco de dados Oracle

oracle-11g-logo

 

Um certo dia em uma das consultorias que prestei, me fizeram a seguinte pergunta: “É possível renomear um usuário no Oracle? “.  Como sou bastante curioso, já tinha lido a respeito disso antes e sabia que poderia ser possível. No entanto, não efetuei esta operação no cliente por não ser recomendado pela corporação Oracle, porque além de causar a perda do suporte, causa inúmeros outros problemas na base de dados. Todavia, se é possível, como fazê-lo?  Primeiramente, vamos repetir o aviso:

ATENÇÃO: Esta atividade é possível, porém não é recomendada pela corporação Oracle, porque além de causar a perda do suporte, causa inúmeros outros problemas na base de dados e no schema em específico. Estarei exemplificando abaixo para mostrar que apenas é possível e por didática.

Então, vamos lá…

 

  • Pegar o ID do usuário: (Usaremos como exemplo o usuário chamado TECHDATABASKET).

SQL> select user#,NAME from SYS.user$ WHERE NAME='TECHDATABASKET';

     USER# NAME
---------- ------------------------------
        92 TECHDATABASKET

  • Modificar o schema usando o ID do usuário: (Note que o usuário TECHDATABASKET se chamará TECHDATABASKET_BRUNO).
SQL> UPDATE USER$ SET NAME='TECHDATABASKET_BRUNO' WHERE USER#=92;

1 row updated.

  • Aplicando o commit para salvar as alterações:
SQL> commit;

Commit complete.

  • Verificando as alterações:
SQL> select username, account_status from dba_users where username ='TECHDATABASKET';

no rows selected

SQL> select username, account_status from dba_users where username ='TECHDATABASKET_BRUNO';

USERNAME                       ACCOUNT_STATUS
------------------------------ --------------------------------
TECHDATABASKET_BRUNO           OPEN

kindregards

 

 

 

Related posts

Leave a Comment