Oracle密碼丟失,應該如何解決?下面提供了兩種方法,供讀者參考。由於Oracle的版本不同,文中所述方法也可能有遺漏之處。
Oracle密碼丟失解決方法1:
- 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
Oracle密碼丟失解決方法2:
一:查詢視圖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。