原因:oracle輸入密碼不正確,試了10次后,會(huì)自動(dòng)鎖定用戶。
創(chuàng)新互聯(lián)公司2013年至今,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元唐河做網(wǎng)站,已為上家服務(wù),為唐河各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
解決方法:使用sqlplus命令行解鎖。
步驟:
1、打開sqlplus窗口,用sysdba角色登錄
2、請輸入用戶名: /as sysdba
3、SQLalter user GALTTEST account unlock;
? 用戶已更改。
解鎖成功啦!
1、查看環(huán)境變量ORACLE_SID的設(shè)置情況:
windows:
echo
%ORACLE_SID%
linux:
echo
$ORACLE_SID
2、
設(shè)置環(huán)境變量ORACLE_SID的值為你想登錄的oracle實(shí)例的SID:
set
ORACLE_SID=orcl
鍵入命令:sqlplus
/
as
sysdba
就可以以sysdba的身份登錄到oracle了!
linux系統(tǒng)下,如果找不到sqlplus命令的話,請切換到oracle用戶。
在sqlplus窗口執(zhí)行命令:
alter
user
you_username
identified
by
you_password;
就可以修改你的用戶的密碼了~
如果此時(shí)用戶被鎖定,沒關(guān)系:
既然是被鎖住了,那就通過解鎖system用戶。
SQL
alter
user
system
account
unlock;
User
altered.
SQL
select
username,account_status
from
dba_users
where
username='SYSTEM';
USERNAME
ACCOUNT_STATUS
----------
--------------------------------
SYSTEM
OPEN
SQL
1.創(chuàng)建測試表,如下圖。
createtabletest_lock(idnumber,valuevarchar2(200));
2.執(zhí)行append語句;并且不做提交,insert/*+append*/intotest_lockvalues(1,1)如下圖。
3.再次執(zhí)行清表語句,truncatetabletest_lock;報(bào)鎖表錯(cuò)誤,如下圖。
4.查看鎖表語句,發(fā)現(xiàn)被鎖表
selectb.object_name,t.*
fromv$locked_objectt,user_objectsb
wheret.object_id=b.object_id
注意事項(xiàng):
簡化數(shù)據(jù):可以將復(fù)雜的查詢創(chuàng)建為其他人可以使用的視圖,而不必了解復(fù)雜的業(yè)務(wù)或邏輯關(guān)系。這簡化并掩蓋了視圖用戶數(shù)據(jù)的復(fù)雜性。
表結(jié)構(gòu)設(shè)計(jì)的補(bǔ)充:在設(shè)計(jì)的系統(tǒng)才剛剛開始,大部分的程序直接訪問數(shù)據(jù)表結(jié)構(gòu),但是隨著業(yè)務(wù)的變化,系統(tǒng)更新,等等,引起了一些表結(jié)構(gòu)不適用,這次修改系統(tǒng)的表結(jié)構(gòu)太大,開發(fā)成本較高的影響。
這個(gè)時(shí)候可以創(chuàng)建一個(gè)視圖來補(bǔ)充表結(jié)構(gòu)設(shè)計(jì),降低開發(fā)成本。程序可以通過查詢視圖直接獲得它想要的數(shù)據(jù)。
添加安全性:視圖可以向用戶顯示表中的指定字段,而不是向用戶顯示表中的所有字段。在實(shí)際開發(fā)中,視圖通常作為提供數(shù)據(jù)的一種方式提供,并將只讀權(quán)限提供給第三方以供查詢使用。
在對指定表做append操作,其他再做truncate時(shí)候,會(huì)產(chǎn)生鎖表,如下驗(yàn)證步驟,
1、創(chuàng)建測試表,
create table test_lock(id number, value varchar2(200));
2、執(zhí)行append語句;并且不做提交,insert /*+append*/ into test_lock values(1,1);
3、再次執(zhí)行清表語句,truncate table test_lock;報(bào)鎖表錯(cuò)誤,
4、查看鎖表語句,發(fā)現(xiàn)被鎖表,
select b.object_name, t.*
from v$locked_object t, user_objects b
where t.object_id = b.object_id
一般Oracle用戶被鎖,有兩種原因:1、管理員設(shè)置密碼到期時(shí)間,時(shí)間到了就鎖了;2、管理員設(shè)置密碼容錯(cuò)次數(shù),比如10次,密碼輸入錯(cuò)誤超過10次就會(huì)被鎖。賬號被鎖也不要驚慌,管理員可以后臺手動(dòng)解鎖的,主要是防止你的密碼被別人暴力破解。
Oracle數(shù)據(jù)庫出現(xiàn)死鎖的時(shí)候可以按照以下處理步驟加以解決:
第一步:嘗試在sqlplus中通過sql命令進(jìn)行刪除,如果能夠刪除成功,則萬事大吉!但通常情況下,出現(xiàn)死鎖時(shí),想通過命令行或者通過Oracle的管理工具刪除有死鎖的session,oracle只會(huì)將該session標(biāo)記為killed,但無法清除掉,往往需要通過第二步在操作系統(tǒng)層級進(jìn)行刪除!
Connected?to?Oracle9i?Enterprise?Edition?Release?9.2.0.1.0?
Connected?as?quik
SQL?select?xidusn,?object_id,?session_id,?locked_mode?from?v$locked_object;?--查死鎖的對象,獲取其SESSION_ID
XIDUSN?OBJECT_ID?SESSION_ID?LOCKED_MODE
----------?----------?----------?-----------
10?30724?29?3
10?30649?29?3
SQL?select?username,sid,serial#?from?v$session?where?sid=29;?--根據(jù)上步獲取到的sid查看其serial#號
USERNAME?SID?SERIAL#
------------------------------?----------?----------
QUIK?29?57107
SQL?alter?system?kill?session?'29,57107';?--刪除進(jìn)程,如已經(jīng)刪除過,則會(huì)報(bào)ora-00031的錯(cuò)誤;否則oracle會(huì)將該session標(biāo)記為killed狀態(tài),等待一段時(shí)間看能否會(huì)自動(dòng)消失,如長時(shí)間消失不掉,則需要做后續(xù)步驟
alter?system?kill?session?'29,57107'
ORA-00031:?session?marked?for?kill
SQL?select?pro.spid?from?v$session?ses,v$process?pro?where?ses.sid=29?and?ses.paddr=pro.addr;?--查看spid號,以便在操作系統(tǒng)中根據(jù)該進(jìn)程號刪除進(jìn)程
SPID
------------
2273286
第二步:進(jìn)入操作系統(tǒng)進(jìn)行刪除進(jìn)程,本示例的操作系統(tǒng)是IBM aix。
login:?root?--錄入用戶名
root's?Password:?--錄入密碼
*******************************************************************************
*?*
*?*
*?Welcome?to?AIX?Version?5.3!?*
*?*
*?*
*?Please?see?the?README?file?in?/usr/lpp/bos?for?information?pertinent?to?*
*?this?release?of?the?AIX?Operating?System.?*
*?*
*?*
*******************************************************************************
Last?unsuccessful?login:?Fri?Apr?23?14:42:57?BEIDT?2010?on?/dev/pts/1?from?10.73
.52.254
Last?login:?Fri?Apr?23?15:27:50?BEIDT?2010?on?/dev/pts/2?from?10.73.52.254
#?ps?-ef|grep?2273286?--查看進(jìn)程詳情
root?2289864?2494636?0?17:07:15?pts/1?0:00?grep?2273286
oracle?2273286?1?0?14:38:24?-?0:21?oracleQUIK?(LOCAL=NO)
#?kill?-9?2273286?--刪除進(jìn)程,小心操作,別寫錯(cuò)進(jìn)程號,如果oracle的關(guān)鍵進(jìn)程被刪,數(shù)據(jù)庫會(huì)崩潰的!
#?ps?-ef|grep?2273286?--再次查看
root?2289864?2494636?0?17:07:15?pts/1?0:00?grep?2273286
For?Windows,?at?the?DOS?Prompt:?orakill?sid?spid
For?UNIX?at?the?command?line?kill?–9?spid
名稱欄目:oracle被鎖怎么辦,oracle用戶被鎖住怎么解鎖
當(dāng)前地址:http://m.rwnh.cn/article44/phpche.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、建站公司、網(wǎng)站制作、自適應(yīng)網(wǎng)站、網(wǎng)站收錄、網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)