乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Oracle體系結(jié)構(gòu)介紹--基礎(chǔ)篇

       eskimo888 2013-04-18

      Oracle體系結(jié)構(gòu)介紹

                                            --基礎(chǔ)篇

              在學(xué)習(xí)oracle中,體系結(jié)構(gòu)是重中之重,掌握的越深入越好。在實(shí)際工作遇到疑難問題,其實(shí)都可以歸結(jié)到體系結(jié)構(gòu)中來解釋,所以我們根據(jù)下面的示圖了解一下oracle體系結(jié)構(gòu)。

         

       

          

       1.Summarize

             根據(jù)示圖,便于我們記憶,示圖分三部分組成,左側(cè)User ProcessServer Process、PGA可以看做成Clinet端,上面的實(shí)例(Instance)和下面的數(shù)據(jù)庫Database)及參數(shù)文件(parameter file)、密碼文件(password file)和歸檔日志文件(archived logfiles)組成Oracle Server,所以整個(gè)示圖可以理解成一個(gè)C/S架構(gòu)。

         Oracle Server由兩個(gè)實(shí)體組成:實(shí)例(instance)與數(shù)據(jù)庫(database)。這兩個(gè)實(shí)體是獨(dú)立的,不過連接在一起。在數(shù)據(jù)庫創(chuàng)建過程中,實(shí)例首先被創(chuàng)建,然后才創(chuàng)建數(shù)據(jù)庫。在典型的單實(shí)例環(huán)境中,實(shí)例與數(shù)據(jù)庫的關(guān)系是一對一的,一個(gè)實(shí)例連接一個(gè)數(shù)據(jù)庫,實(shí)例與數(shù)據(jù)庫也可以是多對一的關(guān)系,即不同計(jì)算機(jī)上的多個(gè)實(shí)例打開共享磁盤系統(tǒng)上的一個(gè)公用數(shù)據(jù)庫。這種多對一關(guān)系被稱為實(shí)際應(yīng)用群集(Real Application Clusters,RACRAC極大提高了數(shù)據(jù)庫的性能、容錯(cuò)與可伸縮性(可能耗費(fèi)更多的存儲空間)并且是oracle網(wǎng)格(grid)概念的必備部分。

      2.Client

          Client端的作用是如何從客戶端創(chuàng)建服務(wù)器進(jìn)程與數(shù)據(jù)庫進(jìn)行交互的過程。

        2.1 User process

          用戶運(yùn)行一個(gè)應(yīng)用程序時(shí)與Oracle數(shù)據(jù)庫進(jìn)程交互(例如:sql/plus)時(shí),oracle創(chuàng)建一個(gè)用戶進(jìn)程來運(yùn)行用戶的應(yīng)用程序。

       2.2 Server process

         Server Process是用來處理連接到實(shí)例的用戶進(jìn)程(User Process)提交的請求。當(dāng)應(yīng)用程序與Oracle服務(wù)器運(yùn)行在同一臺機(jī)器上時(shí),某些用戶進(jìn)程(User Process)可以與Server Process合并為同一個(gè)進(jìn)程,即便減小系統(tǒng)開銷。從邏輯層面來講,用戶進(jìn)程必須要通過一個(gè)Server Process來同Oracle進(jìn)行通信的.(只不過有些時(shí)候在同一臺機(jī)器的時(shí)候,某些User ProcessServer Process會合并罷了)

       2.3 PGA

      PGAProgramGlobal Area)程序全局區(qū),是用戶進(jìn)程連接到數(shù)據(jù)庫并創(chuàng)建一個(gè)會話時(shí),由Oracle服務(wù)器進(jìn)程分配的專門用于當(dāng)前用戶會話的內(nèi)存區(qū),該區(qū)域是私有的。

         為每個(gè)用戶連接Oracle數(shù)據(jù)庫保留的內(nèi)存

         當(dāng)進(jìn)程創(chuàng)建時(shí)分配

         進(jìn)程結(jié)束后被釋放

         只能被一個(gè)進(jìn)程使用

         參數(shù):PGA_AGGREGATE_TARGET指定PGA的總共大小

      3. Database

       "3+3"結(jié)構(gòu),3個(gè)必要文件+3個(gè)可選文件。

       3.1 Data files

         內(nèi)容:

         1)用戶數(shù)據(jù):用戶表、DML語句可調(diào)整;

         2)數(shù)據(jù)字典數(shù)據(jù):數(shù)據(jù)字典表記錄DB結(jié)構(gòu)、只讀不可修改、DDL語句調(diào)整

         3)真實(shí)看到的文件

         作用:

         讀取數(shù)據(jù)

         特點(diǎn):

         1)至少包含一個(gè)SYSTEM表空間、DDL語言

         2)各種不同表空間數(shù)據(jù)字典信息

         3)我的數(shù)據(jù)保存在表空間上,表空間是以多個(gè)數(shù)據(jù)文件的形式體現(xiàn)的。

       3.2 Control files

         內(nèi)容:

         1DB基本信息:DBID

         2DB結(jié)構(gòu)信息

         3)最后一次同步的SCN信息

         3.1)同步:內(nèi)存區(qū)域database buffer cache的臟數(shù)據(jù)寫出磁盤

         3.2SCN:system change number),時(shí)間軸、生命線

         4)當(dāng)前日志序列號

         5RMAN備份信息

         作用:

         1)記錄數(shù)據(jù)庫基本信息

         2)記錄內(nèi)存下一些信息

         特點(diǎn):

         1)大小一般不變(固定部分、可變部分)

         2)個(gè)數(shù),一個(gè)即可,分類存放

       3.3 Redo log files

         內(nèi)容:

         按時(shí)間順序記錄著DB中的改變(redoentry條目),數(shù)據(jù)塊改變就會生成redo

         作用:

         提供數(shù)據(jù)的可恢復(fù)

         特點(diǎn):

         1)大小不變

         2)順序?qū)?/span>

         3)容量有限,循環(huán)覆寫

         4)至少兩組日志,日志成員冗余

         5)提供恢復(fù)的手段

       3.4 Parameter file

        內(nèi)容:

        1)記錄那些定制的DB參數(shù)

        2)參數(shù)默認(rèn)值

        3pfile:需要重啟實(shí)例和spfile

        作用:

        定義數(shù)據(jù)庫實(shí)例的屬性

        特點(diǎn):

        兩種類型參數(shù)的特點(diǎn)

       3.5 Password file

        內(nèi)容:

        特權(quán)身份用戶的口令

        作用:

        用于特權(quán)身份用戶登錄的驗(yàn)證

        特點(diǎn):

        1)操作系統(tǒng)、密碼認(rèn)證方式登錄數(shù)據(jù)庫

        2)特高、特權(quán)身份登錄到數(shù)據(jù)庫實(shí)例啟動數(shù)據(jù)庫,跳過了數(shù)據(jù)字典的驗(yàn)證

        3O7Oracle 7版本,啟用普通身份登錄

       3.6 Archived logfiles

         內(nèi)容:

         重做日志(redo log)歷史

         作用:

         1)長期保存日志以便恢復(fù)

         2)保證redo log不丟失

         特點(diǎn):

         1)個(gè)數(shù)=當(dāng)前日志數(shù)-1

         2)大小<=在線日志文件大小

         3)命名需要具有唯一性:序列號、RAC節(jié)點(diǎn)號

         4)離線文件可通過操作系統(tǒng)命令管理

       4. Instance

       實(shí)例由存儲結(jié)構(gòu)和進(jìn)程組成,并且只短暫存在于RAMCPU中。

       4.1 SGA

        內(nèi)存結(jié)構(gòu)包括兩個(gè)部分

        1)系統(tǒng)全局(SGA):在實(shí)例啟動時(shí)候分配,是Oracle實(shí)例的基礎(chǔ)組件。

        2)程序全局(PGA):當(dāng)服務(wù)器進(jìn)程生成分配。

       4.1.1 Shared Pool

       

        用于存儲:

        1)最近執(zhí)行的SQL語句

        2)最近使用的數(shù)據(jù)定義

        由兩個(gè)與性能相關(guān)的部分組成:

        1)庫緩存

        2)數(shù)據(jù)字典緩存

        由參數(shù)SHARED_POOL_SIZE決定大小

       4.1.1.1 Library Cache

        1.1)存儲最近使用的SQLPL/SQL語句的信息(軟解析,緩存一次多次使用)

       

        1.2)共享常用的語句

        1.3)管理上遵循LRU規(guī)則

        1.4)包括兩個(gè)部分

        1.4.1)共享SQL區(qū)

        1.4.2)共享PL/SQL區(qū)

        1.5)大小由Shared Pool的大小決定

       4.1.1.2 Data Dictionary Cache

        2.1)存儲在數(shù)據(jù)庫中最近使用的定義

        2.2)包括數(shù)據(jù)文件、表、索引、列、用戶、權(quán)限和其他的數(shù)據(jù)庫對象

        2.3)在分析階段,服務(wù)器進(jìn)程查找數(shù)據(jù)字典去驗(yàn)證對象的名字以及是否是合法訪問

        2.4)對于查詢和DML語句,如果數(shù)據(jù)字典的信息在緩存中能夠提高響應(yīng)時(shí)間

        2.5)大小由Shared Pool的大小決定

       4.1.2 Database Buffer Cache

         1)存儲從數(shù)據(jù)文件中獲得的數(shù)據(jù)塊的鏡像

         2)當(dāng)獲取和更新數(shù)據(jù)的時(shí)候能夠大幅度的提高性能

        3)管理上遵循LRU規(guī)則

         4)參數(shù)DB_BLOCK_SIZE其塊的大小

        5)包括以下獨(dú)立的子緩存:

        DB_CACHE_SIZE

        DB_KEEP_CACHE_SIZE

        DB_RECYCLE_CACHE_SIZE

         6)能夠動態(tài)的調(diào)整大小

       4.1.3 Redo Log Buffer

         1)記錄所有數(shù)據(jù)庫的塊改變

        2)主要的目的是用于恢復(fù)

         3)大小由參數(shù)LOG_BUFFER(不可動態(tài)調(diào)整)決定

       4.1.4 Large Pool

        1)是系統(tǒng)全局區(qū)中可選的一個(gè)部分

        2)用于:

        2.1RMAN備份恢復(fù)操作

        2.2I/0并行進(jìn)程

        2.3)共享服務(wù)器的會話內(nèi)存(UGA),以減輕在共享池中的負(fù)擔(dān)

        3)大小由參數(shù)LARGE_POOL_SIZE決定

        4)能夠被動態(tài)的改變大小

       4.1.5 Java Pool

         1Java命令的分析

         2)如果要安裝和使用Java

        3)大小由參數(shù)JAVA_POOL_SIZE決定,如果granule4M,默認(rèn)是24M,granule16M,默認(rèn)大小是32M

       4.1.6 Streams Pool

        流相關(guān)的數(shù)據(jù)在流池中,提高緩存效果。目前oracle較為弱化,提高采用Oracle Golden GateOGG),高級復(fù)制功能。

       4.2Process structure

        Oracle有以下幾種進(jìn)程:

        1)用戶進(jìn)程:在用戶連接數(shù)據(jù)時(shí)產(chǎn)生

        2)服務(wù)器進(jìn)程:當(dāng)連接到Oracle實(shí)例并且用戶建立會話的時(shí)候產(chǎn)生

        3)后臺進(jìn)程:Oracle實(shí)例啟動的時(shí)候產(chǎn)生

        4)維持物理和內(nèi)存之間的聯(lián)系

        4.1)必須要有的后臺進(jìn)程:DBWnPMON、CKPT、LGWR、SMON

        4.2)可選的后臺進(jìn)程:ARCnCJQn、JnnnRECO、MMAN、MMONSnnn、Dnnn、Pnnn

       4.2.1 PMON

      PMON(進(jìn)程監(jiān)測進(jìn)程):

      1)清除失敗的進(jìn)程

      1.1)回滾事務(wù)

      1.2)釋放鎖

      1.3)釋放其他資源

      1.4)重啟死掉的dispatchers

      1.5)動態(tài)注冊監(jiān)聽器

       4.2.2 SMON

      SMON(系統(tǒng)檢測進(jìn)程)作用:

      1)實(shí)例恢復(fù):

      1.1)前滾所有重做日志中的改變

      1.2)打開數(shù)據(jù)庫為了用戶能訪問

      1.3)回滾沒有提交的事務(wù)

      2)釋放臨時(shí)表空間(deallocated

       4.2.3 DBWR

      DBWn(數(shù)據(jù)庫寫進(jìn)程)寫的條件:

      1)發(fā)生檢查點(diǎn)

      2)臟緩存到達(dá)限制(1/4滿)

      3)沒有自由的緩存

      4)超時(shí)發(fā)生

      5RACping請求(8i

      6)表空間離線

      7)表空間只讀

      8)熱備份表空間開始動作

      9)表被刪除或者截?cái)?/span>

       4.2.4 LGWR

      LGWR(日志寫進(jìn)程)的條件:

      1commit的時(shí)候

      2)達(dá)到三分之一滿

      3)日志的大小到1M

      4)每隔三秒

      5)在DBWn進(jìn)程寫之前

       4.2.5 CKPT

      CKPT(檢查點(diǎn)進(jìn)程)作用:

      1)給DBWn信號

      2)更新數(shù)據(jù)文件頭

      3)更新控制文件

       4.2.6 ARCn

      ARCn(歸檔進(jìn)程):

      1)可選的后臺進(jìn)程

      2)當(dāng)啟用歸檔方式后自動歸檔重做日志文件

       

      向Secooler致敬!

      Johnson

      12.4.10

        本站是提供個(gè)人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多