测试路上,温和的坚持着,并且微笑...... 测试路上,我正在为下一个目标努力着,已经有近两年测试工作经验的我,每每看到测试工程师的职场规划,让我深刻的感悟到,要想让自己热爱的测试道路越走越宽,需要实践与理论结合,用理论规范实践,使实践更专业化;信息化时代,更加需要资源共享,思想交流,而我所学也来源于互联网上的前辈们,兄弟姐妹们. 所以在这个繁忙的工作学习里,在这个不断给自己充电的时间里,将自己的所学,所得,所感用博客的方式展现给大家,感谢在测试路上帮助过我的人,也希望能给需要帮助的人尽点微薄之力......

Oracle 命令修改用户名 - - Oracle Tips 19

上一篇 / 下一篇  2008-08-21 19:26:38 / 个人分类:数据库相关

   oracle 如何修改用户名在实际工作中,有时候需要修改用户名,而通常的做法是exp imp这样的方式,而如果数据量大的话exp imp的方式会很浪费时间,所以下面写上如何通过修改ORACLE基表的方式来修改用户名,按下面的步骤执行:

--直接修改底层表 USER$ 更换用户名

1、windows 平台下运行 cmd

2、sqlplus /nolog

3、SQL> connsys/lmis@lmisdx_localas sysdba 连接到数据库。通常可以用sys用户登陆。

4、SQL> select * from user$; 找到 name为需要修改的用户的user#。

5、SQL> UPDATE USER$ SET NAME='新用户名' WHERE USER#=38;
   已更新 1 行。

6、SQL> COMMIT;提交完成。

7、SQL> ALTER SYSTEM CHECKPOINT;
   系统已更改。

8、SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码;
   此时会提示新用户不存在。

   SQL> ALTER USER 新用户名 IDENTIFIED BY 新密码         

  *ERROR 位于第 1 行:ORA-01918: 用户'新用户'不存在

9、SQL> ALTER SYSTEM FLUSH SHARED_POOL;
   系统已更改。

10、SQL> ALTER USER 新用户 IDENTIFIED BY 新密码;
    用户已更改。

11、测试连接
    SQL> CONN 新用户/新密码@lmisdx_local;
    已连接。

12、SQL> SELECT * FROM TAB;
    查看新用户下是否有原用户的对象,包括表等。

13、SQL> CONN /    AS SYSDBA已连接。

14、SQL> SHOW USER     --查看当前连接用户
    为"SYS"

15、SQL> SHUTDOWN IMMEDIATE   --关闭数据库
    数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。

16、SQL> STARTUP              --启动数据库
        ORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。

17、可以看出没有再恢复为TEST
    SQL> SELECT USER#,NAME,PASSWORD FROM USER$ WHERE USER#=38;
                     
18、查看数据对象
    SQL> SELECT * FROM TAB;
                               
19、SQL  >conn
sys/lmis@lmisdx_localas sysdba
已连接。
SQL> SHOW USERUSE
为"SYS"
--DROP USER 也没有问题
SQL> DROP USER TEST1 CASCADE;   --删除以前的用户
用户已丢弃


TAG: 数据库相关

marchonchina的个人空间 引用 删除 marchonchina   /   2008-12-11 09:31:08
我和你在工作上有许多的共同点。我也是一名有两年工作经验的测试工程师,工作中注重积累和探索学习,尤其喜欢学习和实践oracle方面的技能和知识。希望能和你进行交流。
邮箱:marchonchina@yahoo.com.cn
 

评分:0

我来说两句

Open Toolbar