oracle複習(一) 之Oracle體系結構

2021-05-11 14:02:56 字數 1793 閱讀 4540

學習oracle dba也半個多學期了,今天猛然才發現,原來我的書還是很新的,上課操作時候也只是知道大概怎麼做,但是要真的全部自己做,而不去翻書還是有一定的難度的,所以呢,今天開始將dba從頭複習一遍,同時再操作一遍。

第一章,學的是oracle的體系結構,如圖:

了解了這個體系結構圖,當然還是不夠的,這裡面還有很多術語呢,不過呢首先看看oracle伺服器。

oracle伺服器主要分為以下三種:

1、基於主機方式

2、客戶端-伺服器(client-server)(兩層模型)方式

接著是乙個oracle例項

oracle例項是一種訪問資料庫的機制,它由記憶體結構和一些後台程序組成。它的記憶體結構也稱為系統全域性區(system global area,sga)。例項的後台有5個程序是必須的:smon、pmon、dbwr、lgwr、ckpt。sga中又包含了一下幾個記憶體結構:共享池(shared pool)、資料庫高速緩衝區(database buffer cache)、重做日誌緩衝區(redo log buffer)和其他的一些結構(如鎖和統計資料)。

sga系統全域性區

例項接著就說明oracle資料庫,它也成為物理(外存)結構,它為資料庫資訊提供了真正的物理儲存,它由控制檔案(control files)、重做日誌檔案(redo log files)、資料檔案(data files)3類作業系統檔案組成。

然後,要用資料庫,當然還需要連線,連線是使用者程序與oracle伺服器之間的通訊路徑,其中有三種方式:

1、基於主機方式

2、客戶端-伺服器(client-server)(兩層模型)方式

這三種連線是使用者程序與伺服器程序的一對一連線,也稱為專業連線(dedicated server connection),除此之外,在聯機事務處理(online transaction processing,oltp)系統的配置還有另一種連線,為共享伺服器(shared server)連線。

然後要複習下伺服器程序

當oracle建立乙個伺服器程序的同時要為該伺服器程序分配乙個記憶體區,該記憶體區成為程式全域性區(program global area,pga).與sga不同,pga是乙個私有的記憶體區,不能共享,且只屬於乙個程序。它隨著程序的分配而分配,隨著程序的終止而**。全域性區包括這些結構:排序區(sort area)、游標狀態區(cursor state)、回話資訊區(session information)、堆疊區(stack space)。

當然,我們在資料庫中查詢資料時,總是有乙個過程的,那麼oracle執行sql查詢語句的步驟又是怎麼樣的呢?如下:

1、編譯(parse):在進行編譯時,伺服器程序會將sql語句的正文放入共享池(shared pool)的庫快取記憶體(library cache)中並將完成一下處理:

1)、首先在共享池中搜尋是否有相同的sql語句(正文),如果沒有就進行後續的處理。

2)、檢查該sql語句的語法是否正確

3)、通過檢視資料字典來檢查表和列的定義

4)、對所操作的物件加編譯鎖(parse locks),以便在編譯語句期間這些物件的定義不能被改變。

5)、檢查所引用物件的使用者許可權

6)、生成執行該sql語句所需的優化的執行計畫

7)、將sql語句和執行計畫裝入共享的sql區

2、執行(execute):oracle伺服器程序開始執行sql語句是因為它獲得了執行sql語句所需的全部資源資訊

3、提取資料(fetch):oracle伺服器程序選擇所需的資料行,並在需要時將其排序,最後將結果返回給使用者。

嘿嘿,其餘的就是前面的體系結構圖中的一些詞啦,因為多是解釋,就自己看啦,不在這裡列出,呵呵。今天就複習至此咯,明天我會繼續加油的。

oracle複習總結一

管理員登陸指令sqlplus nolog conn as sysdba 清屏命令 1.host cls 2.clear screen 基礎使用者scott 1.conn as sysdba 以作業系統為許可權認證的oracle sys管理員登陸 sqlplus nolog conn assysdba...

Oracle複習之一

oracle7 以前用varchar不支援國際化 varchar2支援 查詢語句 dml 資料操作語言 ddl 資料定義語言 select select from emp select ename,sal 12 from emp select 2 3 from dual dual 表就一條記錄 乙個...

初級ORACLE複習(一)

建立使用者 create useruser identified btpassword defaulttablespace tablespace temporarytablespace tablespace account user 使用者名稱 password 使用者密碼 default 用預設表...