Chinaunix首页 | 论坛 | 博客
  • 博客访问: 90957120
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-03-31 22:47:08

来源:赛迪网    作者:19330

一般情况下,在修改用户名时我们大多使用导出用户a再导入用户b来实现用户名的换名。假如在测试库上你可以用下面的方法来简单实现,这样就不用导出了。

请大家注意:重要的生产库不建议这样做。

conn / as sysdba
UPDATE USER$ SET NAME='A2B' WHERE NAME='HH';
ALTER SYSTEM CHECKPOINT;--强制写入数据文件
ALTER SYSTEM FLUSH SHARED_POOL;--清除缓存数据字典信息
alter user a2b identified by a;




SQL> conn hh/a
Connected.

SQL> SELECT COUNT(*) FROM USER_OBJECTS;

COUNT(*)
----------
952
SQL> conn / as sysdba
Connected.
SQL> show user
USER is "SYS"

SQL> UPDATE USER$ SET NAME='A2B' WHERE NAME='HH';

1 row updated.

SQL> commit;

Commit complete.

SQL> ALTER SYSTEM CHECKPOINT;

System altered.

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

System altered.

SQL> alter user a2b identified by a;

User altered.

SQL> conn a2b/a
Connected.
SQL> SELECT COUNT(*) FROM USER_OBJECTS;

COUNT(*)
----------
952

SQL>
阅读(823) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~