我们的Oracle管理工作中经常涉及到更改Oracle用户属性、密码之类的常用操作;
但在某些应用场景下,会遇到Oracle用户名更改的需求,如何解决?
下面通过四个步骤实现Oracle用户名的修改。
注意:此方式更改用户名称可能会带来别的问体,不是万不得已还是别用为好
此处于重命名scott为s1实验说明
1、查看用户的信息
SQL> select user#,name,password from user$ where name ='SCOTT';
USER# NAME PASSWORD
---------- ------------------------------ ------------------------------
83 SCOTT 06F964AA91119516
2、更改用户名scott为s1
SQL> update user$ set name='s1' where user#=83;
已更新 1 行。
SQL> commit;
提交完成。
3、创建scott用户
SQL> create user scott identified by scott;
create user scott identified by scott
*
第 1 行出现错误:
ORA-01920: 用户名 'SCOTT' 与另外一个用户名或角色名发生冲突
SQL> alter system checkpoint; ----强制写入数据文件
系统已更改。
SQL> alter system flush shared_pool; ----清楚缓存数据字典信息
----强制oracle读实际数据(即更改后的数据)
系统已更改。
4、此时,在创建scott即可成功
SQL> create user scott identified by scott;
用户已创建。
这样基本完成Oracle用户名的查找、更改、替换、复制等操作,需要注意的是用户名冲突的排查和解决,以防发生后患
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27000195/viewspace-731866/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27000195/viewspace-731866/