您好,登錄后才能下訂單哦!
這篇文章主要講解了“Oracle基礎知識點總結”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Oracle基礎知識點總結”吧!
首先上一張Oracle體系結構圖,與每個初次見到這張圖的人一樣,腦子里是一團漿糊,雖然我大學里學過數據庫但是和Oracle毫不沾邊,后來因一次陰差陽錯的機會接觸到了Oracle。
正文:
Oracle服務器由兩大部分組成
實例結構+數據庫結構=Oracle服務器
實例內存結構包含SGA系統全局區,實例進程包含一些重要的后臺進程
但Oracle內存結構不僅有SGA還有PGA、UGA等
進程結構不僅包含后臺進程還有服務器進程Server Process、用戶進程User Process等等
從SGA開始
SGA里有Shared pool共享池、Database Buffer Cache數據庫高速緩存區、Redo Log Buffer Cache重做日志緩存區
Java Pool、Stream Pool以及Large Pool。當然還有其他的一些內存區域。
Shared pool 共享池里又主要由兩個部分組成
1、Library Cache 庫緩存
顧名思義庫是存放東西的,存放的是最近執行過的SQL語句信息以及PL/SQL過程,其中有解析過程,執行計劃和執行結果。
2、Data Dictionaray Cache 數據字典緩存
數據字典就是存放數據文件、表、列以及其他一些定義性的信息還有權限信息等。
Database Buffer Cache 數據庫高速緩存
這個區域是從數據文件中讀取最近訪問的緩存塊,對于數據庫的數據查詢以及更改等有很大的性能提升
這里面的緩存塊由以下幾種
1、正在被使用的緩存塊,一般是經常訪問的緩存塊,這種不會被寫入數據文件中
2、干凈的緩存塊,用過了但是被DBWR進程寫入了數據文件
3、空的,完全未使用過的緩存塊 作用等同于干凈的緩存塊等待被寫入數據
4、臟緩存塊,在這里面就是數據被更改過的緩存塊
Redo Log Buffer Cache 重做日志緩沖區
這個區域是用來記錄用戶對數據庫進行的所有操作的信息,比如用戶更改了一條數據,在這里就把修改的數據和位置記錄在重做日志緩沖區中然后由LGWR進程寫入重做日志文件中,一般有兩個以上的重做日志文件然后循環寫入,比如第一個文件寫滿了就寫在第二個上,在歸檔模式下,切換重做日志文件時就把已滿的那個文件數據全部鏡像到歸檔日志文件下,相當于再備份。
重要的后臺進程
DBWR 數據庫寫進程
在上面已經見過這個進程的作用,就是把數據庫高速緩存區的臟數據寫入數據文件中,永久保存
觸發條件
1、臟緩存區已滿,不得不寫
2、時間間隔已到,一般三秒寫一次
3、需要從數據文件緩存數據但無空閑數據塊時
4、檢查點發生時即CKPT觸發時
5、表空間設置為只讀或者脫機備份時
6、出現臨時表的更改,如刪除等
LGWR 重做日志寫進程 將重做日志緩存區的操作記錄寫到重做日志文件中
觸發條件
1、時間間隔已到
2、DBWR進程寫之前
3、緩存滿1MB或者三分之一滿時
4、用戶進行COMMIT提交操作時
CKPT 檢查點進程 通知DBWR進程干活,將干完之后的記錄比如系統更改號SCN寫入數據文件頭部以及控制文件中
同步數據文件,控制文件以及重做日志文件
觸發條件
1、重做日志切換時
2、正常事務處理完成時如DBWR和LGWR干完活
3、系統關閉時
PMON 進程監視進程 監視其他進程,清除失敗的用戶進程并釋放當時正在使用的資源
SMON 系統監視進程 在數據庫發生無法控制的崩潰時,如斷電。會自動應用重做日志文件的紀錄進行實例恢復工作
ARCH 系統開啟歸檔下才會有的進程,將重做日志文件切換后的數據內容復制到歸檔日志文件中去
數據庫結構
1、物理存儲結構(文件結構)
2、邏輯存儲結構
物理存儲結構
數據庫中物理上是存放在物理文件中
1、數據文件 存放數據庫的系統表信息以及所有的數據信息
2、控制文件 參數文件Init.ora里面記錄了控制文件的位置,控制文件中包含數據庫的名字,檢查點信息,數據庫創建的內部時間戳以及所有的文件信息 備份信息等
3、重做日志文件 對數據庫的所有操作都將記錄在這個文件中
4、歸檔日志文件 重做日志文件的備份文件
5、參數文件 在啟動實例時,根據參數文件中的配置為SGA分配內存和啟動后臺進程
6、口令文件 存放用戶信息,進行超級用戶sys的身份驗證
邏輯存儲結構
在邏輯上以表空間、段、區、塊層層往下剝離
一個表空間只能屬于一個數據庫,但一個數據庫可以有多個表空間
表空間在邏輯上是有多個段組成的,在物理上是由一個或者以上的數據文件組成的
一個數據文件只能屬于一個表空間
段是可以不連續的所以也意味著段可以跨數據文件
區,連續的數據塊組成的一個區域
塊,數據塊,Oracle中最小的I/O單位
感謝各位的閱讀,以上就是“Oracle基礎知識點總結”的內容了,經過本文的學習后,相信大家對Oracle基礎知識點總結這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。