在使用Oracle過各中經(jīng)常會遇到密碼丟失的時候,本文用兩種試來解決這個問題。

一種方法:

sqlplus "/ as sysdba"
            SQL>startup
            SQL>alter user system identified by root123;

如果sqlplus "/ as sysdba"不能進(jìn)入,讓輸入密碼,我輸入原始密碼和修改的密碼后都不行的話,修改unix環(huán)境下:

1. $ORACLE_HOME\network\admin\SQLNET.ORA中為:

SQLNET.AUTHENTICATION_SERVICES=(NTS)

重起數(shù)據(jù)庫/監(jiān)聽服務(wù),就可以用操作系統(tǒng)認(rèn)證sqlplus "/ as sysdba"了,來進(jìn)入你的數(shù)據(jù)庫,從而輕而易舉的搞定你的數(shù)據(jù)庫了。

2.

sqlplus /nolog
            sql>connect /as sysdba

第二種方法:

詳細(xì)步驟如下:

一:查詢視圖V$PWFILE_USERS:select * from V$PWFILE_USERS;記錄下?lián)碛?SYSOPER/SYSDBA系統(tǒng)權(quán)限的用戶信息。

二:關(guān)閉數(shù)據(jù)庫 shutdown immediate。

三:刪除密碼文件,文件路徑一般為:ORACLE_HOME\DATABASE,文件名為PWD.ORA。

四:創(chuàng)建密碼文件:

ORAPWD FILE=< FILENAME > PASSWORD =< PASSWORD >

五:向密碼文件中增加用戶:

CONNECT SYS/internal_user_passsword AS SYSDBA;

啟動數(shù)據(jù)庫實例并打開數(shù)據(jù)庫; 創(chuàng)建相應(yīng)用戶帳號,對其授權(quán)授予 權(quán)限:GRANT SYSDBA TO user_name(如果先前數(shù)據(jù)庫只有sys具有sysdba權(quán)限,可不做這步)。

六:修改密碼文件狀態(tài),默認(rèn)密碼文件的狀態(tài)shared,要將初始化參數(shù)里的REMOTE_LOGIN_PASSWORDFILE 設(shè)置成EXCLUSIVE。(T006)