Oracle解鎖hr賬戶的前提是:必須存在hr賬戶,對于大多數(shù)剛安裝的Oracle來說,都是存在的。廢話不多說直接上例子。
創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元古交做網(wǎng)站,已為上家服務(wù),為古交各地企業(yè)和個人服務(wù),聯(lián)系電話:13518219792
1.打開cmd,使用sqlplus命令登錄上Oracle。
輸入:sqlplus system/口令
2.連接dba;
輸入:conn as sysdba;
3.解鎖hr,修改hr密碼(我設(shè)置的是hr)。
輸入解鎖命令:alter user hr account unlock;
輸入改密命令:alter user hr identified by hr;
4.連接hr。
打開sqldeveloper連接即可。
1、在做Oracle監(jiān)聽程序測試時,發(fā)現(xiàn)帳戶已經(jīng)被鎖定。
2、在數(shù)據(jù)庫安裝電腦上,點擊開始打開運行窗口。
3、在運行窗口輸入CMD,調(diào)出命令提示符界面。
3、在命令提示符下面,用管理員身份登入到數(shù)據(jù)庫sqlplus / as sysdba。
4、輸入解鎖命令alter user Scott account unlock后回車。
5、看見用戶已更改的字樣,表示命令已成功執(zhí)行。
6、再切換到監(jiān)聽程序驗證,原來的ora-28000帳戶被鎖定的提示已經(jīng)不存在了。用戶解鎖成功。
原因:oracle輸入密碼不正確,試了10次后,會自動鎖定用戶。
解決方法:使用sqlplus命令行解鎖。
步驟:
1、打開sqlplus窗口,用sysdba角色登錄
2、請輸入用戶名: /as sysdba
3、SQLalter user GALTTEST account unlock;
? 用戶已更改。
解鎖成功啦!
一些ORACLE中的進程被殺掉后,狀態(tài)被置為"killed",但是鎖定的資源很長時間不釋放,有時實在沒辦法,只好重啟數(shù)據(jù)庫?,F(xiàn)在提供一種方法解決這種問題,那就是在ORACLE中殺不掉的,在OS一級再殺。\x0d\x0a1.下面的語句用來查詢哪些對象被鎖:\x0d\x0aselectobject_name,machine,s.sid,s.serial#\x0d\x0afromv$locked_objectl,dba_objectso,v$sessions\x0d\x0awherel.object_id=o.object_idandl.session_id=s.sid;\x0d\x0a2.下面的語句用來殺死一個進程:\x0d\x0aaltersystemkillsession'24,111';(其中24,111分別是上面查詢出的sid,serial#)\x0d\x0a【注】以上兩步,可以通過Oracle的管理控制臺來執(zhí)行。\x0d\x0a3.如果利用上面的命令殺死一個進程后,進程狀態(tài)被置為"killed",但是鎖定的資源很長時間沒有被釋放,那么可以在os一級再殺死相應(yīng)的進程(線程),首先執(zhí)行下面的語句獲得進程(線程)號:\x0d\x0aselectspid,osuser,s.program\x0d\x0afromv$sessions,v$processp\x0d\x0awheres.paddr=p.addrands.sid=24(24是上面的sid)\x0d\x0a4.在OS上殺死這個進程(線程):\x0d\x0a1)在unix上,用root身份執(zhí)行命令:\x0d\x0a#kill-912345(即第3步查詢出的spid)\x0d\x0a2)在windows(unix也適用)用orakill殺死線程,orakill是oracle提供的一個可執(zhí)行命令,語法為:\x0d\x0aorakillsidthread\x0d\x0a其中:\x0d\x0asid:表示要殺死的進程屬于的實例名\x0d\x0athread:是要殺掉的線程號,即第3步查詢出的spid。\x0d\x0a例:c:orakillorcl12345