程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> 教您如何修改oracle用戶名

教您如何修改oracle用戶名

編輯:Oracle數據庫基礎

改Oracle用戶名是很常見的操作。下面為您詳細介紹了修改Oracle用戶名的方法步驟,如果您對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 >connsys/lmis@lmisdx_localas sysdba
已連接。
SQL> SHOW USERUSE
為"SYS"
--DROP USER 也沒有問題
SQL> DROP USER TEST1 CASCADE;   --刪除以前的用戶
用戶已丟棄
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved