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
Hi! I am Bruno, a Brazilian born and bred. Former Oracle ACE, Computer Scientist, MSc in Data Science, over ten years of experience in companies such as IBM, Epico Tech, and Playtech based in three different countries (Brazil, Hungary, and Sweden) and joined projects remotely in many others. I am super excited to show you my interest in Databases, Cloud, Data Science, Data Engineering, Bigdata, AI, Programming, Software Engineering, and data in general.
(Continue reading)