




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料以及數(shù)據(jù)庫內(nèi)存結(jié)構(gòu)拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料DDL(數(shù)據(jù)定義語言)DML(數(shù)據(jù)操縱語言)拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料修改Oracle數(shù)據(jù)字典所執(zhí)行的語句。它們是創(chuàng)建表、增加用戶、刪除表中的列、創(chuàng)建觸發(fā)器等的語句例如: CREATE TABLE、CREATE USER、CREATE PACKAGE、ALTER TABLE、CREATE PROCEDURE拓明科技Oracle數(shù)據(jù)庫內(nèi)
2、部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料訪問和修改數(shù)據(jù)庫中數(shù)據(jù)所執(zhí)行的語句。這些語句包括SELECT、INSERT、MERGE、UPDATE和DELETE命令拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle執(zhí)行一條語句從開始到結(jié)束經(jīng)過4個(gè)步驟:分析 對(duì)提交的語句進(jìn)行語法和語義檢查優(yōu)化 生成一個(gè)可在數(shù)據(jù)庫中用來執(zhí)行語句的最佳計(jì)劃行資源生成 為會(huì)話取得最佳計(jì)劃和建立執(zhí)行計(jì)劃語句執(zhí)行 完成實(shí)際執(zhí)行查詢的行資源生成步驟的輸出拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料語法分析查詢是不是合法的語句語義分析如果是合法的語句,還需要檢查是否具有訪問權(quán)限
3、、訪問的列是否在所訪問的表中、是否存在歧義共享池檢查如果是DML語句還需要進(jìn)行共享池檢查,此語句是否已經(jīng)被其他用戶分析過且Oracle可重用已經(jīng)執(zhí)行的工作,如果是就進(jìn)行軟分析,如果不是就進(jìn)行硬分析。DDL總是硬分析,從不重用拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料共享池概念是Oracle體系結(jié)構(gòu)的一個(gè)關(guān)鍵成分。共享池是Oracle共享全局區(qū)(SGA)中的一塊內(nèi)存,其中庫高速緩存區(qū)存放以前執(zhí)行過的SQL語句、PL/SQL代碼,數(shù)據(jù)字典高速緩存區(qū)存放字典信息硬分析軟分析拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料分析查詢檢查語法驗(yàn)證語義計(jì)算散列值
4、找到一個(gè)匹配驗(yàn)證存在一個(gè)與我們的查詢完全相同的查詢(引用相同的對(duì)象)確認(rèn)我們具有訪問所有引用對(duì)象的必須的權(quán)限驗(yàn)證語句在相同的環(huán)境中執(zhí)行如果是軟分析就直接跳過下面的優(yōu)化和行資源生成這一重要步驟拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料所有DML語句第一次提交給Oracle時(shí),在它們的生存期中至少要優(yōu)化一次。優(yōu)化發(fā)生在硬分析中。語句義上和語法上完全相同,且執(zhí)行環(huán)境也相同的語句的執(zhí)行可以利用以前硬分析的工作。在此情形下,對(duì)它們進(jìn)行軟分析。硬分析包括查詢優(yōu)化步驟。這是一種費(fèi)勁的、CPU密集型的處理過程,所花的時(shí)間可能比語句的實(shí)際執(zhí)行時(shí)間還要長(zhǎng)。查詢優(yōu)化工作是要找到可能是最好的
5、執(zhí)行計(jì)劃拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料基于規(guī)則的優(yōu)化程序(RBO)這種優(yōu)化程序基于一組規(guī)則建立查詢計(jì)劃。它不考慮對(duì)象尺寸、列的基數(shù)、數(shù)據(jù)的分布、排序區(qū)尺寸以及其它因素。查詢優(yōu)化只能利用已經(jīng)編好的規(guī)則。基于成本的優(yōu)化程序(CBO)這種優(yōu)化程序根據(jù)收集的實(shí)際訪問數(shù)據(jù)的統(tǒng)計(jì)信息對(duì)查詢進(jìn)行優(yōu)化。在確定最合適的計(jì)劃是,它將使用行數(shù)、數(shù)據(jù)集的尺寸以及許多其他信息。CBO將生成許多(或許數(shù)千)可能的查詢計(jì)劃(解決查詢的預(yù)備途徑),并給每個(gè)查詢計(jì)劃賦予一個(gè)數(shù)值成本。采用具有最低成本的查詢計(jì)劃拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料優(yōu)化之后就是行
6、資源生成,行資源生成器是Oracle中的一個(gè)軟件,它接受優(yōu)化程序的輸出,將它格式化為實(shí)際的執(zhí)行計(jì)劃。例如:在使用SQL*PLUS中的AUTOTRACE實(shí)用程序時(shí),它打印查詢計(jì)劃拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料語句執(zhí)行的最后步驟是利用資源生成器的輸出實(shí)際執(zhí)行語句。它是DML執(zhí)行中唯一的強(qiáng)制性的步驟。可以跳過分析、優(yōu)化和行資源生成步驟。反復(fù)執(zhí)行語句。因?yàn)檫@是目前為止最高效的方法,只要有可能,我們都希望建立符合“分析一次,執(zhí)行許多次”規(guī)則的應(yīng)用程序。拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料OVERALL TOTALS FOR ALL N
7、ON-RECURSIVE STATEMENTScall count cpu elapsed disk query current rows- - - - - - - -Parse 12 0.04 0.12 0 2 0 0Execute 12 0.02 0.04 0 268 29 23Fetch 4856 0.86 0.81 0 7703 0 72673- - - - - - - -total 4880 0.93 0.98 0 7973 29 72696count:提供OCI過程的執(zhí)行次數(shù)CPU: 提供執(zhí)行CPU所花的時(shí)間單位是秒Elapsed:提供了執(zhí)行時(shí)所花的時(shí)間。單位是秒。這個(gè)參數(shù)值等于用
8、戶響應(yīng)時(shí)間Disk:提供緩存區(qū)從磁盤讀取的次數(shù)Query:以一致性模式從緩存區(qū)獲得數(shù)據(jù)的次數(shù)Current:以當(dāng)前模式從緩存區(qū)獲得數(shù)據(jù)的次數(shù)ROWs: 返回調(diào)用或執(zhí)行調(diào)用時(shí),處理的數(shù)據(jù)行的數(shù)量。拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料10:34:55 SQL select * from dept;Elapsed: 00:00:00.10Execution Plan-Plan hash value: 3383998547-| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-| 0 | SELECT
9、STATEMENT | | 4 | 120 | 3 (0)| 00:00:01 | 1 | TABLE ACCESS FULL| DEPT | 4 | 120 | 3 (0)| 00:00:01 |-Note- - dynamic sampling used for this statement (level=2)Statistics- 279 recursive calls 0 db block gets 58 consistent gets 8 physical reads 0 redo size 1630 bytes sent via SQL*Net to client 524 byte
10、s received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 4 rows processed拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料10:35:00 SQL /Elapsed: 00:00:00.02Execution Plan-Plan hash value: 3383998547-| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-| 0 | SEL
11、ECT STATEMENT | | 4 | 120 | 3 (0)| 00:00:01 | 1 | TABLE ACCESS FULL| DEPT | 4 | 120 | 3 (0)| 00:00:01 |-Note- - dynamic sampling used for this statement (level=2)Statistics- 0 recursive calls 0 db block gets 8 consistent gets 0 physical reads 0 redo size 802 bytes sent via SQL*Net to client 524 byte
12、s received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 4 rows processed拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料11:31:43 SQL l 1* select * from dept order by 1Elapsed: 00:00:00.03Execution Plan-Plan hash value: 120787663-| Id | Operation | Name | Rows | Bytes
13、 | Cost (%CPU)| Time |-| 0 | SELECT STATEMENT | | 4 | 120 | 4 (25)| 00:00:01 | 1 | SORT ORDER BY | | 4 | 120 | 4 (25)| 00:00:01 | 2 | TABLE ACCESS FULL| DEPT | 4 | 120 | 3 (0)| 00:00:01 |-Note- - dynamic sampling used for this statement (level=2)Statistics- 0 recursive calls 0 db block gets 7 consis
14、tent gets 0 physical reads 0 redo size 794 bytes sent via SQL*Net to client 524 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 4 rows processed拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料alter system flush shared_pool;alter system flush buffer_cache;
15、Elapsed: 00:00:00.20Execution Plan-Plan hash value: 120787663-| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |-| 0 | SELECT STATEMENT | | 4 | 120 | 4 (25)| 00:00:01 | 1 | SORT ORDER BY | | 4 | 120 | 4 (25)| 00:00:01 | 2 | TABLE ACCESS FULL| DEPT | 4 | 120 | 3 (0)| 00:00:01 |-Note- - dyna
16、mic sampling used for this statement (level=2)Statistics- 1195 recursive calls 0 db block gets 203 consistent gets 32 physical reads 0 redo size 794 bytes sent via SQL*Net to client 524 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 13 sorts (memory) 0 sorts (disk) 4 rows
17、 processed拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料數(shù)據(jù)庫緩沖區(qū)高速緩存共享池重做日志緩沖區(qū)Java池(Java Pool)大池(Large Pool)流池(Stream Pool)拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料 SGA共享池Java池流池庫高速緩存數(shù)據(jù)字典緩存DB CACHE SIZELog Buffer大池拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料用于存儲(chǔ) 最近執(zhí)行的SQL語句 最近使用的數(shù)據(jù)定義包括的內(nèi)存結(jié)構(gòu) 庫高速緩存 數(shù)據(jù)字典高速緩存拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)
18、據(jù)庫內(nèi)部培訓(xùn)資料庫高速緩存包括以下兩個(gè)結(jié)構(gòu): 共享SQL:共享SQL 為針對(duì)數(shù)據(jù)庫運(yùn)行的SQL 語句存儲(chǔ)并共享執(zhí)行計(jì)劃和 語法分析樹。下次運(yùn)行同一SQL 語句時(shí),這個(gè)語句就能利用共享SQL 提供的語法分析信息來加快其執(zhí)行速度。要確保SQL 語句隨時(shí)可以使用共享SQL 區(qū),文本、方案和綁定變量必須完全相同。 共享PL/SQL:共享PL/SQL 區(qū)存儲(chǔ)并共享最近執(zhí)行的PL/SQL 語句。經(jīng)過語法分析和編譯的程序單元和過程(函數(shù)、程序包和觸發(fā)器)都存儲(chǔ)在這個(gè)區(qū)中拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料數(shù)據(jù)庫中最近使用的定義的集合包括與數(shù)據(jù)庫文件、表、索引、列、用戶、權(quán)限和
19、其它數(shù)據(jù)庫對(duì)象相關(guān)的信息在語法分析階段,服務(wù)器進(jìn)程會(huì)在數(shù)據(jù)字典中查找用于解析對(duì)象名和驗(yàn)證訪問的信息將數(shù)據(jù)字典信息高速緩存到內(nèi)存中,可縮短查詢和DMLDML的響應(yīng)時(shí)間拓明科技Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料Oracle數(shù)據(jù)庫內(nèi)部培訓(xùn)資料存儲(chǔ)已從數(shù)據(jù)文件中檢索到的數(shù)據(jù)塊的副本能夠大幅提高獲取和更新數(shù)據(jù)時(shí)的性能通過LRU LRU 算法管理算法管理 處理查詢時(shí),Oracle 服務(wù)器進(jìn)程在數(shù)據(jù)庫緩沖區(qū)高速緩存中查找任何所需的塊。如果未在數(shù)據(jù)庫緩沖區(qū)高速緩存中找到這個(gè)塊,服務(wù)器進(jìn)程就從數(shù)據(jù)文件讀取這個(gè)塊,并在數(shù)據(jù)庫緩沖區(qū)高速緩存中放置一個(gè)副本。由于對(duì)同一個(gè)塊的后續(xù)請(qǐng)求可以在內(nèi)存中找到這個(gè)塊,因此這些請(qǐng)求可能不需要進(jìn)行物理讀取。拓明科技Oracl
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 保障水務(wù)項(xiàng)目質(zhì)量的措施計(jì)劃
- 臨床路徑管理與優(yōu)化總結(jié)報(bào)告計(jì)劃
- 增強(qiáng)學(xué)生愛國主義情感的工作安排計(jì)劃
- Unit3 My hometown 第2課時(shí)Reading教學(xué)設(shè)計(jì)-2024-2025學(xué)年譯林版英語七年級(jí)下冊(cè)
- 借助社交媒體進(jìn)行品牌推廣計(jì)劃
- 2025國際金融理財(cái)師考試解析試題及答案
- 啟迪智慧2024小語種證書考試試題及答案
- 小語種證書考試中的語言交際能力提升策略及試題及答案
- 北師大版必修二永遇樂 京口北固亭懷古教學(xué)設(shè)計(jì)
- 2025年銀行從業(yè)資格的技巧試題及答案
- 黃岡市2025年春季九年級(jí)調(diào)研考試語文試卷
- 國開電大軟件工程形考作業(yè)3參考答案 (一)
- 2025-2030中國汽車輪轂行業(yè)市場(chǎng)深度調(diào)研及發(fā)展趨勢(shì)與投資風(fēng)險(xiǎn)研究報(bào)告
- 育兒真經(jīng)知到課后答案智慧樹章節(jié)測(cè)試答案2025年春浙江中醫(yī)藥大學(xué)
- 建筑行業(yè)勞動(dòng)保護(hù)制度與措施
- (高清版)DB12 445-2011 天津市城市道路交通指引標(biāo)志設(shè)置規(guī)范
- 初級(jí)車工(五級(jí))技能認(rèn)定理論考試題(附答案)
- 河南省氣象部門招聘真題2024
- 2025年自考學(xué)位英語試題及答案
- 2025國家糧食和物資儲(chǔ)備局直屬和垂直管理系統(tǒng)事業(yè)單位招聘統(tǒng)一筆試自考難、易點(diǎn)模擬試卷(共500題附帶答案詳解)
- 短期資金拆借合同樣本
評(píng)論
0/150
提交評(píng)論