2016-06-28 62 views
2

幾天前我安裝了oracle 12c。我跑了一兩天後,但我完全失去了我的用戶名,我記得我的密碼,但沒有用戶名。我有什麼辦法讓我可以看到我設置什麼用戶名Oracle 12c用戶名忘記了

回答

0

設置以下的環境變量。它們對於流程本身並不是必需的,但會幫助您導航。在這種情況下,我的域被稱爲「ClassicDomain」。請記住更改該值以符合您的域名。

export MW_HOME=/u01/app/oracle/middleware 
export DOMAIN_HOME=$MW_HOME/user_projects/domains/ClassicDomain 

關閉WebLogic域。

$ $DOMAIN_HOME/bin/stopWebLogic.sh 

重命名數據文件夾。

$ mv $DOMAIN_HOME/servers/AdminServer/data $DOMAIN_HOME/servers/AdminServer/data-old 

使用以下命令重置密碼。請記住替換適當的用戶名和密碼。

$ cd $DOMAIN_HOME/security 
$ java weblogic.security.utils.AdminAccount <username> <password> . 
0

假設您可以登錄爲SYS,你可以使用:

select * 
from dba_users 

這將給所有用戶,包括您所定義的一個; here你發現更多。

+0

在哪裏使用這個命令? 我試圖以SYS身份登錄,沒有任何密碼,也嘗試了我爲我的用戶名設置的自己的密碼,但仍然沒有結果。 –

0

自Oracle 11g以來有新的密碼生成過程。您可以使用

create or replace function get_hash_11g(p_password varchar2, p_salt varchar2) return varchar2 is 
    lv_pwd_raw RAW(128); 
    lv_enc_raw RAW(2048); 
    BEGIN 
    lv_pwd_raw := utl_raw.cast_to_raw(p_password) || hextoraw(p_salt); 
    lv_enc_raw := sys.dbms_crypto.hash(lv_pwd_raw, 3); 

    return lv_enc_raw; 
    end get_hash_11g; 
/

然後運行選擇

select w.name from sys.user$ w 
where substr(w.spare4, 3, 40) = get_hash_11g(/*your password*/'&pass', substr(spare4, 43, 20)); 
/
+0

我對oracle很陌生, 我應該在哪裏輸入/選擇所有這些? –

+0

這僅適用於擁有sys.user $特權的用戶(大多數情況下,它是SYS用戶)。 –

+0

您可以從ora_dba組的用戶的命令行進行連接。 我認爲是安裝Oracle的用戶 sqlplus/nolog connect/as sysdba alter user sys用<新密碼> –

0

如果能夠調用sqlplus的然後按照這樣的:

sqlplus:/ as sysdba - 這是登錄爲SYS所需的命令。

password: - 不要給任何密碼。只要按下進入

SQL> select username from dba_users; - 此命令會給用戶在數據庫中的表。