oracle没有提供直接修改用户名的sql,需要修改用户名的话可以通过直接修改字典表,但可能会出现什么问题不太能确定;我遇到的问题是修改用户名后job状态会变成broken,但又不是每次都这样。以下操作尽供参考。
-
修改用户名后需要修改一下新用户的密码,这一步是必须要做的,哪怕新密码与旧密码一样也得修改一下,否则无法登录;
-
修改密码时可能会报以下错:
SQL Error: ORA-01918: user 'NEWUSER' does not exist
01918. 00000 - "user '%s' does not exist"
*Cause: User does not exist in the system.
*Action: Verify the user name is correct.
将shared_pool、buffer_cache清空一下就可以了
-
update user$ set name='NEWUSER' where name='OLDUSER';
commit;
alter system flush shared_pool;
alter system flush buffer_cache;
alter user newuser identified by newuser;