您好,我來為您解答:
創(chuàng)新互聯(lián)公司于2013年成立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元石首做網(wǎng)站,已為上家服務(wù),為石首各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108
CREATE PROFILE LIMIT_USER_QUERY_TIME LIMIT CPU_PER_CALL 1000 ;
alter user XXX profile LIMIT_USER_QUERY_TIME ;
不過最好還是寫在你的應(yīng)用層吧,java/perl之類的connection timeout 好設(shè)啊
如果我的回答沒能幫助您,請繼續(xù)追問。
oracle數(shù)據(jù)庫分行級鎖和表級鎖。用select * from table-name for update完成行級鎖。用delete或update完成表級鎖。你鎖定的資源 別人會等待你的提交語句或回退語句完成以后再繼續(xù)進行。
這個連續(xù)5次不好定義,假設(shè)一個人今天試驗了4次,明天又試驗了一次,那么也可以說是連續(xù)5次(雖然有點抬杠,不過這個也算是連續(xù)5次),這種怎么算?
以下純屬猜想,沒有試驗過只是把想到的可能說一說
我能想到的是oracle的一個讓人很頭痛的功能(因為開了這個功能的話,真的比較恐怖)——審計。這個功能會記錄登錄失敗的信息在相關(guān)的表中,比如aud$,如果能建立觸發(fā)器對該表進行統(tǒng)計,那么應(yīng)該能實現(xiàn)你說的連續(xù)5次,但是這個就好像和profile沒什么關(guān)系了??赡苄枰謩渔i定用戶了,然后再開啟一個定時任務(wù),一旦執(zhí)行了所應(yīng)用戶的操作(基本上又是一個c觸發(fā)器),那么5分鐘后執(zhí)行解鎖用戶,不過這個環(huán)節(jié)也太多了,而且oracle的兩個計劃任務(wù)有時也不怎么靠譜,萬一有一個環(huán)節(jié)卡死了,那么整套流程就進行不下去了。感覺好像更麻煩的樣子。
如果不在oracle的層面可能就會好解決一些,如果外面套了一層java的殼,那么簡單的做一個循環(huán)就好了,只要在多長時間內(nèi)(比如24小時)循環(huán)到5,或者連續(xù)循環(huán)到5,那么就鎖定斷開該登錄(拒絕登錄)5分鐘,根本不用鎖定用戶(畢竟別人還要用)。(個人不會java,以上純屬猜測)
我記得還有一種方式可以將登錄失敗的信息記錄到alert文件,但是就算能統(tǒng)計出來連續(xù)5次,然后呢,這個5怎么傳入數(shù)據(jù)庫,傳入后怎么操作,我想了半天也沒想明白。畢竟frofile本身,沒有“連續(xù)密碼錯誤”的這個參數(shù)。
標題名稱:oracle怎么設(shè)置鎖時,oracle怎么加鎖
分享地址:http://jinyejixie.com/article48/dsedohp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、微信小程序、搜索引擎優(yōu)化、企業(yè)建站、關(guān)鍵詞優(yōu)化、網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)