先說(shuō)一下數(shù)據(jù)庫(kù)的兩個(gè)基本概念:
創(chuàng)新互聯(lián)是一家專業(yè)提供郫都企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站制作、H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為郫都眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。數(shù)據(jù)庫(kù)和實(shí)例關(guān)系:一個(gè)實(shí)例只能裝載一個(gè)數(shù)據(jù)庫(kù),而在非集群的情況下,一個(gè)數(shù)據(jù)庫(kù)也是被一個(gè)實(shí)例裝載(mount);集群環(huán)境下則可以由多個(gè)實(shí)例裝載一個(gè)數(shù)據(jù)庫(kù)
下面說(shuō)一下SGA:
共享池(shared pool):我們數(shù)據(jù)字典高速緩存和庫(kù)高速緩存。知道,SQL、PL/SQL在執(zhí)行的時(shí)候,都會(huì)進(jìn)行語(yǔ)法校驗(yàn)與語(yǔ)法分析、編譯,尤其是SQL語(yǔ)句還有優(yōu)化器進(jìn)行優(yōu)化,這些都需要耗費(fèi)時(shí)間來(lái)處理,所以為了提高性能,ORACLE會(huì)把編譯完成的SQL語(yǔ)句緩存起來(lái),下次再執(zhí)行相同的SQL時(shí),就不用再執(zhí)行這些流程。這些編譯好的SQL、PL/SQL放在哪呢?就放在共享池里,更具體來(lái)說(shuō)是放在共享池里的庫(kù)高速緩存里面,這是一個(gè)隊(duì)列,最近使用的SQL放在隊(duì)首,長(zhǎng)時(shí)間沒(méi)有使用的SQL放在隊(duì)尾,當(dāng)緩存達(dá)到大值時(shí),隊(duì)尾的SQL會(huì)被清除掉以存放最新的SQL。數(shù)據(jù)字典高速緩存,里面存放的是SQL語(yǔ)句執(zhí)行時(shí)的相關(guān)數(shù)據(jù)文件、表、索引、列、用戶、其他的數(shù)據(jù)對(duì)象的定義和權(quán)限信息。
注:共享池的大小嚴(yán)重影響性能,太大或太小都會(huì)造成嚴(yán)重的性能問(wèn)題。如果SQL里不使用綁定變量,那么SQL不會(huì)被重用,切記切記。
數(shù)據(jù)緩沖區(qū)(block buffer cache):或者叫塊緩沖區(qū),現(xiàn)在計(jì)算機(jī)的性能瓶頸其實(shí)一直卡在IO上面,磁盤IO速度永遠(yuǎn)跟不上CPU的計(jì)算速度。由于磁盤IO是計(jì)算機(jī)最慢的部分,所以為了提高性能,就必須減少IO操作。數(shù)據(jù)緩沖區(qū)就是起這樣的作用,它將最近從數(shù)據(jù)文件(data file)里讀取的數(shù)據(jù)放入到數(shù)據(jù)緩沖區(qū)里面,這樣當(dāng)用戶查詢數(shù)據(jù)的時(shí)候,oracle會(huì)先從緩沖區(qū)里面查找,如果有該請(qǐng)求所需要的數(shù)據(jù),就直接從緩沖區(qū)里返回給用戶(要知道內(nèi)存的速度比磁盤可快好幾個(gè)數(shù)量級(jí)的),這就叫做緩存命中(Cache Hit),這樣就減少了IO次數(shù);如果沒(méi)有該請(qǐng)求所需要的數(shù)據(jù),則稱之謂緩存未命中(Cache Miss),然后就從數(shù)據(jù)文件中讀取數(shù)據(jù),先放入數(shù)據(jù)庫(kù)緩沖區(qū)中,再傳送給用戶。
日志緩沖區(qū)(也就是重做日志緩沖區(qū)):重作日志記錄了數(shù)據(jù)庫(kù)對(duì)數(shù)據(jù)庫(kù)每個(gè)數(shù)據(jù)塊的更改,包括對(duì)數(shù)據(jù)的修改和對(duì)數(shù)據(jù)庫(kù)結(jié)構(gòu)的修改。當(dāng)我們對(duì)數(shù)據(jù)進(jìn)行修改時(shí),相關(guān)數(shù)據(jù)并不會(huì)馬上寫入到數(shù)據(jù)文件中,而是首先生成重做信息,并寫入日志緩沖區(qū)中,當(dāng)有以下條件時(shí),LGWR會(huì)把這個(gè)緩沖區(qū)的日志寫入到重作日志中去:
重作日志寫滿了之后,會(huì)進(jìn)行歸檔,生成歸檔日志,有了歸檔日志和重作日志,即使用數(shù)據(jù)文件丟失也可以恢復(fù)。
Large池:為了進(jìn)行大的后臺(tái)進(jìn)程操作而分配的內(nèi)存空間,主要指?jìng)浞莼謴?fù)、大型IO操作、并行查詢等。
數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu):表空間-->段-->區(qū)-->數(shù)據(jù)塊
表空間: 數(shù)據(jù)庫(kù)大的邏輯單位是表空間(tablespace),一個(gè)表空間可以由多個(gè)數(shù)據(jù)文件組成(數(shù)據(jù)文件是指.dbf文件),一個(gè)表空間可以由多個(gè)數(shù)據(jù)文件組成,但是一個(gè)數(shù)據(jù)文件只能屬于一個(gè)表空間。一個(gè)數(shù)據(jù)庫(kù)至少有一個(gè)表空間(SYSTEM表空間),它存放oracle的數(shù)據(jù)字典,表空間的大小等于構(gòu)成該表空間的所有數(shù)據(jù)文件大小之和。
段:段是構(gòu)成表空間的邏輯存儲(chǔ)結(jié)構(gòu),段由一組區(qū)組成,這些區(qū)可以分布在不同的數(shù)據(jù)文件中。按照段所存儲(chǔ)數(shù)據(jù)的特征,將段分為若干種類型,主要有數(shù)據(jù)段、索引段、回退段和臨時(shí)段。
區(qū):由連續(xù)的數(shù)據(jù)塊組成。
表空間USER_DATA在物理上由兩個(gè)數(shù)據(jù)文件user_data01.dbf和user_data02.dbf兩個(gè)數(shù)據(jù)文件組成,在邏輯上由三個(gè)段組成。data01分為兩個(gè)區(qū),data02也分為兩個(gè)區(qū),段T1由兩個(gè)區(qū)組成,分別分布在不同數(shù)據(jù)文件中,而T2和II則只有一個(gè)區(qū)組成。
數(shù)據(jù)塊:是數(shù)據(jù)庫(kù)中最小的數(shù)據(jù)存儲(chǔ)單元,一般塊的大小是當(dāng)前操作系統(tǒng)的文件系統(tǒng)塊的倍數(shù),這是oracle官方的建議,使用 show parameter db_block_size來(lái)查看塊大小。
文章標(biāo)題:oracle的一些基本概念-創(chuàng)新互聯(lián)
文章鏈接:http://m.rwnh.cn/article46/doehhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、網(wǎng)站制作、網(wǎng)站營(yíng)銷、App設(shè)計(jì)、搜索引擎優(yōu)化、網(wǎng)站內(nèi)鏈
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容