在使用Oracle過各中經常會遇到密碼丟失的時候,本文用兩種試來解決這個問題。
一種方法:
sqlplus "/ as sysdba" SQL>startup SQL>alter user system identified by root123; |
如果sqlplus "/ as sysdba"不能進入,讓輸入密碼,我輸入原始密碼和修改的密碼後都不行的話,修改unix環境下:
1. $ORACLE_HOME/network/admin/SQLNET.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。
作者:010032 來源:賽迪網技術社區