Oracle---使用者重新命名、建立同樣的使用者名稱

jx_yu發表於2012-06-04

我們的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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章