免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Oracle體系結(jié)構(gòu)介紹--基礎篇

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

                                      --基礎篇

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

   

 

    

 1.Summarize

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

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

2.Client

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

  2.1 User process

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

 2.2 Server process

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

 2.3 PGA

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

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

   當進程創(chuàng)建時分配

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

   只能被一個進程使用

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

3. Database

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

 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ù)據(jù)

   特點:

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

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

   3)我的數(shù)據(jù)保存在表空間上,表空間是以多個數(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),時間軸、生命線

   4)當前日志序列號

   5RMAN備份信息

   作用:

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

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

   特點:

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

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

 3.3 Redo log files

   內(nèi)容:

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

   作用:

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

   特點:

   1)大小不變

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

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

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

   5)提供恢復的手段

 3.4 Parameter file

  內(nèi)容:

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

  2)參數(shù)默認值

  3pfile:需要重啟實例和spfile

  作用:

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

  特點:

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

 3.5 Password file

  內(nèi)容:

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

  作用:

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

  特點:

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

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

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

 3.6 Archived logfiles

   內(nèi)容:

   重做日志(redo log)歷史

   作用:

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

   2)保證redo log不丟失

   特點:

   1)個數(shù)=當前日志數(shù)-1

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

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

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

 4. Instance

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

 4.1 SGA

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

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

  2)程序全局(PGA):當服務器進程生成分配。

 4.1.1 Shared Pool

 

  用于存儲:

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

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

  由兩個與性能相關的部分組成:

  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)包括兩個部分

  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)在分析階段,服務器進程查找數(shù)據(jù)字典去驗證對象的名字以及是否是合法訪問

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

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

 4.1.2 Database Buffer Cache

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

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

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

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

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

  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)主要的目的是用于恢復

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

 4.1.4 Large Pool

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

  2)用于:

  2.1RMAN備份恢復操作

  2.2I/0并行進程

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

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

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

 4.1.5 Java Pool

   1Java命令的分析

   2)如果要安裝和使用Java

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

 4.1.6 Streams Pool

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

 4.2Process structure

  Oracle有以下幾種進程:

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

  2)服務器進程:當連接到Oracle實例并且用戶建立會話的時候產(chǎn)生

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

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

  4.1)必須要有的后臺進程:DBWn、PMONCKPT、LGWR、SMON

  4.2)可選的后臺進程:ARCn、CJQn、JnnnRECO、MMANMMON、Snnn、DnnnPnnn

 4.2.1 PMON

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

1)清除失敗的進程

1.1)回滾事務

1.2)釋放鎖

1.3)釋放其他資源

1.4)重啟死掉的dispatchers

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

 4.2.2 SMON

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

1)實例恢復:

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

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

1.3)回滾沒有提交的事務

2)釋放臨時表空間(deallocated

 4.2.3 DBWR

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

1)發(fā)生檢查點

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

3)沒有自由的緩存

4)超時發(fā)生

5RACping請求(8i

6)表空間離線

7)表空間只讀

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

9)表被刪除或者截斷

 4.2.4 LGWR

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

1commit的時候

2)達到三分之一滿

3)日志的大小到1M

4)每隔三秒

5)在DBWn進程寫之前

 4.2.5 CKPT

CKPT(檢查點進程)作用:

1)給DBWn信號

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

3)更新控制文件

 4.2.6 ARCn

ARCn(歸檔進程):

1)可選的后臺進程

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

 

向Secooler致敬!

Johnson

12.4.10

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Oracle數(shù)據(jù)庫的后臺進程管理技術(shù)介紹
oracle聯(lián)機日志和歸檔日志
炎炎夏日-恩墨小王子帶你玩轉(zhuǎn)“數(shù)據(jù)衛(wèi)士”Data Guard
Oracle只有數(shù)據(jù)文件恢復數(shù)據(jù)庫
Oracle備份與恢復概述
Oracle四個重要的后臺進程(DBWR/LGWR/ARCH/CKPT)
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服