av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

Oracle數(shù)據(jù)操作和控制語言詳解(二)

瀏覽:141日期:2023-11-17 17:20:45
事務(wù)控制事務(wù)控制包括協(xié)調(diào)對相同數(shù)據(jù)的多個同步的訪問。當(dāng)一個用戶改變了另一個用戶正在使用的數(shù)據(jù)時,Oracle使用事務(wù)控制誰可以操作數(shù)據(jù)。事務(wù)事務(wù)表示工作的一個基本單元,是一系列作為一個單元被成功或不成功操作的SQL語句。 在SQL和PL/SQL中有很多語句讓程序員控制事務(wù)。程序員可以: 1、顯式開始一個事物,選擇語句級一致性或事務(wù)級一致性 2、設(shè)置撤銷回滾點,并回滾到回滾點3、完成事務(wù)永遠(yuǎn)改變數(shù)據(jù)或者放棄修改。事務(wù)控制語句 語句 用途 Commit 完成事務(wù),數(shù)據(jù)修改成功并對其他用戶開放 Rollback 撤銷事務(wù),撤銷所有操作 rollback to savepoint 撤銷在設(shè)置的回滾點以后的操作 set transaction 響應(yīng)事務(wù)或語句的一致性;非凡對于事務(wù)使用回滾段例: BEGINUPDATE checkingSET balance=balance-5000WHERE account='Kieesha';INSERT INTO checking_log(action_date,action,amount)VALUES (SYSDATE,'Transfer to brokerage',-5000);UPDATE brokerageSET cash_balance=cash_balance+5000WHERE account='Kiesha';INSERT INTO brokerage_log(action_date,action,amount)VALUES (SYSDATE,'Tracfer from checking',5000)COMMITEXCEPTIONWHEN OTHERSROLLBACKENDSavepoint 和 部分回滾(Partial Rollback)在SQL和PL/SQL中Savepoint是在一事務(wù)范圍內(nèi)的中間標(biāo)志。經(jīng)常用于將一個長的事務(wù)劃分為小的部分。保留點Savepoint可標(biāo)志長事務(wù)中的任何點,答應(yīng)可回滾該點之后的操作。在應(yīng)用程序中經(jīng)常使用Savepoint;例如一過程包含幾個函數(shù),在每個函數(shù)前可建立一個保留點,假如函數(shù)失敗,很輕易返回到每一個函數(shù)開始的情況。在回滾到一個Savepoint之后,該Savepoint之后所獲得的數(shù)據(jù)封鎖被釋放。為了實現(xiàn)部分回滾可以用帶TO Savepoint子句的ROLLBACK語句將事務(wù)回滾到指定的位置。例 BEGIN INSERT INTO ATM_LOG(who,when,what,where)VALUES ('Kiesha',SYSDATE,'Withdrawal of $100','ATM54')SAVEPOINT ATM_LOGGED;UPDATE checkingSET balance=balance-100RETURN balance INTO new_balance;IF new_balance<0THENROLLBACK TO ATM_LOGGED;COMMITRAISE insufficient_funda;END IFEND 要害字SAVEPOINT是可選的,所以下面兩個語句是等價的: ROLLBACK TO ATM_LOGGED;ROLLBACK TO SAVEPOINT ATM_LOGGED;一致性和事務(wù)一致性是事物控制的要害慨念。把握了oracle 的一致性模型,能使您更好的,更恰當(dāng)?shù)氖褂檬聞?wù)控制。oracle通過一致性保證數(shù)據(jù)只有在事務(wù)全部完成后才能被用戶看見和使用。這項技術(shù)對多用戶數(shù)據(jù)庫有巨大的作用。oracle經(jīng)常使用語句級(state-level)一致性,保證數(shù)據(jù)在語句的生命期之間是可見的但不能被改變。事務(wù)由多個語句組成,當(dāng)使用事務(wù)時,事物級(transaction-level)一致性在整個事務(wù)生命期中保證數(shù)據(jù)對所有語句都是可見的。oracle通過SCN(syatem change number)實施一致性。一個SCN是一個面向時間的數(shù)據(jù)庫內(nèi)部鍵。SCN只會增加不會減少,SCN表示了時間上的一個點,每個數(shù)據(jù)塊都有一個SCN,通過比較這個點實施操作。事務(wù)級一致性SET TRANSACTION 的一個作用是確保事務(wù)級一致或語句級一致中有一個實施。ORACLE使用這些術(shù)語: ISOLATION LEVEL READ COMMIT 表示語句級一致 ISOLATION LEVEL SERIALIZABLE 表示事務(wù)級一致。例: SET TRANSACTION ISOLATION LEVEL READ COMMIT;SET TRANSACTION ISOLATION LEVEL READ COMMIT下面的語句也能確保事務(wù)級一致: SET TRANSCATION READ ONLY任何企圖在只讀(READ ONLY)事務(wù)中修改數(shù)據(jù)的操作都會拋出一個異常。但是,READ ONLY事務(wù)只能在下列語句中使用: SELECT(沒有FOR UPDATE子句)LOCK TABLESET ROLEALTER SYSTEMALTER ALARM即使沒有改變?nèi)魏螖?shù)據(jù),READ ONLY事務(wù)依然必須使用一個COMMIT或ROLLBACK以結(jié)束整個事務(wù)。SET TRANSCTION的另外一個應(yīng)用是在回滾時直接使用回滾段(ROLLBACK SEGMENT)。回滾段是ORACLE的一個非凡的數(shù)據(jù)對象,回滾段的頭部包含正在使用該回滾段事務(wù)的信息。當(dāng)用戶回滾事務(wù)(ROLLBACK)時,ORACLE將會利用回滾段中的數(shù)據(jù)前影像來將修改的數(shù)據(jù)恢復(fù)到原來的值。oracle用round-robin給事務(wù)隨機分配回滾段。一個大的事務(wù)可以分配任何回滾段,這也許會導(dǎo)致回滾段的大小變得很大。因此要避免讓大的事務(wù)隨機分配回滾段。事務(wù)以SET TRANSACTION開始,象下面這樣: SET TRANSACTION USE ROLLBACK SEGMENT rb_large;rb_large是一個大的回滾段的名稱,現(xiàn)在就給一個大的事務(wù)分配了一個大的回滾段,其他的小的回滾段將不由動態(tài)空間治理,這樣就更有效率。 下面我們看一個例子.我們有一個回滾段表空間大小是2G,在高峰時期需要10個回滾段以滿足用戶的需要,這些高峰在線用戶只有小的事務(wù)。一周我們連續(xù)運行了4個大的事務(wù),這些事務(wù)需要刪除和加載數(shù)據(jù),每一個撤銷需要1G,回滾段的大小如下: rb_large(initial 100M minextenta 2)rb1 (initial 1M next minextents 5) rb2 (initial 1M next minextents 5)rb3 (initial 1M next minextents 5)rb4 (initial 1M next minextents 5)rb5 (initial 1M next minextents 5)rb6 (initial 1M next minextents 5)rb7 (initial 1M next minextents 5)rb8 (initial 1M next minextents 5)rb9 (initial 1M next minextents 5)rb10 (initial 1M next minextents 5) 所有的都非常恰當(dāng)?shù)陌才旁?G的表空間中,假如我們?nèi)笔〉膔ound-robin給事務(wù)分配回滾段,4個大事務(wù)將有4個獨立的回滾段,每個回滾段的大小將是1G,假如這樣我們的2G表空間就不夠,而數(shù)據(jù)庫治理員就不得不在夜晚2點起來工作,每個事務(wù)都由以下面的語句開始: SET TRANSACTION USE ROLLBACK SEGMENT rb_large 現(xiàn)在 4個事務(wù)重用相同的表空間,保正4個回滾段的表空間在2G以內(nèi)。數(shù)據(jù)庫治理員可以睡到天亮。
標(biāo)簽: Oracle 數(shù)據(jù)庫
主站蜘蛛池模板: 亚洲成人精品视频 | 香蕉视频色版 | 午夜成人在线视频 | 成人免费小视频 | 亚洲综合在线播放 | 国产成人av在线播放 | 午夜私人影院 | 欧美一级免费 | 中文字幕高清 | 国产精品久久久国产盗摄 | 国产成人精品一区二区三区四区 | 特级丰满少妇一级aaaa爱毛片 | 人人草av| 91手机看片 | 黄在线观看 | 免费视频a | 日韩精品在线一区 | 亚洲视频三区 | 日日操夜夜 | 99视频网 | 国产黄色精品视频 | 亚洲精品自拍视频 | 精品日韩一区二区 | 糖心vlog精品一区二区 | 国产日韩欧美亚洲 | 日韩 欧美 亚洲 | 成人午夜在线观看 | 日韩手机在线视频 | 国产超碰在线 | 成人做爰www看视频软件 | 一级片国产| 久久亚洲成人 | 一级视频在线观看 | 亚洲午夜视频在线观看 | 国产乱码精品一区二区三 | 五月亚洲 | 久久精品欧美 | 日日夜夜精品免费 | 国产一区在线视频 | 日韩欧美一区二区三区久久婷婷 | 黄色片网站免费 |