<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)系 ::  :: 管理 ::
      302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks

    一、數(shù)據(jù)庫的物理結(jié)構(gòu)

    ?

    ?

    ??? 1.數(shù)據(jù)文件(data file)

    ??? 每個數(shù)據(jù)庫有一個或多個數(shù)據(jù)文件,數(shù)據(jù)文件包含了全部數(shù)據(jù)庫的數(shù)據(jù)。邏輯數(shù)據(jù)庫結(jié)構(gòu)(如表、索引、數(shù)據(jù)字典)都存儲在數(shù)據(jù)文件中。在存取數(shù)據(jù)時,Oracle先從數(shù)據(jù)文件中讀取數(shù)據(jù)到內(nèi)存的數(shù)據(jù)緩沖區(qū)中,這樣的存取方式減少了磁盤I/O操作,提高了相應(yīng)性能。數(shù)據(jù)文件一旦建立后就不能改變大小,只能增加。

    ??? 數(shù)據(jù)文件系統(tǒng)機制包括:
    ??? Cooked 操作系統(tǒng)(OS)文件系統(tǒng)
    ??? ②原始分區(qū)(raw partitions)
    ??? ③自動存儲系統(tǒng)(Automatic Storage Management,ASM)
    ??? ④集群文件系統(tǒng)(RAC)
    ??? 本地管理的表空間:
    ??? 8.1.5版本之后使用 本地管理表空間(local-managed tablespace),他的優(yōu)點是:無需數(shù)據(jù)字典,僅對每個數(shù)據(jù)文件中存儲的一個位圖來管理區(qū)段。目前版本已無法建立dictionary tablespace

    ?

    ??? 2.控制文件(control file)

    ??? 控制文件是一個很小的二進制文件,用于描述數(shù)據(jù)庫的物理結(jié)構(gòu)。包括:①數(shù)據(jù)庫名;②數(shù)據(jù)庫數(shù)據(jù)文件和日志文件的名字和位置;③數(shù)據(jù)庫建立日期。

    ??? 一般在安裝Oracle時自動創(chuàng)建,其存放位置由參數(shù)文件SPFILEsid.oraCONTROL_FILES參數(shù)值來確定。數(shù)據(jù)庫在使用的過程中會不斷更新控制文件。如果該文件損壞,則數(shù)據(jù)庫將無法正常工作。

    ??? Oracle10g默認安裝了3個控制文件,每個文件內(nèi)容相同,當某個文件損壞時,Oracle會自動使用另一個,以確保數(shù)據(jù)庫正常運行。
    ??? 可查詢 V$CONTROLFILE 來獲得控制文件信息。

    ?

    ??? 3.重做日志文件(redo log file)

    ??? 重做日志文件用于記錄對數(shù)據(jù)庫的修改信息,包括數(shù)據(jù)的修改以及數(shù)據(jù)庫結(jié)構(gòu)的修改。查詢信息不會被記錄在日志中。為了防止日志文件本身的故障,ORACLE允許鏡象日志(mirrored redo log),以致可在不同磁盤上維護兩個或多個日志副本。日志文件中的信息僅在系統(tǒng)故障或介質(zhì)故障恢復數(shù)據(jù)庫時使用,這些故障阻止將數(shù)據(jù)庫數(shù)據(jù)寫入到數(shù)據(jù)庫的數(shù)據(jù)文件。然而任何丟失的數(shù)據(jù)在下一次數(shù)據(jù)庫打開時,ORACLE自動地應(yīng)用日志文件中的信息來恢復數(shù)據(jù)庫數(shù)據(jù)文件。

    ??? 日志工作過程中,多個日志是循環(huán)使用的,即一個日志文件組被填滿后,系統(tǒng)自動轉(zhuǎn)換到另一個日志文件組。當所有日志文件組都被填滿后,系統(tǒng)會將日志信息寫入到第一個日志組中,這時有兩個模式:歸檔模式(Archivelog)非歸檔模式(NoArchivelog),當運行在歸檔模式時,系統(tǒng)將啟用ARCH進程將要被覆蓋的日志保存到磁盤上形成歸檔日志。若使用非歸檔模式,則會覆蓋被寫入的文檔。

    ??? 查詢數(shù)據(jù)庫的日志組情況: select group#,bytes,members,status from v$log;

    ??? 查詢數(shù)據(jù)庫的日志歸檔模式: select log_mode from v_database;

    ?

    ??? 4.臨時文件(temp file)

    ??? Oracle 的臨時文件用來存儲大規(guī)模排序和散列操作的中間結(jié)果。如果 RMAN 中沒有足夠的空間,還會用臨時文件存儲全局臨時表數(shù)據(jù),或者結(jié)果集數(shù)據(jù)。

    ??? 注意: 1. 永久表和索引等不會存儲在臨時文件中,但是臨時表及其索引的內(nèi)容要存儲在臨時文件。

    ???????? 2. 臨時文件不生成 redo log ,無法重做

    ???????? 3. 不需要備份臨時數(shù)據(jù)文件,因為無法恢復

    ?

    ??? 5.密碼文件(password file)

    ??? 密碼文件是一個可選文件,允許遠程 SYSDBA 或管理員訪問數(shù)據(jù)庫。具體操作比較復雜。

    ?

    二、實例的物理結(jié)構(gòu)

    ?

    ?

    ??? 1.參數(shù)文件(parameter file)

    ??? 參數(shù)文件記錄了 Oracle 數(shù)據(jù)庫的基本參數(shù)信息,主要包括:數(shù)據(jù)庫名、控制文件路徑、進程等。
    ??? 以前的參數(shù)文件名為 init.ora ,所以又叫 init 文件,但是在 Oracle10g 中,參數(shù)文件名為 SPFILEsid.ora ,其參數(shù)由 Oracle 系統(tǒng)自動管理。 SPFILE 的改進主要消除了參數(shù)文件的兩個嚴重問題:

    ??? 1. 由于只能放在數(shù)據(jù)庫服務(wù)器上,不能放在客戶機上,所以杜絕參數(shù)文件的繁衍。
    ??? 2. 可使用 ALTER SYSTEM 命令直接寫入?yún)?shù)值,無需使用編輯器進行編輯。 ( 用戶最好不要用編輯器進行修改 )
    ??? 注:取消參數(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$ 動態(tài)視圖:例如 V$WAITSTAT V$SESSION_EVENT 等,均可反映系統(tǒng)動作

    ??? 2. 審計命令:例如 DBMS_FGA 等,可對某個表進行顆粒審計檢測

    ??? 3. 資源管理器: DBMS_RESOURCE_MANAGER ,對數(shù)據(jù)庫資源 (CPU I/O ) 實現(xiàn)微管理

    ??? 4.Oracle 事件:跟蹤診斷,在之前文章中已經(jīng)詳細介紹過

    ??? 5.DBMS_TRACE PL/SQL 引擎中的工具,全面記錄調(diào)用樹、產(chǎn)生的異常、遇到的錯誤等

    ??? 6. 觸發(fā)器:不用介紹了

    ??? 7.SQL_TRACE :即 10046 事件

    ?

    ??? 3.警告文件(alert file)

    ??? 警告文件就是數(shù)據(jù)庫的日記,是一個簡單的文本文件。記載了從數(shù)據(jù)庫創(chuàng)建到完結(jié)之間的所有包括日志開關(guān)、內(nèi)部錯誤、表空間創(chuàng)建、離線及恢復等等的所有操作信息。

    ?

    三、其他物理結(jié)構(gòu):

    ?

    ??? 1.修改跟蹤文件(change tracking file)

    ??? 修改跟蹤文件是 Oracle10g 新增的一個可選文件,唯一的目的是跟蹤上一個增量備份以來那些塊已經(jīng)修改。這樣 RMAN 就只需要備份發(fā)生變化的塊,而不必讀取整個數(shù)據(jù)庫。如果打開跟蹤功能,數(shù)據(jù)庫的任何改變都會被自動寫入到這個文件中。但是這回消耗系統(tǒng)的資源。

    ??? 可使用以下命令打開: alter database enable block change tracking;

    ?

    ??? 2.閃回日志文件(flashback log file)

    ??? 這也是 Oracle10g 的新增功能。引入 Flash Back 命令是為了加快原來很慢的時間點數(shù)據(jù)庫恢復 (point in time database recovery) 過程。具體內(nèi)容參考詳細資料。

    ?

    ??? 3.轉(zhuǎn)儲文件(dump/DMP file)

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

    ?

    ??? 4.數(shù)據(jù)泵文件(Data Pump file)

    ??? 主要是被外部表和新的導入、導出工具 (IMPDP/EXPDP) 使用。只有 10g 之后的版本有這種功能。

    ?

    ??? 5.平面文件(flat file)

    ??? 平面文件就是一些沒有格式的數(shù)據(jù)記錄文件。

    ???????

    ?

    ?

    ?





    -The End-

    posted on 2008-08-20 18:07 decode360-3 閱讀(240) 評論(1)  編輯  收藏 所屬分類: Oracle

    評論

    # re: 數(shù)據(jù)庫結(jié)構(gòu)(三) 2008-08-30 19:32 KillForDeath@hotmail.com
    呵呵 樓主也在看 ORALCE 深入數(shù)據(jù)庫體系結(jié)構(gòu)一書  回復  更多評論
      

    主站蜘蛛池模板: 免费播放美女一级毛片| 蜜臀91精品国产免费观看| 色www免费视频| 中文字幕亚洲综合小综合在线| 狠狠亚洲婷婷综合色香五月排名| 午夜无遮挡羞羞漫画免费| 99久久人妻精品免费二区| 二个人看的www免费视频| 亚洲成a人片在线不卡一二三区 | 亚洲日本天堂在线| 亚洲高清在线mv| 久热综合在线亚洲精品| 亚洲精品动漫人成3d在线 | 亚洲性无码AV中文字幕| 亚洲欧洲尹人香蕉综合| 亚洲视频在线观看免费| 亚洲中文字幕无码久久2017| 亚洲VA综合VA国产产VA中| 国产精品久久久久免费a∨| h在线观看视频免费网站| 精品无码人妻一区二区免费蜜桃| a级毛片免费全部播放| 丁香花在线观看免费观看图片| 美女被免费视频网站| 国产精品国产亚洲区艳妇糸列短篇| 亚洲天堂2016| 久久久国产亚洲精品| 亚洲kkk4444在线观看| 亚洲性线免费观看视频成熟| 亚洲电影唐人社一区二区| 久久精品国产精品亚洲毛片| 蜜芽亚洲av无码精品色午夜| 亚洲第一视频网站| 91天堂素人精品系列全集亚洲| 久久精品亚洲中文字幕无码麻豆| 亚洲国产精品国自产拍电影| 18亚洲男同志videos网站| 亚洲精品福利网站| 亚洲精品国产福利在线观看| 亚洲中文无码线在线观看| 亚洲一区二区三区国产精品无码|