freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

oracle體系結(jié)構(gòu)分析-文庫吧資料

2025-07-01 22:37本頁面
  

【正文】 ,否則將導(dǎo)致塊不斷的在FREELIST移上移下,嚴(yán)重影響性能。如果行數(shù)據(jù)達(dá)到PCTFREE保留的空間,該塊從FREE LIST上撤消下來,不再接收數(shù)據(jù)。一般的8K(8192)的塊可用空間為8168PCTFREE與PCTUSED是表的兩個(gè)存取參數(shù),其實(shí)是作用在表中的塊上面的,PCTFREE與PCTUSED表示兩個(gè)百分比,默認(rèn)分別是10與40。以上3部分為塊的開銷(Block Overhead),其余部分為可用存儲空間,可以用如下查詢獲得可用空間大小。表目錄(Table directory),如果給出的話,包含著此塊中存儲各行的表的信息(多個(gè)表的數(shù)據(jù)可能保存在同一個(gè)塊中)。塊的內(nèi)部結(jié)構(gòu)與數(shù)據(jù)的存取方法都是比較復(fù)雜的,以表段的塊為例,從簡單的結(jié)構(gòu)上劃分,可以把塊的內(nèi)部劃分成如下幾個(gè)部分:公用頭,表目錄,行目錄,可存取空間等。為了保證存取的速度,它是OS數(shù)據(jù)塊的整數(shù)倍。通過DBA/ALL/USER_EXTENTS可以查詢詳細(xì)的區(qū)間信息。在一個(gè)段中可以存在多個(gè)區(qū)間,區(qū)間是為數(shù)據(jù)一次性預(yù)留的一個(gè)較大的存儲空間,直到那個(gè)區(qū)間被用滿,數(shù)據(jù)庫會繼續(xù)申請一個(gè)新的預(yù)留存儲空間,即新的區(qū)間,一直到段的最大區(qū)間數(shù)(Max Extent)或沒有可用的磁盤空間可以申請。臨時(shí)段(Temporary Segment)通過DBA/ALL/USER_SEGMENTS可以查詢詳細(xì)的段信息。索引段(Index Segment)段基本可以分為以下四種表空間和數(shù)據(jù)文件是物理存儲上的一對多的關(guān)系,表空間和段是邏輯存儲上的一對多的關(guān)系,段不直接和數(shù)據(jù)文件發(fā)生關(guān)系。 段(Segment)段是對象在數(shù)據(jù)庫中占用的空間,雖然段和數(shù)據(jù)庫對象是一一對應(yīng)的,但段是從數(shù)據(jù)庫存儲的角度來看的。本地管理的表空間有速度快,無碎片等眾多優(yōu)點(diǎn),建議用戶表空間都實(shí)現(xiàn)本地管理。在8i以前,表空間的管理類型只有一種,被稱為字典管理表空間(DMT),即在數(shù)據(jù)字典中管理表空間中的空間的分配。如圖:圖五LOGICAL STRUCTURE(tablespace)表空間是數(shù)據(jù)庫中的基本邏輯結(jié)構(gòu),一系列數(shù)據(jù)文件的集合??梢酝ㄟ^設(shè)置用戶跟蹤或dump命令來產(chǎn)生用戶跟蹤文件,一般在調(diào)試、優(yōu)化、系統(tǒng)分析中有很大的作用。user_dump_dest39。用戶跟蹤文件記載了用戶進(jìn)程出錯(cuò)時(shí)寫入的信息,一般不可能讀懂,可以通過ORACLE的TKPROF工具轉(zhuǎn)化為可以讀懂的格式。后臺跟蹤文件路徑與報(bào)警文件路徑一致,記載了系統(tǒng)后臺進(jìn)程出錯(cuò)時(shí)寫入的信息?;蛲ㄟ^參數(shù)文件獲得其路徑。你可以通過以下SQL 找到他的路徑select value from v$parameter where name =39。報(bào)警日志文件(SID.ora)記錄數(shù)據(jù)庫啟動,關(guān)閉和一些重要的出錯(cuò)信息。密碼文件的密碼可以通過ORAPWD命令來修改。通過v$parameter視圖可以查詢當(dāng)前的參數(shù)設(shè)置。大多數(shù)參數(shù),如Db_block_size的壽命就很長,其它很多參數(shù)隨著版本的改變就被廢棄了。在9i以前,對參數(shù)文件的修改,必須重新啟動數(shù)據(jù)庫才能使參數(shù)生效,從9i開始,可以用命令來修改spfile文件的內(nèi)容了。在9i以下參數(shù)文件是一個(gè)純文本文件,可以用文本編輯器打開修改,從9i開始,多了一個(gè)叫spfile的參數(shù)文件,以二進(jìn)制方式保存。(Parameter file),因?yàn)榘姹镜牟灰粯?,其位置也可能會不一樣。其?shí),歸檔并不是一直占領(lǐng)你的磁盤空間,你可以把她備份到磁帶上,或則刪除上一次完整備份前的所有日志文件。但是在歸檔模式中,為了保存用戶的所有修改,在重做日志文件切換后和被覆蓋之間系統(tǒng)將他們另外保存成一組連續(xù)的文件系列,該文 件系列就是歸檔日志文件。(Archived files)Oracle可 以運(yùn)行在兩種模式之中,歸檔模式和不歸檔模式。在歸檔情況下,需要?dú)w檔的日志來不及歸檔,而聯(lián)機(jī)日志又需要被重新利用聯(lián)機(jī)日志組的交換過程叫做切換,需要特別注意的是,日志切換在一個(gè)優(yōu)化效果不好的數(shù)據(jù)庫中會引起臨時(shí)的“掛起”。在了解重做日志之前必須了解重做日志的兩個(gè)概念,重做日志組和重做日志組成員(Member),一個(gè)數(shù)據(jù)庫中至少要有兩個(gè)日志組文件,一組寫完后再寫另一組,即輪流寫。用戶數(shù)據(jù)文件以上各類文件分別屬于不同性質(zhì)的表空間,在以下的邏輯結(jié)構(gòu)中,將進(jìn)一步說明該類型文件的作用?;貪L數(shù)據(jù)文件按照使用上的不同,可以把數(shù)據(jù)文件分成如下幾類:控制文件信息可以從V$Controlfile中查詢獲得(Data files)數(shù)據(jù)文件的詳細(xì)信息記載在控制文件中可以通過如下方式查看數(shù)據(jù)文件SQL select name from v$datafile??刂莆募欠浅V匾模话悴捎枚鄠€(gè)鏡相復(fù)制來保護(hù)控制文件,或采用RAID來保護(hù)控制文件。備份信息等有了這些信息,Oracle就知道那些文件是數(shù)據(jù)文件,現(xiàn)在的重做日志文件是哪些,這些都是系統(tǒng)啟動和運(yùn)行的基本條件,所以他是Oracle運(yùn)行的根本。數(shù)據(jù)庫的名字,檢查點(diǎn)信息,數(shù)據(jù)庫創(chuàng)建的時(shí)間戳12:00查詢時(shí)候的SCN是N然后用戶B的更新使得系統(tǒng)的SCN變成N+1當(dāng)用戶A查詢到ID=2的記錄的時(shí)候發(fā)現(xiàn)他的SCN已經(jīng)大于查詢開始時(shí)候的SCN,他就會在回滾段數(shù)據(jù)緩沖中找到SCN=N的那條記錄,并把它返回。b. 維持?jǐn)?shù)據(jù)的一致性,當(dāng)一個(gè)查詢執(zhí)行的時(shí)候,他會先從系統(tǒng)中得到一個(gè)當(dāng)前的SCN號,在他查找數(shù)據(jù)的同時(shí),他會檢查每個(gè)數(shù)據(jù)行和他對應(yīng)的SCN號,只有那些不比他的SCN號大的行才能從對應(yīng)用戶數(shù)據(jù)文件的緩沖區(qū)內(nèi)取出,而那些大于他SCN號的行,就應(yīng)該從回滾段數(shù)據(jù)文件的緩沖中取出。 31014SCN有如下特點(diǎn):a. 查詢語句不會使SCN增加,就算是同時(shí)發(fā)生的更新,數(shù)據(jù)庫內(nèi)部對應(yīng)的SCN也是不同的。運(yùn)行以下語句可以得到系統(tǒng)SCN號SQL select max(ktuxesw * power(2, 32) + ktuxesb) s from x$ktuxe。 一個(gè)貫穿數(shù)據(jù)庫全局的概念系統(tǒng)改變號SCN(System Change Number)系統(tǒng)改變號,一個(gè)由系統(tǒng)內(nèi)部維護(hù)的序列號。共享服務(wù)進(jìn)程(MultiTreaded Server Process)一個(gè)服務(wù)進(jìn)程對應(yīng)多個(gè)用戶進(jìn)程,輪流為用戶進(jìn)程服務(wù)。 Process服務(wù)進(jìn)程的分類Oracle可以連接遠(yuǎn)程的多個(gè)數(shù)據(jù)庫,當(dāng)由于網(wǎng)絡(luò)問題,有些事物處于懸而未決的狀態(tài)。這些被復(fù)制的重做日志文件被叫做歸檔日志文件。根據(jù)初始話文件LOG_CHECKPOINT_INTERVAL、LOG_CHECKPOINT_TIMEOUT、FAST_START_IO_TARGET 的設(shè)置的數(shù)值來確定在日志切換的時(shí)候CKPT會更新數(shù)據(jù)文件/控制文件的頭信息。如PMON將回滾未提交的工作,釋放鎖,釋放分配給失敗進(jìn)程的SGA資源。縮減回滾段OPS中失敗節(jié)點(diǎn)的實(shí)例恢復(fù)聚結(jié)空閑空間清除臨時(shí)空間超時(shí)有1/3 重做日志緩沖區(qū)未被寫入磁盤LGWR 工作的主要條件如下這個(gè)重做日志可以類似的認(rèn)為是以下的一個(gè)結(jié)構(gòu):SCN=000000001000數(shù)據(jù)塊ID對象ID=0801數(shù)據(jù)行=02修改后的數(shù)據(jù)=0011提交的時(shí)候,LGWR必須將被修改的數(shù)據(jù)的重做日志緩沖區(qū)內(nèi)數(shù)據(jù)寫入日志數(shù)據(jù)文件,然后再通知前臺進(jìn)程提交成功,并由前臺進(jìn)程通知用戶。CKPT 進(jìn)程觸發(fā)DBWR 等將重做日志緩沖區(qū)的數(shù)據(jù)寫入重做日志文件,LGWR是一個(gè)必須和前臺用戶進(jìn)程通信的進(jìn)程。DBWR 超時(shí)至于DBWR會不會觸發(fā)LGWR和CKPT進(jìn)程,我們將在下面幾節(jié)里討論。DBWR是一個(gè)很底層的工作進(jìn)程,他批量的把緩沖區(qū)的數(shù)據(jù)寫入磁盤。DBWR會觸發(fā)CKPT 后臺進(jìn)程當(dāng)一個(gè)更新提交后,DBWR把數(shù)據(jù)寫到磁盤并返回給用戶提交完成。在Unix機(jī)器上,Oracle后臺進(jìn)程相對于操作系統(tǒng)進(jìn)程,也就是說,一個(gè)Oracle后臺進(jìn)程將啟動一個(gè)操作系統(tǒng)進(jìn)程;在Windows機(jī)器上,Oracle后臺進(jìn)程相對于操作系統(tǒng)線程,打開任務(wù)管理器,但是通過另外的工具,就可以看到包含在這里進(jìn)程中的線程。 后臺進(jìn)程 (Background process)后臺進(jìn)程是Oracle的程序,用來管理數(shù)據(jù)庫的讀寫,恢復(fù)和監(jiān)視等工作。PGA/UGA一般保存了用戶的變量、權(quán)限、堆棧、排序(Sort)空間等信息。對于專用服務(wù)器進(jìn)程,UGA在PGA中分配。 備份(Backup)——用于RMAN磁盤I/O緩存 Program Global Area(PGA)Program Global Area(PGA)是用來保存與用戶進(jìn)程相關(guān)的內(nèi)存段,PGA總是由進(jìn)程或線程在本地分配,其它進(jìn)程與線程無法訪問。 MTS——在SGA的Large Pool中分配UGA(Large Pool)大池的得名不是因?yàn)榇?,而是因?yàn)樗脕矸峙浯髩K的內(nèi)存,處理比共享池更大的內(nèi)存。該程序緩沖區(qū)就是為Java 程序保留的。所以重作日志緩沖區(qū)一般都很小,大于3M之后的重作日志緩沖區(qū)已經(jīng)沒有太大的實(shí)際意義。這些修改信息可能是DML語句,如(Insert,Update,Delete),或DDL語句,如(Create,Alter,Drop等)。由于操作系統(tǒng)尋址能力的限制,不通過特殊設(shè)置,在32位的系統(tǒng)上,在64位系統(tǒng)上,塊緩沖區(qū)高速緩存最大可以達(dá)到10G。塊緩沖區(qū)高速緩存又可以細(xì)分為以下三個(gè)部分(Default pool,Keep pool,Recycle pool)。這個(gè)緩沖區(qū)的塊基本上在兩個(gè)不同的列表中管理。也就是任何文件的數(shù)據(jù)塊都有可能被緩沖。讓他們能夠在內(nèi)存中進(jìn)行操作。數(shù)據(jù)字典緩沖區(qū)(Data Dictionary Cache)顯而易見,數(shù)據(jù)字典緩沖區(qū)是ORACLE特地為數(shù)據(jù)字典準(zhǔn)備的一塊緩沖池,供ORACLE內(nèi)部使用,沒有什么可以說的。COUNT(*)243Elapsed: 00:00:從兩句SQL 的時(shí)間差上可以看出該SQL 的Parse 時(shí)間約為00:00:對于保存在共享池中的SQL語句,可以從V$Sqltext、v$Sqlarea中查詢到,對于編程者來說,要盡量提高語句的重用率,減少語句的分析時(shí)間。System altered.清空Share_pool,保留Data bufferSQL select count(*) from usertable。下面舉例說明parse的時(shí)間SQLStartupSQL select count(*) from usert
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1