談笑有鴻儒,往來無白丁

          在恰當(dāng)?shù)臅r間、地點(diǎn)以恰當(dāng)?shù)姆绞奖磉_(dá)給恰當(dāng)?shù)娜?..  閱讀的時候請注意分類,佛曰我日里面是談笑文章,其他是各個分類的文章,積極的熱情投入到寫博的隊(duì)伍中來,支持blogjava做大做強(qiáng)!向dudu站長致敬>> > 我的微博敬請收聽
          oracle架構(gòu)的基礎(chǔ)知識(入門級)
          作者:佚名????來自:未知

          作者:陸陽
          ???? 學(xué)習(xí)oracle,最好首先了解Oracle的框架。這樣對Oracle有一個整體的認(rèn)識,有高屋建瓴的作用

          ???? 1、物理結(jié)構(gòu)(由控制文件、數(shù)據(jù)文件、重做日志文件、參數(shù)文件、歸檔文件、口令文件組成)
          ?
          ???? 一個數(shù)據(jù)庫中的數(shù)據(jù)存儲在磁盤上物理文件,被使用時,調(diào)入內(nèi)存。
          ??? 其中控制文件、數(shù)據(jù)文件、重做日志文件、跟蹤文件及警告日志(trace files,alert files)屬于數(shù)據(jù)庫文件;
          ??? 參數(shù)文件(parameter file)口令文件(password file)是非數(shù)據(jù)庫文件
          ?
          ???? 1.1數(shù)據(jù)文件:存儲數(shù)據(jù)的文件.數(shù)據(jù)文件典型地代表了根據(jù)他們使用的磁盤空間和數(shù)量所決定的一個Oracle數(shù)據(jù)庫的容積。
          ??? 由于性能原因,每一種類型的數(shù)據(jù)放在相應(yīng)的一個或一系列文件中,將這些文件放在不同的磁盤中。
          ?types:
          .data dictionary?? .data
          .redo data???????? .index
          .temporary data???? 等等
          ???? 1.2控制文件:包含維護(hù)和驗(yàn)證數(shù)據(jù)庫完整性的必要信息、例如,控制文件用于識別數(shù)據(jù)文件和重做日志文件,一個數(shù)據(jù)庫至少需要一個控制文件.

          控制文件內(nèi)容
          。數(shù)據(jù)庫名
          。表空間信息
          。所有數(shù)據(jù)文件的名字和位置
          。所有redo日志文件的名字和位置
          。當(dāng)前的日志序列號
          。檢查點(diǎn)信息
          。關(guān)于redo日志和歸檔的當(dāng)前狀態(tài)信息

          控制文件的使用過程
          控制文件把Oracle引導(dǎo)到數(shù)據(jù)庫文件的其它部分。啟動一個實(shí)例時,Oracle 從參數(shù)文件中讀取控制文件的名字和位置。安裝數(shù)據(jù)庫時,Oracle 打開控制文件。最終打開數(shù)據(jù)庫時,Oracle 從控制文件中讀取數(shù)據(jù)文件的列表并打開其中的每個文件。


          ??? 1.3重做日志文件:含對數(shù)據(jù)庫所做的更改記錄,這樣萬一出現(xiàn)故障可以啟用數(shù)據(jù)恢復(fù)。一個數(shù)據(jù)庫至少需要兩個重做日志文件.
          ??? 1.4 跟蹤文件及警告日志(Trace Files and Alert Files)
          ? 在instance 中運(yùn)行的每一個后臺進(jìn)程都有一個跟蹤文件(trace file)與之相連。Trace file 記載后臺進(jìn)程所遇到的重大事件的信息。

          ??? 警告日志( Alert Log)是一種特殊的跟蹤文件,每個數(shù)據(jù)庫都有一個跟蹤文件,同步記載數(shù)據(jù)庫的消息和錯誤.

          ??? 1.5參數(shù)文件:包括大量影響Oracle數(shù)據(jù)庫實(shí)例功能的設(shè)定,如以下設(shè)定:
          ?。數(shù)據(jù)庫控制文件的定位
          ?。Oracle用來緩存從磁盤上讀取的數(shù)據(jù)的內(nèi)存數(shù)量
          ?。默認(rèn)的優(yōu)化程序的選擇.
          ??
          ?? 和數(shù)據(jù)庫文件相關(guān),執(zhí)行兩個重要的功能
          1〉為數(shù)據(jù)庫指出控制文件
          2〉為數(shù)據(jù)庫指出歸檔日志的目標(biāo)


          ??? 1.6歸檔文件:是重做日志文件的脫機(jī)副本,這些副本可能對于從介質(zhì)失敗中進(jìn)行恢復(fù)很必要。

          ??? 1.7口令文件:認(rèn)證哪些用戶有權(quán)限啟動和關(guān)閉Oracle例程.


          ??? 2、邏輯結(jié)構(gòu)(表空間、段、區(qū)、塊)

          ??? 表空間:是數(shù)據(jù)庫中的基本邏輯結(jié)構(gòu),一系列數(shù)據(jù)文件的集合。
          ??? 段:是對象在數(shù)據(jù)庫中占用的空間.
          ??? 區(qū):是為數(shù)據(jù)一次性預(yù)留的一個較大的存儲空間.
          ??? 塊:ORACLE最基本的存儲單位,在建立數(shù)據(jù)庫的時候指定.


          ??? 3、內(nèi)存分配(SGA和PGA)

          ??? SGA:是用于存儲數(shù)據(jù)庫信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫進(jìn)程所共享。它包含Oracle 服務(wù)器的數(shù)據(jù)和控制信息,它是在Oracle服務(wù)器所駐留的計(jì)算機(jī)的實(shí)際內(nèi)存中得以分配,如果實(shí)際內(nèi)存不夠再往虛擬內(nèi)存中寫。

          ??? PGA:包含單個服務(wù)器進(jìn)程或單個后臺進(jìn)程的數(shù)據(jù)和控制信息,與幾個進(jìn)程共享的SGA 正相反,PGA 是只被一個進(jìn)程使用的區(qū)域,PGA 在創(chuàng)建進(jìn)程時分配,在終止進(jìn)程時回收.

          ??? 4、后臺進(jìn)程
          ?? 包括數(shù)據(jù)寫進(jìn)程(Database Writer,DBWR)、日志寫進(jìn)程(Log Writer,LGWR)、系統(tǒng)監(jiān)控(System Monitor,SMON)、進(jìn)程監(jiān)控(Process Monitor,PMON)、檢查點(diǎn)進(jìn)程(Checkpoint Process,CKPT)、歸檔進(jìn)程、服務(wù)進(jìn)程、用戶進(jìn)程)

          ??? 數(shù)據(jù)寫進(jìn)程:負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件
          ??? 日志寫進(jìn)程:將重做日志緩沖區(qū)中的更改寫入在線重做日志文件
          ??? 系統(tǒng)監(jiān)控:檢查數(shù)據(jù)庫的一致性如有必要還會在數(shù)據(jù)庫打開時啟動數(shù)據(jù)庫的恢復(fù)
          ??? 進(jìn)程監(jiān)控:負(fù)責(zé)在一個Oracle 進(jìn)程失敗時清理資源
          ??? 檢查點(diǎn)進(jìn)程:負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。該進(jìn)程在檢查點(diǎn)出現(xiàn)時,對全部數(shù)據(jù)文件的標(biāo)題進(jìn)行修改,指示該檢查點(diǎn)。在通常的情況下,該任務(wù)由LGWR執(zhí)行。然而,如果檢查點(diǎn)明顯地降低系統(tǒng)性能時,可使CKPT進(jìn)程運(yùn)行,將原來由LGWR進(jìn)程執(zhí)行的檢查點(diǎn)的工作分離出來,
          由CKPT進(jìn)程實(shí)現(xiàn)。對于許多應(yīng)用情況,CKPT進(jìn)程是不必要的。只有當(dāng)數(shù)據(jù)庫有許多數(shù)據(jù)文件,LGWR在檢查點(diǎn)時明顯地降低性能才使CKPT運(yùn)行。CKPT進(jìn)程不將塊寫入磁盤,該工作是由DBWR完成的。 init.ora文件中 CHECKPOINT_PROCESS 參數(shù)控制CKPT進(jìn)程的使能或使不能。缺省時為FALSE,即為使不能。

          ??? 歸檔進(jìn)程:在每次日志切換時把已滿的日志組進(jìn)行備份或歸檔
          ??? 服務(wù)進(jìn)程:用戶進(jìn)程服務(wù)。
          ??? 用戶進(jìn)程:在客戶端,負(fù)責(zé)將用戶的SQL語句傳遞給服務(wù)進(jìn)程,并從服務(wù)器段拿回查詢數(shù)據(jù)。

          ??? 5、SCN(System ChangeNumber):系統(tǒng)改變號,一個由系統(tǒng)內(nèi)部維護(hù)的序列號。當(dāng)系統(tǒng)需要更新的時候自動增加,他是系統(tǒng)中維持?jǐn)?shù)據(jù)的一致性和順序恢復(fù)的重要標(biāo)志。

          引來自:http://www.javafan.net/article/20060916101703595.html
          posted on 2006-09-20 08:42 壞男孩 閱讀(343) 評論(0)  編輯  收藏 所屬分類: ORACLE篇章
          主站蜘蛛池模板: 三河市| 葵青区| 凤山市| 商城县| 南通市| 伊春市| 赤城县| 大英县| 临漳县| 长岭县| 宜昌市| 花莲县| 高阳县| 沂水县| 石屏县| 哈尔滨市| 惠来县| 巴林左旗| 府谷县| 司法| 白城市| 杭锦旗| 东辽县| 五河县| 民县| 洪湖市| 大渡口区| 康定县| 潢川县| 额济纳旗| 乐东| 拉孜县| 彭泽县| 于都县| 策勒县| 荣成市| 库尔勒市| 庆云县| 永靖县| 桐庐县| 乌兰县|