亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > Oracle數據完整性和鎖機制簡析

Oracle數據完整性和鎖機制簡析

熱門標簽:地圖標注付款了怎么找不到了 外呼系統鄭州 北京外呼系統公司排名 溫州人工外呼系統 貴陽智能電銷機器人官網 沈陽400電話是如何辦理 北京營銷外呼系統廠家 百度地圖標注員是干什么 外呼系統口號

本課內容屬于Oracle高級課程范疇,內容略微偏向理論性,但是與數據庫程序開發和管理、優化密切相關;另外本課的部分內容在前面章節已經涉及,請注意理論聯系實際。

事務

事務(Transaction)從 通訊的角度看:是用戶定義的數據庫操作序列,這些操作要么全做、要么全不做,是不可分割的一個工作單元。事務控制語句稱為TCL,一般包括Commit和Rollback。

事務不是程序,事務和程序分屬兩個概念。在RDBMS中,一個事務可以有一條SQL語句、一組SQL語句或者整個程序;一個應用程序又通常包含多個事務。

事務是恢復和并發控制的基本單元。

顯式事務和隱式事務

begin

insert into classes_2(bjbh,bjmc,bjms,bzr,ssxb,bjrs,bz)

values ('888','測試班級','測試班級','肖豐斌','003','38','');

commit/rollback;

end ;

insert into classes_2(bjbh,bjmc,bjms,bzr,ssxb,bjrs,bz)

values ('888','測試班級','測試班級','肖豐斌','003','38','');

commit/rollback;

事務的ACID特性和結束方式

事務的ACID特性和結束方式

破壞事務ACID特性的因素包括:

1.多個事務并行運行時,不同事務的操作交叉執行

2.事務在運行過程中被強行終止

事務的結束方式包括:

并行性和一致性

并行性和一致性是針對多用戶、多事務,而非單用戶、單事務數據庫環境的,其含義是在多用戶、多事務環境下,針對同一張數據庫表的數據存在同時更新(含Update和Insert、Delete)的情況。

并行性意味著多用戶能夠同時訪問數據;

一致性意味著每個用戶看到的數據是一致的。

為保證數據的一致性,一般采用了事務隔離機制(事務隔離模型),又稱為事務串行化,用來保證事務盡量按照串行的方式執行。

執行并行事務要防止三種情況:

1.臟讀:事務讀取了另外一個沒有提交的事務的數據(臟數據);

2.非重復讀:事務重新讀取了以前讀取的數據,結果發現另外一個已經提交的事務已經修改了那些數據;

3. 幻影讀:一個事務重新執行,返回滿足條件的行集數據,結果發現另外一個已經提交的事務插入了滿足條件的其他行的數據。

隔離層未提交的讀模式提交的讀模式重復讀模式串行化模式臟讀可能不可能不可能不可能非重復讀可能可能不可能不可能幻影讀可能可能可能不可能

并行性適用的情況

前提條件是必須是多CPU的服務器上執行,此時并行性的好處才能顯示出來,單CPU服務器上實驗并行性反而會降低性能。

•處理對大表(至少100萬行記錄以上)的大數據量查詢

•處理連接非常大的表查詢

•處理建立大索引、大容量數據裝載、匯總計算

•處理Oracle對象間大量數據拷貝等作業

•處理在SMP(對稱多處理器)或MPP(大規模并行處理)群和聚合(多機器同時訪問同一組磁盤和主數據庫)的機器上的查詢

•處理存放在分布于不同磁盤的多個數據文件中的數據查詢

•處理需要大量輔助內存的查詢,如Group by、Order By等

語句級讀一致性和事務級讀一致性


Oracle鎖


什么是數據庫鎖

鎖是用于防止在訪問相同的資源(包括用戶對象、系統對象、內存、Oralce數據字典中的共享數據結構,最常見的是數據庫表Table對象)時 ,事務之間的有害性 交互(存、取)的一種機制。

不同類型的鎖,代表了當前用戶是允許還是阻止其它用戶對相同資源的同時存取,從而確保不破壞系統數據的完整性、一致性和并行性。

加鎖是實現數據庫并發控制的一個非常重要的技術。當事務在對某個數據對象進行操作前,先向系統發出請求,對其加鎖。加鎖后事務就對該數據對象有了一定的控制,在該事務釋放鎖之前,其他的事務不能對此數據對象進行更新操作。

兩種鎖機制

共享鎖(Share Lock):即S鎖,是通過對數據存取的高并行性來實現的。加了共享鎖的數據庫對象可以被其它事務讀取,但是不能被其它事務修改。

獨占鎖(Exclusive Lock):即X鎖,又稱排它鎖,是用來防止同時共享相同資源的鎖。加了獨占鎖的數據庫對象不能被其它事務讀取和修改。

•鎖在事務保持期間是被保持的,用來防止包括臟讀、丟失更新和破壞性DLL等交互行為。對一個事務中SQL語句所做的修改只有在該事務提交或回滾后才能被其它事務所使用。

•Commit或Rollback執行后,事務所使用的鎖被釋放。

死鎖

鎖的類型

1.數據鎖(DML鎖)。

用來保證并行訪問數據的完整性。能夠防止同步沖突的DML和DDL操作的破壞性 交互。是Oracle中主要的鎖,又包括表級鎖(TM鎖)和行級鎖(TX鎖、也稱為事務鎖)。

(1).TM鎖

1.數據鎖(DML鎖) 。

(2).TX鎖及DML鎖工作機制

TX鎖是Transaction eXclusive Lock行級排它鎖,對一條記錄加上TX鎖后,其他用戶不能修改、刪除該記錄。

•當Oracle 執行DML語句時,系統自動在所要操作的表上申請TM類型的鎖。當TM鎖獲得后,系統再自動申請TX類型的鎖,并將實際鎖定的數據行的鎖標志位進行置位。 這樣在事務加鎖前檢查TX鎖相容性時就不用再逐行檢查鎖標志,而只需檢查TM鎖模式的相容性即可,大大提高了系統的效率。TM鎖包括了SS、SX、S、X 等多種模式,在數據庫中用0-6來表示。不同的SQL操作產生不同類型的TM鎖。

1.數據鎖(DML鎖)

(2).TX鎖及DML鎖工作機制

•在數據行上只有X鎖(排他鎖)。在 Oracle數據庫中,當一個事務首次發起一個DML語句時就獲得一個TX鎖,該鎖保持到事務被提交或回滾。當兩個或多個會話在表的同一條記錄上執行 DML語句時,第一個會話在該條記錄上加鎖,其他的會話處于等待狀態。當第一個會話提交后,TX鎖被釋放,其他會話才可以加鎖。

•當Oracle數據庫發生TX鎖等待時,如果不及時處理常常會引起Oracle數據庫掛起,或導致死鎖的發生,產生ORA-60的錯誤。這些現象都會對實際應用產生極大的危害,如長時間未響應、大量事務失敗等。

2.字典鎖(DDL鎖)

DDL命令發出時,Oracle會自動在被處理的對象上添加DDL鎖定,從而防止對象被其他用戶所修改。當DDL命令結束以后,則釋放DDL鎖定。DDL鎖定不能顯式的被請求,只有當對象結構被修改或者被引用時,才會在對象上添加DDL鎖定。比如創建或者編譯 存儲過程時會對引用的對象添加DDL鎖定。在創建視圖時,也會對引用的表添加DDL鎖定等。

在執行DDL命令之前,Oracle會自動添加一個隱式提交命令,然后執行具體的DDL命令,在DDL命令執行結束之后,還會自動添加一個隱式提交命令。實際上,Oracle在執行DDL命令時,都會將其轉換為對數據字典表的DML操作。比如我們發出創建表的DDL命令時,Oracle會

2.字典鎖(DDL鎖)

將表的名稱插入數據字典表tab$里,同 時將表里的列名以及列的類型插入col$表里等。因此,在DDL命令中需要添加隱式的提交命令,從而提交那些對數據字典表的DML操作。即使DDL命令失 敗,它也會發出提交命令。DDL鎖包括三種類型:

•排他的DDL鎖定(Exclusive DDL Lock)
大部分的DDL操作都會在被操作的對象上添加排他的DDL鎖定,從而防止在DDL命令執行期間,對象被其他用戶所修改。當對象上添加了排他的DDL鎖定以后,該對象上不能再添加任何其他的DDL鎖定。如果是對表進行DDL命令,則其他進程也不能修改表里的數據。

2.字典鎖(DDL鎖)

•共享的DDL鎖定(Shared DDL Lock )
用來保護被DDL的對象不被其他用戶進程所更新,但是允許其他進程在對象上添加共享的DDL鎖定。如果是對表進行DDL命令,則其他進程可以同時修改表里 的數據。比如我們發出create view命令創建視圖時,在視圖的所引用的表(這種表也叫基表)上添加的就是共享的DDL命令。也就是說,在創建視圖時,其他用戶不能修改 基表的結構,但 是可以更新基表里的數據。

3.內部鎖

內部鎖保護內部數據庫結構,如數據文件,對用戶是不可見的。

2.字典鎖(DDL鎖)

•可打破的解析鎖定(Breakable Parsed Lock)

在shared pool里緩存的SQL游標或者PL/SQL程序代碼都會獲得引用對象上的解析鎖定。如果我們發出DDL命令修改了某個對象的結構時,該對象相關的、位于 shared pool里的解析鎖定就被打破,從而導致引用了該對象的SQL游標或者PL/SQL程序代碼全都失效。下次再次執行相同的SQL語句時,需要重新解析,這 也就是所謂的SQL語句的reload了。可打破的解析鎖定不會阻止其他的DDL鎖定,如果發生與解析鎖定相沖突的DDL鎖定,則解析鎖定也會被打破

死鎖的解決

1.查找鎖

3.Kill 操作系統進程

Orakill 實例名 操作系統進程ID

Orakill oralearn 2444

其中oralearn是數據庫sid,244是第二步查出spid

數據完整性

常用的數據完整性約束規則包括:

1.NOT NULL

2.唯一關鍵字

3.主關鍵字

4.外鍵

5.檢查項Check

由于本部分內容再前面的章節中已經穿插講解,本處不再贅述

要點及習題

習題

1.什么是事務,請解釋什么是顯式事務和隱式事務。

2.事務具有哪四個特性?并行性 事務主要使用的情況是什么,請舉出四種情況。

3.事務級讀一致性包括那三種類型,并列表說明其相同點和不同點。

4.什么是數據庫鎖,包括那兩種大的類型?TM鎖又包括那些類型?

5.將表級鎖和行級鎖結合起來,舉例解釋數據鎖的工作機制。

6.什么是死鎖?死鎖解決的步驟是什么?

7.為什么數據庫設計不推薦大量使用外鍵來確保數據完整性?

您可能感興趣的文章:
  • SQLServer主鍵和唯一約束的區別
  • SQLSERVER實現更改表名,更改列名,更改約束代碼
  • 如何獲取SqlServer2005表結構(字段,主鍵,外鍵,遞增,描述)
  • 深入Mysql,SqlServer,Oracle主鍵自動增長的設置詳解
  • SQLSERVER聚集索引和主鍵(Primary Key)的誤區認識
  • sqlserver主鍵設計的注意點
  • sqlserver數據庫主鍵的生成方式小結(sqlserver,mysql)
  • 小議sqlserver數據庫主鍵選取策略
  • sqlserver 因為選定的用戶擁有對象,所以無法除去該用戶的解決方法
  • SQLServer2005 批量查詢自定義對象腳本
  • SQLServer導出sql文件/表架構和數據操作步驟
  • 詳解SQL Server數據庫架構和對象、定義數據完整性

標簽:衢州 淮北 衡水 潮州 溫州 通遼 定西 包頭

巨人網絡通訊聲明:本文標題《Oracle數據完整性和鎖機制簡析》,本文關鍵詞  Oracle,數據,完整性,和,鎖,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle數據完整性和鎖機制簡析》相關的同類信息!
  • 本頁收集關于Oracle數據完整性和鎖機制簡析的相關信息資訊供網民參考!
  • 推薦文章
    九九久久国产精品| 可以免费在线看黄的网站| 国产成人精品一区二区视频| 人人干人人插| 午夜欧美成人久久久久久| 精品国产一区二区三区久久久狼| 日韩在线观看视频免费| 精品视频免费观看| 美国一区二区三区| 国产精品自拍在线| 色综合久久天天综合| 日韩欧美一二三区| 午夜在线亚洲| 国产一区二区精品| 久久久久久久网| 日韩中文字幕在线播放| 国产成a人片在线观看视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产一区二区三区久久久蜜臀 | 四虎影视库| 午夜激情视频在线播放| 日日夜夜婷婷| 国产美女在线观看| 高清一级做a爱过程不卡视频| 九九免费精品视频| 999久久66久6只有精品| 中文字幕一区二区三区精彩视频| 久久成人综合网| 国产成人精品综合在线| 国产一区二区精品久久| 欧美激情一区二区三区在线播放| 高清一级淫片a级中文字幕| 精品视频在线观看一区二区| 日本特黄特黄aaaaa大片| 国产视频一区在线| 香蕉视频亚洲一级| 韩国毛片免费大片| 可以免费看毛片的网站| 一 级 黄 中国色 片| 久久精品大片| 欧美日本免费| 欧美电影免费看大全| 国产成人精品综合| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 日韩综合| 国产成人欧美一区二区三区的| 国产一区二区精品| 91麻豆爱豆果冻天美星空| 91麻豆爱豆果冻天美星空| 91麻豆tv| 久久99青青久久99久久| 91麻豆国产| 日韩女人做爰大片| 亚洲精品影院一区二区| 日本免费乱人伦在线观看| 99久久精品费精品国产一区二区| 午夜在线亚洲| 成人影院一区二区三区| 国产成人精品一区二区视频| 一a一级片| 久久国产影视免费精品| 国产一区二区高清视频| 99久久精品国产免费| 九九干| 成人在激情在线视频| 欧美a级片免费看| 国产美女在线一区二区三区| 色综合久久天天综合| 麻豆污视频| 午夜欧美成人香蕉剧场| 日韩专区一区| 国产高清在线精品一区a| 精品国产一区二区三区久| 午夜欧美成人久久久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 四虎影视久久久免费| 精品视频一区二区三区| 91麻豆精品国产高清在线| 黄视频网站免费看| 色综合久久久久综合体桃花网| 欧美a级成人淫片免费看| 久久久久久久网| 欧美激情一区二区三区视频 | 可以免费看毛片的网站| 亚洲女人国产香蕉久久精品| 国产精品1024在线永久免费| 黄色免费三级| 欧美激情一区二区三区视频| 午夜家庭影院| 日韩综合| 麻豆午夜视频| 91麻豆tv| 黄视频网站在线观看| 97视频免费在线观看| 日韩一级黄色片| 青青青草视频在线观看| 国产成人女人在线视频观看| 国产91丝袜高跟系列| 欧美一级视频免费观看| 可以免费看污视频的网站| 韩国三级视频网站| 尤物视频网站在线| 午夜在线影院| 99久久精品国产免费| 精品久久久久久中文字幕2017| 999精品在线| 久久国产精品自线拍免费| 国产不卡高清| 一级女性全黄生活片免费| 97视频免费在线观看| 久久99这里只有精品国产| 日本特黄特色aaa大片免费| 日本特黄特色aaa大片免费| 国产一区免费在线观看| 欧美激情一区二区三区视频高清| 免费的黄色小视频| 午夜在线影院| 欧美一区二区三区在线观看| 可以免费看毛片的网站| 日本免费乱人伦在线观看| 国产网站免费观看| 高清一级毛片一本到免费观看| 色综合久久天天综合| 国产麻豆精品免费密入口| 九九精品久久久久久久久| 午夜激情视频在线播放| 韩国毛片免费大片| 久久国产一区二区| 国产一区二区精品久| 九九久久国产精品大片| 国产一区免费在线观看| 91麻豆精品国产高清在线| 欧美1区2区3区| 精品视频免费观看| 日本在线www| 久久国产一久久高清| 超级乱淫伦动漫| 九九久久国产精品大片| 九九久久99| 日韩免费片| 色综合久久天天综合绕观看| 精品国产一区二区三区国产馆| 成人高清免费| 欧美α片无限看在线观看免费| 亚洲女初尝黑人巨高清在线观看| 久草免费在线观看| 国产亚洲免费观看| 精品久久久久久影院免费| 美女免费精品视频在线观看| 欧美一级视频免费观看| 欧美激情一区二区三区视频高清| 午夜在线观看视频免费 成人| 精品视频在线观看免费| 国产原创视频在线| 日韩免费在线视频| 日韩女人做爰大片| 日韩女人做爰大片| 91麻豆精品国产自产在线| 成人a大片在线观看| 国产麻豆精品免费密入口| 国产一级生活片| 一级女人毛片人一女人| 久久国产精品只做精品| 成人免费网站久久久| 天天色成人| 日韩男人天堂| 日韩女人做爰大片| 国产网站在线| 黄色短视屏| 国产欧美精品午夜在线播放| 国产成人精品一区二区视频| 国产一区二区精品久久91| 国产视频网站在线观看| 欧美激情伊人| 国产不卡高清| 久草免费在线色站| 精品视频一区二区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 免费一级片网站| 九九精品在线| 黄色免费三级| 国产91素人搭讪系列天堂| 日日夜夜婷婷| 中文字幕97| 亚洲 欧美 成人日韩| 韩国毛片| 成人av在线播放| 99久久网站| 亚洲 欧美 成人日韩| 黄视频网站免费观看| 日韩在线观看视频免费| 一本伊大人香蕉高清在线观看| 欧美激情一区二区三区在线| 日本免费看视频| 一本高清在线| 国产不卡福利| 欧美激情一区二区三区视频 | 久久国产精品自由自在| 成人免费高清视频| 天天做人人爱夜夜爽2020毛片|