oracle 數(shù)據(jù)庫(kù)學(xué)習(xí) 基本結(jié)構(gòu)介紹
普及一下oracle的基礎(chǔ)知識(shí),總結(jié)一下,oracle 是由實(shí)例和數(shù)據(jù)庫(kù)組成。結(jié)構(gòu)如下:

oracle數(shù)據(jù)庫(kù)由實(shí)例、數(shù)據(jù)庫(kù)組成:
* 數(shù)據(jù)庫(kù)由數(shù)據(jù)文件(包含oracle 數(shù)據(jù)、索引、表結(jié)構(gòu)等數(shù)據(jù))、控制文件(包括每個(gè)表的操作信息)、日志文件(數(shù)據(jù)操作sql語(yǔ)句)、參數(shù)文件、口令文件、日志歸檔文件(歸檔模式下)(服務(wù)器崩潰、硬盤(pán)損壞情況下,通過(guò)日志恢復(fù)時(shí)用)
* 實(shí)例由 內(nèi)存結(jié)構(gòu)(memory strutct) 和 后臺(tái)進(jìn)程(background processor)組成。
內(nèi)存結(jié)構(gòu)組成:
* PGA: Processor Global Area 程序全局區(qū) ,每一個(gè)客戶端接入到oracle 服務(wù)器都有一個(gè)PGA,用于保存該客戶單的相關(guān)信息
* SGA: System Global Area 系統(tǒng)全局區(qū),主要是給oracle實(shí)例使用,包括 shared pool 、 data buffer area , redo log buffer .
共享池(shared pool):
* 包括library cache 、data directory cache 組成,其中 library cache 主要保存最近的sql 檢查、編譯、執(zhí)行計(jì)劃, 下次有同樣語(yǔ)句過(guò)來(lái)的時(shí)候,可以重用這些,避免重復(fù)的檢查編譯執(zhí)行計(jì)劃。 data directory cache 主要保存數(shù)據(jù)庫(kù)數(shù)據(jù)表的字段定義、索引數(shù)據(jù)等, shared pool 的大小直接影響到數(shù)據(jù)庫(kù)的性能。
data buffer area : 主要保存用戶對(duì)數(shù)據(jù)的修改,查詢操作。該內(nèi)存區(qū)域的大小直接影響數(shù)據(jù)庫(kù)的性能。
redo log buffer area: 主要保存最近用戶對(duì)數(shù)據(jù)庫(kù)的操作記錄,該大小對(duì)數(shù)據(jù)庫(kù)性能沒(méi)有多大影響
oracle 必須要的后臺(tái)進(jìn)程包括:PMON 、 SMON 、 DBWR、 LOGWR、 CKPT、其他,每個(gè)作用如下:
*PMON 監(jiān)控PGA的健康情況,釋放已經(jīng)死去的PGA,回收資源,管理PGA的生命周期
*SMON 監(jiān)控SGA的健康情況,收集SGA碎片內(nèi)存,監(jiān)控實(shí)例健康情況
*DBWR 維護(hù)data buffer area 和物理表數(shù)據(jù)的一致性
*LGWR 維護(hù)redo log buffer area 內(nèi)存數(shù)據(jù)和日志文件的一致性
*CKPT 設(shè)置檢查點(diǎn),在oracle 實(shí)例出現(xiàn)問(wèn)題的時(shí)候,可以恢復(fù)到實(shí)例失敗前的情況。
oracle 內(nèi)存結(jié)構(gòu)有 塊、區(qū)、段、表空間組成,塊是oracle 在內(nèi)存中的最小結(jié)構(gòu), 區(qū)、段、 表空間是oracle 依次向上的內(nèi)存結(jié)構(gòu)??斓奶?shù)據(jù)管理麻煩,太大,數(shù)據(jù)碎片比較多。具體情況具體分析。
表空間是oracle最大的邏輯單位,一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)庫(kù)可以包含多個(gè)表空間,但默認(rèn)包含一個(gè)system的表空間。創(chuàng)建表空間的語(yǔ)法:
CREATE TABLESPACE name
DATAFILE path [SIZE interger M|K]
LOGFILE path
[AUTOEXTEND ON | OFF]
客戶端鏈接服務(wù)器配置:
以后補(bǔ)充
相關(guān)文章
Oracle使用rownum分頁(yè)方式實(shí)例代碼
ROWNUM是一個(gè)序列,是oracle數(shù)據(jù)庫(kù)從數(shù)據(jù)文件或緩沖區(qū)中讀取數(shù)據(jù)的順序,這篇文章主要給大家介紹了關(guān)于Oracle使用rownum分頁(yè)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07
Oracle安裝過(guò)程中物理內(nèi)存檢查及臨時(shí)temp空間不足問(wèn)題解決
Oracle安裝過(guò)程物理內(nèi)存檢查及臨時(shí)temp空間不足的情況,想必有很多的朋友都有遇到過(guò)吧,下面與大家分享下具體的解決方法,感興趣的朋友可以參考下哈2013-07-07
Oracle實(shí)現(xiàn)行轉(zhuǎn)換成列的方法
這篇文章主要介紹了Oracle實(shí)現(xiàn)行轉(zhuǎn)換成列的方法,實(shí)例分析了Oracle創(chuàng)建及查詢表的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
oracle數(shù)據(jù)庫(kù)sql的優(yōu)化總結(jié)
自己對(duì)oracle sql的一些優(yōu)化總結(jié),特分享下,方便需要的朋友2013-08-08

