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, and I am also a naturalized Swedish citizen. I am a former Oracle ACE and, to keep up with academic research, I am a Computer Scientist with an MSc in Data Science and another MSc in Software Engineering. I have over ten years of experience working with companies such as IBM, Epico Tech, and Playtech across three different countries (Brazil, Hungary, and Sweden), and I have joined projects remotely in many others. I am super excited to share my interests in Databases, Cybersecurity, Cloud, Data Science, Data Engineering, Big Data, AI, Programming, Software Engineering, and data in general.
(Continue reading)