昨日,因为需要,探索了下通过系统表修改Oracle用户名的方法,找到一种可能的方法,具体操作的SQL脚本如下:
connect sys as sysdba;
create user test identified by test
default tablespace meiko
temporary tablespace meikoTEMP;
select user#, name, password from user$ where name='TEST';
result:
user# name password
33 TEST '7A0F2B316C212D67'
drop user test;
select user#, name from user$ where name='TEST1';
result:
user# name
21 TEST1
update user$ set name='TEST' where user#=21;
commit;
alter system checkpoint;
alter system flush shared_pool;
alter user test identified by values '7A0F2B316C212D67';
commit;
shutdown immediate;
startup;
connect sys as sysdba;
create user test identified by test
default tablespace meiko
temporary tablespace meikoTEMP;
select user#, name, password from user$ where name='TEST';
result:
user# name password
33 TEST '7A0F2B316C212D67'
drop user test;
select user#, name from user$ where name='TEST1';
result:
user# name
21 TEST1
update user$ set name='TEST' where user#=21;
commit;
alter system checkpoint;
alter system flush shared_pool;
alter user test identified by values '7A0F2B316C212D67';
commit;
shutdown immediate;
startup;