<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
    主站蜘蛛池模板: 野花高清在线观看免费完整版中文| 高清免费久久午夜精品| 色欲A∨无码蜜臀AV免费播 | 国产色婷婷精品免费视频| 亚洲一区二区三区国产精华液| 中文字幕影片免费在线观看| 久久亚洲精品国产精品婷婷| 免费的一级黄色片| 国产青草亚洲香蕉精品久久| 亚洲婷婷国产精品电影人久久| 久久国产一片免费观看| 亚洲狠狠婷婷综合久久久久| 日韩精品免费在线视频| 亚洲精品中文字幕无码AV| 91黑丝国产线观看免费| 亚洲av永久中文无码精品综合 | 免费在线看v网址| 亚洲日韩AV一区二区三区四区 | 久久久久久毛片免费看| 亚洲一区精品中文字幕| 成年人免费观看视频网站| 国产亚洲精品免费| 亚洲国产精彩中文乱码AV| 免费看h片的网站| 亚洲AV一区二区三区四区| 中文亚洲成a人片在线观看| 久久免费动漫品精老司机 | 亚洲一区二区三区偷拍女厕| 亚欧日韩毛片在线看免费网站| 中文字幕亚洲男人的天堂网络| 国产精品国产免费无码专区不卡 | 久久综合亚洲鲁鲁五月天| 成人免费视频一区二区三区| 男人扒开添女人下部免费视频| 国产成人精品日本亚洲网站| 免费a级毛片高清视频不卡 | 久久亚洲精品国产精品黑人| 成年美女黄网站色大免费视频| gogo免费在线观看| 亚洲AV无码乱码在线观看代蜜桃| www亚洲一级视频com|