20130507 oracle更改用户名
更改oracle的用户名
oracle版本: oracle10g(经测试,在本人Oracle 11g上也可以)
以前都是都该oracle用户的属性信息,如密码等什么的,今天就来把用户名给改了。
今天也是遇到一个需求,要导入一个用户的新数据,但还要保留原有用户。以前本人
确实没有听说过可以更改用户名的,今天就来修改一下
查询要更改的用户名
SQL> select user#,name,password from user$ where name ='TICKETS';
USER# NAME PASSWORD
---------- ------------------------------ ------------------------------
78 TICKETS 21EDA78F89D6FACD
更改用户名
SQL> update user$ set name='TICKETS_BAK' where user#=78;
1 row updated.
SQL> commit;
Commit complete.
再创建一个同样的用户名
SQL> create user tickets identified by "123456"
2 default tablespace yytickets
3 temporary tablespace temp;
create user tickets identified by "123456"
*
ERROR at line 1:
ORA-01920: user name 'TICKETS' conflicts with another user or role name
提示用户冲突!!
SQL> alter system checkpoint; ----强制写入数据文件
System altered.
SQL> alter system flush shared_pool; ----清楚缓存数据字典信息,强制oracle读实际数据(即更改后的数据)
System altered.
再创建相同的用户
SQL> create user tickets identified by "123456"
2 default tablespace yytickets
3 temporary tablespace temp;
User created.
SQL> grant connect,resource to tickets;
Grant succeeded.
SQL> commit;
Commit complete.