<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Decode360's Blog

    業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
      397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
    數(shù)據(jù)庫結(jié)構(gòu)(三).物理結(jié)構(gòu)
    ?
    ?
    一、數(shù)據(jù)庫的物理結(jié)構(gòu):
    ?
    1.數(shù)據(jù)文件(data file)?
    ??? 每個(gè)數(shù)據(jù)庫有一個(gè)或多個(gè)數(shù)據(jù)文件,數(shù)據(jù)文件包含了全部數(shù)據(jù)庫的數(shù)據(jù)。邏輯數(shù)據(jù)庫結(jié)構(gòu)(如表、索引、數(shù)據(jù)字典)都存儲在數(shù)據(jù)文件中。在存取數(shù)據(jù)時(shí),Oracle先從數(shù)據(jù)文件中讀取數(shù)據(jù)到內(nèi)存的數(shù)據(jù)緩沖區(qū)中,這樣的存取方式減少了磁盤I/O操作,提高了相應(yīng)性能。數(shù)據(jù)文件一旦建立后就不能改變大小,只能增加。
    ?
    ??? 數(shù)據(jù)文件系統(tǒng)機(jī)制包括:
    ??? ①“Cooked”操作系統(tǒng)(OS)文件系統(tǒng)
    ??? ②原始分區(qū)(raw partitions)
    ??? ③自動(dòng)存儲系統(tǒng)(Automatic Storage Management,ASM)
    ??? ④集群文件系統(tǒng)(RAC)

    ??? 本地管理的表空間:
    ??? 8.1.5版本之后使用本地管理表空間(local-managed tablespace)。它的優(yōu)點(diǎn)是:無需數(shù)據(jù)字典,僅對每個(gè)數(shù)據(jù)文件中存儲的一個(gè)位圖來管理區(qū)段。目前版本已無法建立dictionary tablespace
    ?
    2.控制文件(control file)?
    ??? 控制文件是一個(gè)很小的二進(jìn)制文件,用于描述數(shù)據(jù)庫的物理結(jié)構(gòu)。包括:①數(shù)據(jù)庫名;②數(shù)據(jù)庫數(shù)據(jù)文件和日志文件的名字和位置;③數(shù)據(jù)庫建立日期。
    ?
    ??? 一般在安裝Oracle時(shí)自動(dòng)創(chuàng)建,其存放位置由參數(shù)文件SPFILEsid.ora的CONTROL_FILES參數(shù)值來確定。數(shù)據(jù)庫在使用的過程中會不斷更新控制文件。如果該文件損壞,則數(shù)據(jù)庫將無法正常工作。
    ?
    ??? Oracle10g默認(rèn)安裝了3個(gè)控制文件,每個(gè)文件內(nèi)容相同,當(dāng)某個(gè)文件損壞時(shí),Oracle會自動(dòng)使用另一個(gè),以確保數(shù)據(jù)庫正常運(yùn)行。
    ??? 可查詢V$CONTROLFILE來獲得控制文件信息。
    ?
    3.重做日志文件(redo log file)?

    ??? 重做日志文件用于記錄對數(shù)據(jù)庫的修改信息,包括數(shù)據(jù)的修改以及數(shù)據(jù)庫結(jié)構(gòu)的修改。查詢信息不會被記錄在日志中。為了防止日志文件本身的故障,ORACLE允許鏡象日志(mirrored redo log),以致可在不同磁盤上維護(hù)兩個(gè)或多個(gè)日志副本。日志文件中的信息僅在系統(tǒng)故障或介質(zhì)故障恢復(fù)數(shù)據(jù)庫時(shí)使用,這些故障阻止將數(shù)據(jù)庫數(shù)據(jù)寫入到數(shù)據(jù)庫的數(shù)據(jù)文件。然而任何丟失的數(shù)據(jù)在下一次數(shù)據(jù)庫打開時(shí),ORACLE自動(dòng)地應(yīng)用日志文件中的信息來恢復(fù)數(shù)據(jù)庫數(shù)據(jù)文件。
    ?
    ??? 日志工作過程中,多個(gè)日志是循環(huán)使用的,即一個(gè)日志文件組被填滿后,系統(tǒng)自動(dòng)轉(zhuǎn)換到另一個(gè)日志文件組。當(dāng)所有日志文件組都被填滿后,系統(tǒng)會將日志信息寫入到第一個(gè)日志組中,這時(shí)有兩個(gè)模式:歸檔模式(Archivelog)和非歸檔模式(NoArchivelog),當(dāng)運(yùn)行在歸檔模式時(shí),系統(tǒng)將啟用ARCH進(jìn)程將要被覆蓋的日志保存到磁盤上形成歸檔日志。若使用非歸檔模式,則會覆蓋被寫入的文檔。
    ?
    ??? 查詢數(shù)據(jù)庫的日志組情況:select group#,bytes,members,status from v$log;
    ?
    ??? 查詢數(shù)據(jù)庫的日志歸檔模式:select log_mode from v_database;
    ?
    4.臨時(shí)文件(temp file)?

    ??? Oracle的臨時(shí)文件用來存儲大規(guī)模排序和散列操作的中間結(jié)果。如果RMAN中沒有足夠的空間,還會用臨時(shí)文件存儲全局臨時(shí)表數(shù)據(jù),或者結(jié)果集數(shù)據(jù)。
    ?
    ??? 注意:
    ??? 1.永久表和索引等不會存儲在臨時(shí)文件中,但是臨時(shí)表及其索引的內(nèi)容要存儲在臨時(shí)文件。
    ??? 2.臨時(shí)文件不生成redo log,無法重做
    ??? 3.不需要備份臨時(shí)數(shù)據(jù)文件,因?yàn)闊o法恢復(fù)
    ?
    5.密碼文件(password file)?

    ??? 密碼文件是一個(gè)可選文件,允許遠(yuǎn)程SYSDBA或管理員訪問數(shù)據(jù)庫。具體操作比較復(fù)雜。
    ?
    ?
    ?
    二、實(shí)例的物理結(jié)構(gòu) :
    ?
    1.參數(shù)文件(parameter file)?

    ??? 參數(shù)文件記錄了Oracle數(shù)據(jù)庫的基本參數(shù)信息,主要包括:數(shù)據(jù)庫名、控制文件路徑、進(jìn)程等。
    ??? 以前的參數(shù)文件名為init.ora,所以又叫init文件,但是在Oracle10g中,參數(shù)文件名為SPFILEsid.ora,其參數(shù)由Oracle系統(tǒng)自動(dòng)管理。SPFILE的改進(jìn)主要消除了參數(shù)文件的兩個(gè)嚴(yán)重問題:
    ?
    ??? 1.由于只能放在數(shù)據(jù)庫服務(wù)器上,不能放在客戶機(jī)上,所以杜絕參數(shù)文件的繁衍。
    ??? 2.可使用ALTER SYSTEM命令直接寫入?yún)?shù)值,無需使用編輯器進(jìn)行編輯。(用戶最好不要用編輯器進(jìn)行修改)
    ??? 注:取消參數(shù)設(shè)置:alter system reset sort_area_size scope=spfile sid='*'
    ?
    2.跟蹤文件(trace file)?

    ??? 跟蹤文件能夠提供調(diào)試信息,需要設(shè)置參數(shù)SQL_TRACE=TRUE
    ??? 數(shù)據(jù)庫的測量性可以使用以下方法:
    ??? 1.V$動(dòng)態(tài)視圖:例如V$WAITSTAT、V$SESSION_EVENT等,均可反映系統(tǒng)動(dòng)作
    ??? 2.審計(jì)命令:例如DBMS_FGA等,可對某個(gè)表進(jìn)行顆粒審計(jì)檢測
    ??? 3.資源管理器:DBMS_RESOURCE_MANAGER,對數(shù)據(jù)庫資源(CPU、I/O等)實(shí)現(xiàn)微管理
    ??? 4.Oracle事件:跟蹤診斷,在之前文章中已經(jīng)詳細(xì)介紹過
    ??? 5.DBMS_TRACE:PL/SQL引擎中的工具,全面記錄調(diào)用樹、產(chǎn)生的異常、遇到的錯(cuò)誤等
    ??? 6.觸發(fā)器:不用介紹了
    ??? 7.SQL_TRACE:即10046事件
    ?
    3.警告文件(alert file)?

    ??? 警告文件就是數(shù)據(jù)庫的日記,是一個(gè)簡單的文本文件。記載了從數(shù)據(jù)庫創(chuàng)建到完結(jié)之間的所有包括日志開關(guān)、內(nèi)部錯(cuò)誤、表空間創(chuàng)建、離線及恢復(fù)等等的所有操作信息。
    ?
    ?
    三、其他物理結(jié)構(gòu):
    ?
    1.修改跟蹤文件(change tracking file)?

    ??? 修改跟蹤文件是Oracle10g新增的一個(gè)可選文件,唯一的目的是跟蹤上一個(gè)增量備份以來那些塊已經(jīng)修改。這樣RMAN就只需要備份發(fā)生變化的塊,而不必讀取整個(gè)數(shù)據(jù)庫。如果打開跟蹤功能,數(shù)據(jù)庫的任何改變都會被自動(dòng)寫入到這個(gè)文件中。但是這回消耗系統(tǒng)的資源。
    ?
    ??? 可使用以下命令打開:alter database enable block change tracking;
    ?
    2.閃回日志文件(flashback log file)?

    ??? 這也是Oracle10g的新增功能。引入Flash Back命令是為了加快原來很慢的時(shí)間點(diǎn)數(shù)據(jù)庫恢復(fù)(point in time database recovery)過程。具體內(nèi)容參考詳細(xì)資料。
    ?
    3.轉(zhuǎn)儲文件(dump/DMP file)?

    ??? 使用導(dǎo)出工具創(chuàng)建的獨(dú)立的DMP文件,其中包括了所有必要的元數(shù)據(jù)(create和alter語句形式),可能還有數(shù)據(jù)本身,可以用于重新創(chuàng)建表、模式、甚至整個(gè)數(shù)據(jù)庫。而導(dǎo)入工具的作用就是讀取這些DMP文件,執(zhí)行其DDL語句,并加載其數(shù)據(jù)。
    ?
    4.數(shù)據(jù)泵文件(Data Pump file)?

    ??? 主要是被外部表和新的導(dǎo)入、導(dǎo)出工具(IMPDP/EXPDP)使用。只有10g之后的版本有這種功能。
    ?
    5.平面文件(flat file)?
    ??? 平面文件就是一些沒有格式的數(shù)據(jù)記錄文件。
    ?
    ?
    posted on 2008-08-20 19:37 decode360 閱讀(705) 評論(0)  編輯  收藏 所屬分類: 08.DBA
    主站蜘蛛池模板: 国产无遮挡无码视频免费软件| 波多野结衣中文字幕免费视频| 亚洲无删减国产精品一区| 和日本免费不卡在线v| 曰批免费视频播放免费| 91亚洲国产在人线播放午夜 | 国产av无码专区亚洲av毛片搜| 久久亚洲精品无码观看不卡| 91精品成人免费国产片| 日本一区二区在线免费观看 | 亚洲国产V高清在线观看| 无码囯产精品一区二区免费| 亚洲精品国产av成拍色拍| 国产日韩亚洲大尺度高清| 色吊丝永久在线观看最新免费| 成人自慰女黄网站免费大全| 久久亚洲国产最新网站| 精品亚洲综合在线第一区| 永久免费无码网站在线观看| 95免费观看体验区视频| 免费人成大片在线观看播放电影| 亚洲精品乱码久久久久久下载| 精品视频免费在线| 色婷婷亚洲十月十月色天| 亚洲JIZZJIZZ中国少妇中文| 免费看黄视频网站| 国产一区二区免费视频| 男女作爱免费网站| 午夜在线a亚洲v天堂网2019| 久久久久亚洲AV无码专区首| 亚洲av无码专区在线观看素人| 91视频国产免费| 免费国产黄网站在线观看可以下载 | 亚洲一区二区在线免费观看| 亚洲国产成人五月综合网 | 亚洲国产精品无码观看久久| 亚洲视频一区调教| 亚洲乱码日产一区三区| 亚洲国产精品日韩| 免费看男女下面日出水视频| 女人被弄到高潮的免费视频|