標籤:.com 重做日誌 第三方 怎麼 navicat data 啟動 share 完成
oracle的架構大概分為3部分,
用戶端:使用者端
oracle instance:叫做執行個體,由記憶體結構(記憶體池或者叫SGA)和後台進程組成。Oracle Instance是Oracle RDBMS的核心之一,負責RDBMS的管理功能。記憶體結構有SGA(share global area)系統全域地區 ,後台五大進程包括 pnom(process monitor),smon(system monitor) ,DBWN,LGWR,CKPT,等。
資料庫資料檔案:各種檔案,資料檔案,控制檔案,重做記錄檔等。
說明:可以多個執行個體對應一個oracle資料庫。SGA可以讓多個進程共用,PGA一般讓一個進程使用,是為沒有個使用者單獨分配的記憶體。所以在用dbca建立資料庫的時候,80%給SGA,20%給PGA。
使用者串連進程 = 使用者進程 + 服務進程 + PGA
dateabase(資料庫)
tablespace(資料表空間)
segment(段)
area?(區)
block(資料區塊) 最後映射到磁碟塊中。
工具有sqlplus ,em的web管理方式。dbca工具建立資料庫。
toad for oracle ,Navicat for oracle 工具也可第三方使用oracle資料庫。
執行一條寫入的SQL語句時在RDBMS中都發生了什麼
1. 將SQL語句載入入資料庫緩衝區
2. 將SQL語句要操作的資料檔案副本載入入資料庫緩衝區
3. 執行SQL語句,修改資料檔案副本,形成“髒緩衝區”
4. CKPT檢測到“髒緩衝區”,調用DBWn
5. 在DBWn運行之前,先運行了LGWR,將資料檔案的原始狀態和資料庫的改變記錄到Redo Log Files
6. 運行DBWn,將“髒緩衝區的內容寫入到資料檔案”
7. 同時CKPT修改控制檔案和資料檔案頭
8. SMON回收不必要的空閑資源
最後
最後我們舉個例子來看看Oracle RDBMS是怎麼運作的
- User訪問Oracle Server之前提交一個請求(包含了db_name、instance_name、username、password等資訊),Oracle Server接收到請求並通過Password File的驗證後,分配SGA記憶體池,啟動後台進程同時建立並啟動執行個體。
- 在啟動執行個體之後User Process與Server Process建立Connect。
- 再通過Server process和Oracle Instance完成建立Sesscion。
- 使用者執行SQL語句,由server process接收到並直接與Oracle互動。
- SQL語句通過Server Process到達Oracle Instance,再將SQL載入資料庫緩衝區。
- Server Process通知Oracle Database將與SQL語句相關的資料區塊副本載入到緩衝區中。
- 在資料庫緩衝區執行SQL語句,併產生”髒緩衝區”。
- 由CKPT檢查點進程檢查到”髒緩衝區”,並調用DBWn資料庫寫進程,但在DBWn執行之前,應該由LGWR先將資料檔案的原始狀態、資料庫的改變等資訊記錄到Redo Log Files。
- 將更新的內容寫入到磁碟中的資料檔案。
- 返回結果給使用者
oracle 架構和一些工具瞭解