在Oracle 幾年的學(xué)習(xí)中,做了很多的實(shí)驗(yàn),也遇到了很多的問(wèn)題, 在這個(gè)過(guò)程中,積累了一些學(xué)習(xí)文檔。也更新到了blog上。 因?yàn)樘,不便于查閱?br />根據(jù)自己對(duì) Oracle 的理解,把這些 blog 進(jìn)行了分類,并進(jìn)行了一些整理,方便自己的查看。 這些文檔中有很多內(nèi)引用借鑒了前輩們的資料和google 上的一些信息。
如:eygle,君三思,譚懷遠(yuǎn),陳吉平等前輩們的書(shū)籍和 blog。
感謝這些前輩們對(duì)中國(guó) DB 事業(yè)做出的貢獻(xiàn)。 在這里引用的內(nèi)容也是完全出于學(xué)習(xí)。 沒(méi)有其他用途,如有侵犯到版權(quán)的問(wèn)題,請(qǐng)聯(lián)系我。 我將刪除這些信息。
對(duì)數(shù)據(jù)庫(kù)這塊也是在不斷的學(xué)習(xí),對(duì)oracle 的理解也是在不斷的變化。在這個(gè)過(guò)程中,難免有理解錯(cuò)誤的地方,或者內(nèi)容上遺漏的,如果發(fā)現(xiàn)了問(wèn)題,煩郵件給我,我會(huì)虛心的學(xué)習(xí)。并更新該文檔。
PS: 有些內(nèi)容在排版上不太合適,因?yàn)楹芏嘁彩窃诤笃诘恼碇屑由先サ。以后有空在調(diào)整這些內(nèi)容的排版了。
目 錄:
TIANLESOFTWARE ORACLE 學(xué)習(xí)手冊(cè) ...................................................................
一. ORACLE 基礎(chǔ)知識(shí) .............................................................................................
1.1 ORACLE OLAP 與 OLTP 介紹 ..............................................................................
1.1.1 什么是 OLTP .............................................................................................
1.1.2 什么是 OLAP .............................................................................................
1.1.3 在 OLAP 系統(tǒng)中,常使用分區(qū)技術(shù)、并行技術(shù) ....................................
1.1.4 分開(kāi)設(shè)計(jì)與優(yōu)化 ......................................................................................
1.2 索引詳解 ...........................................................................................................
1.2.1 索引介紹 ..................................................................................................
1.2.1.1 索引的創(chuàng)建語(yǔ)法 ............................................................................................
1.2.1.2 索引特點(diǎn)........................................................................................................
1.2.1.3 索引不足........................................................................................................
1.2.1.4 應(yīng)該建索引列的特點(diǎn) ....................................................................................
1.2.1.5 不應(yīng)該建索引列的特點(diǎn) ................................................................................
1.2.1.6 限制索引........................................................................................................
1.2.1.6.1 使用不等于操作符(<>、!=) ............................................................
1.2.1.6.2 使用 IS NULL 或 IS NOT NULL ...............................................................
1.2.1.6.3 使用函數(shù) ...............................................................................................
1.2.1.6.4 比較不匹配的數(shù)據(jù)類型 ........................................................................
1.2.1.7 查詢索引........................................................................................................
1.2.1.8 組合索引........................................................................................................
1.2.1.9 ORACLE ROWID .......................................................................
1.2.1.10 選擇性 .................................................................................
1.2.1.11 群集因子(Clustering Factor) ................................................
1.2.1.12 二元高度(Binary height) ......................................................
1.2.1.13 快速全局掃描 ......................................................................
1.2.1.14 跳躍式掃描 ..........................................................................
1.2.2 索引分類 .............................................................................
1.2.2.1 B 樹(shù)索引 (默認(rèn)類型) .............................................................
1.2.2.2 位圖索引................................................................................
1.2.2.3 HASH 索引...............................................................................
1.2.2.4 索引組織表 ............................................................................
1.2.2.5 反轉(zhuǎn)鍵索引 ............................................................................
1.2.2.6 基于函數(shù)的索引 ....................................................................
1.2.2.7 分區(qū)索引................................................................................
1.2.2.7.1.本地分區(qū)索引(通常使用的索引) ..................................
1.2.2.7.2.全局分區(qū)索引 ................................................................
1.2.2.8 位圖連接索引 ........................................................................
分區(qū)表總結(jié) ..................................................................................
1.3.1. 分區(qū)表理論知識(shí) ................................................................
1.3.2 普通表轉(zhuǎn)分區(qū)表方法..........................................................
1.3.2.1 插入: Insert with a subquery method ................................
1.3.2.1.1 Oracle 11g 的 Interval ..................................................
1.3.2.1.2 Oracle 10g 版本 ..........................................................
1.3.2.2 交換分區(qū):Partition exchange method ................................
1.3.2.3 使用在線重定義:DBMS_REDEFINITION ..............................
1.3.2.4 使用導(dǎo)出導(dǎo)入 ........................................................................
1.3.2.4.1 遷移分區(qū)表的步驟 .......................................................
1.3.2.4.2 示例 1:使用 exp/imp ..................................................
1.3.2.4.3 示例 2:使用 expdp/impdp ..........................................
1.3.3 分區(qū)表的其他操作..............................................................
1.3.3.1 添加新的分區(qū) ........................................................................
1.3.3.2 split 分區(qū)拆分 ........................................................................
1.3.3.3 合并分區(qū) Merge ....................................................................
1.3.3.4 移動(dòng)分區(qū)................................................................................
1.3.3.5 Truncate分區(qū) ..........................................................................
1.3.3.6 Drop 分區(qū) .............................................
1.3.4 分區(qū)表的索引 ....................................
1.3.4.4.1 Local 本地索引 ...........................
1.3.4.4.2 Global 索引 ..................................
1.3.4.4.3 索引重建問(wèn)題 ............................
1.3.5 Oracle 11g 中的分區(qū)表 ......................
1.3.5.1 11g中的分區(qū)表新特性 .......................
1.3.5.1.1 Interval Partitioning .....................
1.3.5.1.2 System Partitioning ......................
1.3.5.1.4 Virtual Column-Based Partitioning....................................................
1.3.5.2 11g 虛擬列實(shí)現(xiàn) 按星期分區(qū)表 ..........................................................
1.3.5.3 Interval 分區(qū) 示例 ................................................................................
1.3.5.3.1 創(chuàng)建按月分區(qū)的分區(qū)表 ..................................................................
1.3.5.3.2 創(chuàng)建一個(gè)以天為間隔的分區(qū)表 .......................................................
1.4 ORACLE 鎖 .....................................................................................................
1.4.1 鎖(Lock) .........................................................................................
1.4.1.1 鎖的概念..................................................................................................
1.4.1.2 鎖的分類..................................................................................................
1.4.1.2.1. 按用戶與系統(tǒng)劃分,可以分為自動(dòng)鎖與顯示鎖 .........................
1.4.1.2.2. 按鎖級(jí)別劃分,可分為: 排它鎖(Exclusive Locks,即 X 鎖)和
即 S鎖) .........................................................................................................
1.4.1.2.3 按操作劃分,可分為 DML 鎖(data locks,數(shù)據(jù)鎖)、DDL 鎖(
和 System Locks。 ..........................................................................................
1.4.1.2.4 DML 鎖 ...........................................................................................
1.4.1.2.5 DDL 鎖(dictionary locks) ...........................................................
1.4.1.2.6 System Locks ..................................................................................
1.4.2 死鎖 ....................................................................................................
1.4.3 鎖 和 阻塞 ........................................................................................
1.4.3.1 相關(guān)概念..................................................................................................
1.4.3.2 引起阻塞的幾種常見(jiàn)情況 ......................................................................
1.4.3.2.1 DML 語(yǔ)句 ......................................................................................
1.4.3.2.2 外鍵沒(méi)有創(chuàng)建索引 .......................................................................
1.4.4 Latch 說(shuō)明 ...........................................................................................
1.4.4.1 Latch ......................................................................................................
1.4.4.2 有關(guān) SPin 的說(shuō)明 ..................................................................................
1.4.4.3 進(jìn)程獲取Latch 的過(guò)程 .........................................................................
1.4.4.4 Latch 和 Lock ........................................................................................
1.4.4.5 Latch 爭(zhēng)用 ............................................................................................
1.4.4.5.1 共享池中的 Latch爭(zhēng)用 ...................................................................
1.4.4.5.2 數(shù)據(jù)緩沖池 Latch爭(zhēng)用 ...................................................................
1.4.4.6 熱塊產(chǎn)生的原因 ....................................................................................
1.4.4.6.1 表數(shù)據(jù)塊 .........................................................................................
1.4.4.6.2 索引數(shù)據(jù)塊 .....................................................................................
1.4.4.6.3 索引根數(shù)據(jù)塊 .................................................................................
1.4.4.6.4 段頭數(shù)據(jù)塊 ....................................................................................
1.4.4.7 檢查L(zhǎng)atch 的相關(guān) SQL
1.4.4.7.1 查看造成 LATCH BUFFER CACHE CHAINS等待事件的熱快
1.4.4.7.2 查詢當(dāng)前數(shù)據(jù)庫(kù)最繁忙的 Buffer,TCH(Touch)表示訪問(wèn)次數(shù)越高,熱點(diǎn)快競(jìng)爭(zhēng)問(wèn)題就存在
1.4.4.7.3 查詢當(dāng)前數(shù)據(jù)庫(kù)最繁忙的 Buffer,結(jié)合 dba_extents 查詢得到這些熱點(diǎn) Buffer 來(lái)自哪些對(duì)象
1.4.4.7.4 如果在 Top 5 中發(fā)現(xiàn) latch free熱點(diǎn)塊事件時(shí),可以從 V$latch_children 中查詢具體的