這篇文章主要講解了“Oracle基礎知識點總結”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Oracle基礎知識點總結”吧!
公司主營業(yè)務:網(wǎng)站設計、成都網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)推出靈武免費做網(wǎng)站回饋大家。
首先上一張Oracle體系結構圖,與每個初次見到這張圖的人一樣,腦子里是一團漿糊,雖然我大學里學過數(shù)據(jù)庫但是和Oracle毫不沾邊,后來因一次陰差陽錯的機會接觸到了Oracle。
正文:
Oracle服務器由兩大部分組成
實例結構+數(shù)據(jù)庫結構=Oracle服務器
實例內(nèi)存結構包含SGA系統(tǒng)全局區(qū),實例進程包含一些重要的后臺進程
但Oracle內(nèi)存結構不僅有SGA還有PGA、UGA等
進程結構不僅包含后臺進程還有服務器進程Server Process、用戶進程User Process等等
從SGA開始
SGA里有Shared pool共享池、Database Buffer Cache數(shù)據(jù)庫高速緩存區(qū)、Redo Log Buffer Cache重做日志緩存區(qū)
Java Pool、Stream Pool以及Large Pool。當然還有其他的一些內(nèi)存區(qū)域。
Shared pool 共享池里又主要由兩個部分組成
1、Library Cache 庫緩存
顧名思義庫是存放東西的,存放的是最近執(zhí)行過的SQL語句信息以及PL/SQL過程,其中有解析過程,執(zhí)行計劃和執(zhí)行結果。
2、Data Dictionaray Cache 數(shù)據(jù)字典緩存
數(shù)據(jù)字典就是存放數(shù)據(jù)文件、表、列以及其他一些定義性的信息還有權限信息等。
Database Buffer Cache 數(shù)據(jù)庫高速緩存
這個區(qū)域是從數(shù)據(jù)文件中讀取最近訪問的緩存塊,對于數(shù)據(jù)庫的數(shù)據(jù)查詢以及更改等有很大的性能提升
這里面的緩存塊由以下幾種
1、正在被使用的緩存塊,一般是經(jīng)常訪問的緩存塊,這種不會被寫入數(shù)據(jù)文件中
2、干凈的緩存塊,用過了但是被DBWR進程寫入了數(shù)據(jù)文件
3、空的,完全未使用過的緩存塊 作用等同于干凈的緩存塊等待被寫入數(shù)據(jù)
4、臟緩存塊,在這里面就是數(shù)據(jù)被更改過的緩存塊
Redo Log Buffer Cache 重做日志緩沖區(qū)
這個區(qū)域是用來記錄用戶對數(shù)據(jù)庫進行的所有操作的信息,比如用戶更改了一條數(shù)據(jù),在這里就把修改的數(shù)據(jù)和位置記錄在重做日志緩沖區(qū)中然后由LGWR進程寫入重做日志文件中,一般有兩個以上的重做日志文件然后循環(huán)寫入,比如第一個文件寫滿了就寫在第二個上,在歸檔模式下,切換重做日志文件時就把已滿的那個文件數(shù)據(jù)全部鏡像到歸檔日志文件下,相當于再備份。
重要的后臺進程
DBWR 數(shù)據(jù)庫寫進程
在上面已經(jīng)見過這個進程的作用,就是把數(shù)據(jù)庫高速緩存區(qū)的臟數(shù)據(jù)寫入數(shù)據(jù)文件中,永久保存
觸發(fā)條件
1、臟緩存區(qū)已滿,不得不寫
2、時間間隔已到,一般三秒寫一次
3、需要從數(shù)據(jù)文件緩存數(shù)據(jù)但無空閑數(shù)據(jù)塊時
4、檢查點發(fā)生時即CKPT觸發(fā)時
5、表空間設置為只讀或者脫機備份時
6、出現(xiàn)臨時表的更改,如刪除等
LGWR 重做日志寫進程 將重做日志緩存區(qū)的操作記錄寫到重做日志文件中
觸發(fā)條件
1、時間間隔已到
2、DBWR進程寫之前
3、緩存滿1MB或者三分之一滿時
4、用戶進行COMMIT提交操作時
CKPT 檢查點進程 通知DBWR進程干活,將干完之后的記錄比如系統(tǒng)更改號SCN寫入數(shù)據(jù)文件頭部以及控制文件中
同步數(shù)據(jù)文件,控制文件以及重做日志文件
觸發(fā)條件
1、重做日志切換時
2、正常事務處理完成時如DBWR和LGWR干完活
3、系統(tǒng)關閉時
PMON 進程監(jiān)視進程 監(jiān)視其他進程,清除失敗的用戶進程并釋放當時正在使用的資源
SMON 系統(tǒng)監(jiān)視進程 在數(shù)據(jù)庫發(fā)生無法控制的崩潰時,如斷電。會自動應用重做日志文件的紀錄進行實例恢復工作
ARCH 系統(tǒng)開啟歸檔下才會有的進程,將重做日志文件切換后的數(shù)據(jù)內(nèi)容復制到歸檔日志文件中去
數(shù)據(jù)庫結構
1、物理存儲結構(文件結構)
2、邏輯存儲結構
物理存儲結構
數(shù)據(jù)庫中物理上是存放在物理文件中
1、數(shù)據(jù)文件 存放數(shù)據(jù)庫的系統(tǒng)表信息以及所有的數(shù)據(jù)信息
2、控制文件 參數(shù)文件Init.ora里面記錄了控制文件的位置,控制文件中包含數(shù)據(jù)庫的名字,檢查點信息,數(shù)據(jù)庫創(chuàng)建的內(nèi)部時間戳以及所有的文件信息 備份信息等
3、重做日志文件 對數(shù)據(jù)庫的所有操作都將記錄在這個文件中
4、歸檔日志文件 重做日志文件的備份文件
5、參數(shù)文件 在啟動實例時,根據(jù)參數(shù)文件中的配置為SGA分配內(nèi)存和啟動后臺進程
6、口令文件 存放用戶信息,進行超級用戶sys的身份驗證
邏輯存儲結構
在邏輯上以表空間、段、區(qū)、塊層層往下剝離
一個表空間只能屬于一個數(shù)據(jù)庫,但一個數(shù)據(jù)庫可以有多個表空間
表空間在邏輯上是有多個段組成的,在物理上是由一個或者以上的數(shù)據(jù)文件組成的
一個數(shù)據(jù)文件只能屬于一個表空間
段是可以不連續(xù)的所以也意味著段可以跨數(shù)據(jù)文件
區(qū),連續(xù)的數(shù)據(jù)塊組成的一個區(qū)域
塊,數(shù)據(jù)塊,Oracle中最小的I/O單位
感謝各位的閱讀,以上就是“Oracle基礎知識點總結”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對Oracle基礎知識點總結這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!