在使用Oracle過各中經常會碰到密碼丟失的時候,本文用兩種試來解決這個問題。 一種方法:
sqlplus "/ as sysdba"
SQL>startup
SQL>alter user system identified by root123;
假如sqlplus "/ as sysdba"不能進入,讓輸入密碼,我輸入原始密碼和修改的密碼後都不行的話,修改unix環境下:
1. $ORACLE_HOME etworkadminSQLNET.ORA中為: SQLNET.AUTHENTICATION_SERVICES=(NTS)
重起數據庫/監聽服務,就可以用操作系統認證sqlplus "/ as sysdba"了,來進入你的數據庫,從而輕而易舉的搞定你的數據庫了。
2. sqlplus /nolog
sql>connect /as sysdba
第二種方法:
具體步驟如下:
一:查詢視圖V$PWFILE_USERS:select * from V$PWFILE_USERS;記錄下擁有 SYSOPER/SYSDBA系統權限的用戶信息。
二:關閉數據庫 shutdown immediate。
三:刪除密碼文件,文件路徑一般為:ORACLE_HOME\DATABASE,文件名為PWD.ORA。 四:創建密碼文件: ORAPWD FILE=< FILENAME > PASSWord =< PASSWORD > 五:向密碼文件中增加用戶: CONNECT SYS/internal_user_passsword AS SYSDBA;
啟動數據庫實例並打開數據庫; 創建相應用戶帳號,對其授權授予 權限:GRANT SYSDBA TO user_name(假如先前數據庫只有sys具有sysdba權限,可不做這步)。 六:修改密碼文件狀態,默認密碼文件的狀態shared,要將初始化參數裡的REMOTE_LOGIN_PASSWORDFILE 設置成EXCLUSIVE。