日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

Oracle数据库体系结构

發(fā)布時(shí)間:2023/12/4 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Oracle数据库体系结构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • Oracle系統(tǒng)體系結(jié)構(gòu)由三個(gè)部分組成:**實(shí)例、物理結(jié)構(gòu)和邏輯結(jié)構(gòu)**
    • 實(shí)例和物理結(jié)構(gòu)(數(shù)據(jù)庫)組成了Oracle服務(wù)器。
  • 一、實(shí)例
      • 1.1 內(nèi)存結(jié)構(gòu)
      • 1.1.1 系統(tǒng)全局區(qū)(SGA)
          • 1.1.1.1 共享池(共享儲(chǔ)存區(qū))
          • 1.1.1.2 共享池——庫緩沖區(qū)
          • 1.1.1.3 共享池——數(shù)據(jù)字典緩沖區(qū)
          • 1.1.1.4 數(shù)據(jù)塊高速緩沖區(qū)
          • 1.1.1.5 重做日志緩沖區(qū)
          • 1.1.1.6 大型池
          • 1.1.1.7 Java池
      • 1.1.2 程序全局區(qū)(PGA)
      • 1.2 進(jìn)程結(jié)構(gòu)
      • 1.2.1 用戶進(jìn)程
      • 1.2.2 服務(wù)器進(jìn)程
      • 1.2.3 后臺(tái)進(jìn)程
          • 1.2.3.1 數(shù)據(jù)庫復(fù)寫器(DBWn)
          • 1.2.3.2 日志復(fù)寫器(LGWR)
          • 1.2.3.3 系統(tǒng)監(jiān)控進(jìn)程(SMON)
          • 1.2.3.4 進(jìn)程監(jiān)控器(PMON)
          • 1.2.3.5 檢查點(diǎn)(CKPT)
          • 1.2.3.6 歸檔進(jìn)程(ARCn)(可選)
  • 二、物理結(jié)構(gòu)
      • 2.1 數(shù)據(jù)文件
      • 2.2 重做日志文件
      • 2.3 控制文件
  • 三、邏輯結(jié)構(gòu)

Oracle系統(tǒng)體系結(jié)構(gòu)由三個(gè)部分組成:實(shí)例、物理結(jié)構(gòu)和邏輯結(jié)構(gòu)

實(shí)例和物理結(jié)構(gòu)(數(shù)據(jù)庫)組成了Oracle服務(wù)器。

一、實(shí)例

也成為服務(wù)器Server,是用來訪問一個(gè)數(shù)據(jù)庫文件集的一個(gè)存儲(chǔ)結(jié)構(gòu)以及后臺(tái)進(jìn)程的集合??偸谴蜷_一個(gè)且僅打開一個(gè)數(shù)據(jù)庫,一個(gè)數(shù)據(jù)庫可以被多個(gè)實(shí)例訪問。

由內(nèi)存結(jié)構(gòu)和進(jìn)程結(jié)構(gòu)組成。

1.1 內(nèi)存結(jié)構(gòu)

內(nèi)存結(jié)構(gòu)由系統(tǒng)全局區(qū)和程序全局區(qū)構(gòu)成

1.1.1 系統(tǒng)全局區(qū)(SGA)

SGA(System Global Area):由所有服務(wù)進(jìn)程、后臺(tái)進(jìn)程共享
在實(shí)例啟動(dòng)時(shí)分配,時(shí)一組為系統(tǒng)分配的共享內(nèi)存結(jié)構(gòu)。是占用內(nèi)存最大的一個(gè)區(qū)域,也是影響數(shù)據(jù)庫性能的重要因素。

由共享池、數(shù)據(jù)塊高速緩沖區(qū)、重做日志緩沖區(qū)組成,另外有兩個(gè)可選的內(nèi)存結(jié)構(gòu):大型池、JAVA池。

1.1.1.1 共享池(共享儲(chǔ)存區(qū))

用來儲(chǔ)存最近最多執(zhí)行的SQL語句和最近最多使用的數(shù)據(jù)定義

主要由庫緩沖區(qū)和數(shù)據(jù)字典緩沖區(qū)組成

1.1.1.2 共享池——庫緩沖區(qū)

儲(chǔ)存最近使用的SQL和PL/SQL語句信息。
它能夠使普遍使用的語句能被共享。
由兩種結(jié)構(gòu)組成,其各自的大小由共享池內(nèi)部指定:

  • 共享SQL區(qū)域
  • 共享PL/SQL區(qū)域
1.1.1.3 共享池——數(shù)據(jù)字典緩沖區(qū)

使數(shù)據(jù)庫里最經(jīng)常使用的對(duì)象定義的集合。
包括數(shù)據(jù)文件名、表、索引、列、用戶權(quán)限和其他數(shù)據(jù)庫對(duì)象等信息。數(shù)據(jù)庫需要這些信息時(shí),將查找數(shù)據(jù)字典獲取關(guān)聯(lián)對(duì)象信息。
緩存數(shù)據(jù)字典信息在內(nèi)存區(qū)能提高查詢數(shù)據(jù)響應(yīng)時(shí)間。

1.1.1.4 數(shù)據(jù)塊高速緩沖區(qū)

儲(chǔ)存以前從數(shù)據(jù)文件中取出過的數(shù)據(jù)塊的拷貝信息。
通常只緩存數(shù)據(jù)庫大小的1%~2%。使用LRU(最近最少使用)算法來管理可用空間。

1.1.1.5 重做日志緩沖區(qū)

記錄數(shù)據(jù)塊的所有變化。重做項(xiàng)會(huì)被周期性分批寫到重做日志文件中,以便再數(shù)據(jù)塊恢復(fù)過程中用于恢復(fù)操作。

1.1.1.6 大型池

只配置在共享服務(wù)器環(huán)境中,能減輕共享池的負(fù)擔(dān)。

1.1.1.7 Java池

目的是為JAVA命令提供語法分析,如果安裝并使用JAVA是必須的。

1.1.2 程序全局區(qū)(PGA)

PGA(Program Global Area):由每個(gè)服務(wù)進(jìn)程、后臺(tái)進(jìn)程專有;每個(gè)進(jìn)程都有一個(gè)PGA。
當(dāng)客戶進(jìn)程訪問oracle服務(wù)器時(shí),會(huì)在oracle服務(wù)器端為用戶進(jìn)程分配相應(yīng)的服務(wù)進(jìn)程,并且為該服務(wù)進(jìn)程分配相應(yīng)的內(nèi)存空間來存放其數(shù)據(jù)和控制信息,每一個(gè)后臺(tái)進(jìn)程也需要為其分配專用的存儲(chǔ)空間。也就是PGA

1.2 進(jìn)程結(jié)構(gòu)

分別為用戶進(jìn)程、服務(wù)器進(jìn)程和后臺(tái)進(jìn)程。

1.2.1 用戶進(jìn)程

用戶進(jìn)程是要求Oracle服務(wù)器交互的一種進(jìn)程。
當(dāng)數(shù)據(jù)庫用戶要求連接到Oracle服務(wù)器時(shí)啟動(dòng),不直接和Oracle服務(wù)器連接。

1.2.2 服務(wù)器進(jìn)程

連接ORacle實(shí)例,當(dāng)用戶建立一個(gè)會(huì)話時(shí)開始啟動(dòng)。

連接和會(huì)話是兩個(gè)不同的概念。 連接是用戶進(jìn)程到實(shí)例之間的一條物理路徑;會(huì)話是實(shí)例中存在的一個(gè)邏輯實(shí)體。一條連接上可以建立0個(gè),1個(gè)或多個(gè)會(huì)話,而且各個(gè)會(huì)話單獨(dú)且獨(dú)立的。
使用connect和disconnect創(chuàng)建或結(jié)束會(huì)話

服務(wù)器進(jìn)程就是代表客戶會(huì)話完成工作的進(jìn)程。幾乎所有的工作都是由它們來做的,因此占用系統(tǒng)cpu的時(shí)間最多。

任務(wù):

  • 對(duì)sql進(jìn)行解析和執(zhí)行
  • 如果所需的數(shù)據(jù)不在sga中,則server process會(huì)去磁盤上將其讀到sga的database_buffer_cache中。
  • 把結(jié)果返回給應(yīng)用程序

可用專用服務(wù)器模式或共享服務(wù)器模式創(chuàng)建會(huì)話。

1.2.3 后臺(tái)進(jìn)程

若干個(gè)常駐內(nèi)存的操作系統(tǒng)進(jìn)程,在進(jìn)程啟動(dòng)時(shí)分配。
數(shù)據(jù)庫的物理結(jié)構(gòu)與內(nèi)存結(jié)構(gòu)之間的交互通過這些進(jìn)程完成。

1.2.3.1 數(shù)據(jù)庫復(fù)寫器(DBWn)

負(fù)責(zé)管理緩沖儲(chǔ)存區(qū)。主要任務(wù)是將緩沖區(qū)的臟數(shù)據(jù)寫入磁盤。

1.2.3.2 日志復(fù)寫器(LGWR)

負(fù)責(zé)管理日志緩沖區(qū),將上次寫入磁盤以來的全部日志緩沖區(qū)寫入磁盤上的日志文件。

1.2.3.3 系統(tǒng)監(jiān)控進(jìn)程(SMON)

該實(shí)例啟動(dòng)時(shí),執(zhí)行實(shí)例恢復(fù),還負(fù)責(zé)清理不再使用的臨時(shí)段。

1.2.3.4 進(jìn)程監(jiān)控器(PMON)

該進(jìn)程在用戶進(jìn)程出現(xiàn)故障時(shí)執(zhí)行進(jìn)程恢復(fù),負(fù)責(zé)清理內(nèi)存儲(chǔ)區(qū)和釋放該進(jìn)程所使用的資源。

1.2.3.5 檢查點(diǎn)(CKPT)
1.2.3.6 歸檔進(jìn)程(ARCn)(可選)

當(dāng)ArchiveLog模式被設(shè)置時(shí),自動(dòng)歸檔聯(lián)機(jī)重做日志文件,保存所有數(shù)據(jù)庫變化。

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

包括了數(shù)據(jù)文件、日志文件和控制文件。

2.1 數(shù)據(jù)文件

每個(gè)Oracle數(shù)據(jù)庫有一個(gè)或多個(gè)物理的數(shù)據(jù)文件。一個(gè)數(shù)據(jù)庫的數(shù)據(jù)文件包括全部數(shù)據(jù)庫數(shù)據(jù)。邏輯結(jié)構(gòu)中的一個(gè)表空間有一個(gè)或多個(gè)數(shù)據(jù)文件組成。

2.2 重做日志文件

每個(gè)數(shù)據(jù)庫有兩個(gè)或多個(gè)日志文件的組。每個(gè)日志文件組用于收集數(shù)據(jù)庫日志。
日志的主要功能是記錄對(duì)數(shù)據(jù)所做的修改,用于保護(hù)數(shù)據(jù)庫以防止故障。

2.3 控制文件

每一Oracle數(shù)據(jù)庫有一個(gè)控制文件。用于記錄數(shù)據(jù)庫的物理結(jié)構(gòu)

三、邏輯結(jié)構(gòu)

描述了數(shù)據(jù)庫的物理空間怎樣運(yùn)用,是一種層次結(jié)構(gòu)。包括表空間、段、片區(qū)、快

總結(jié)

以上是生活随笔為你收集整理的Oracle数据库体系结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。