隨筆-7  評論-24  文章-102  trackbacks-0


          一、安裝
          安裝過程中的幾個關(guān)鍵點:全局?jǐn)?shù)據(jù)庫名、系統(tǒng)標(biāo)識符(SID,實例名)、服務(wù)器參數(shù)文件(SPFILEXXX(實例名).ORA)。
          監(jiān)聽器的配置: server\NETWORK\ADMIN 文件夾下的參數(shù)文件(listener.ora,tnsnames.ora)。


          二、Oracle 體系結(jié)構(gòu)

          1、實例
          實例是后臺進程和內(nèi)存結(jié)構(gòu)的集合,必須啟動實例才能訪問數(shù)據(jù)庫中的數(shù)據(jù),一個實例只能打開并使用一個數(shù)據(jù)庫。
          實例啟動時,將分配一個系統(tǒng)全局區(qū)(SGA)并啟動一系列的后臺進程,每個后臺進程執(zhí)行不同的任務(wù)。


          2、數(shù)據(jù)庫
          Oracle 數(shù)據(jù)庫物理上指一組操作系統(tǒng)文件(數(shù)據(jù)文件),邏輯上指數(shù)據(jù)庫創(chuàng)建后的邏輯關(guān)系。


          3、會話
          會話時用戶與 Oracle 服務(wù)器的單個連接,建立連接時創(chuàng)建,斷開連接時關(guān)閉。
          當(dāng)一個數(shù)據(jù)庫用戶同時對服務(wù)器產(chǎn)生多個連接時,則為該用戶創(chuàng)建多個并行會話。


          4、內(nèi)存
          Oracle 內(nèi)存結(jié)構(gòu)包含以下兩個內(nèi)存區(qū):
            系統(tǒng)全局區(qū)(SGA):實例啟動時分配該內(nèi)存區(qū)。
            程序全局區(qū)(PGA):服務(wù)器進程啟動時分配該內(nèi)存區(qū)。

          A、系統(tǒng)全局區(qū)(SGA,System Global Area 共享全局區(qū))
          用來存儲數(shù)據(jù)庫信息,并由服務(wù)器進程共享。
          按作用可分為:

             ● 共享池(Shared Pool)【操作共享】
          共享池包括 庫緩存區(qū)(Shared SQL & PL/SQL) 和 數(shù)據(jù)字典緩存。
          a.庫緩存區(qū):包括最近執(zhí)行的 SQL 解釋版本,PL/SQL 過程、函數(shù)等程序單元的編譯版本,方便用戶共享調(diào)用,節(jié)省開銷及提高進程速度。
          b.數(shù)據(jù)字典緩存:把頻繁用到的數(shù)據(jù)字典(表,列,索引、權(quán)限等信息)存儲到內(nèi)存中,能減少 SQL語句引起的性能上沖突。

             ● 數(shù)據(jù)緩沖區(qū)(Data Buffer Cache)【記錄共享】
          主要作用是將需要讀取或者存取的數(shù)據(jù)塊進行一個緩沖,從而減少太過頻繁的對磁盤進行讀和寫的操作。所有同時上線的用戶都可以共享這個區(qū)域。進程在處理一個查詢時,優(yōu)先查找內(nèi)存中是否有所需的數(shù)據(jù)塊,提高了讀取速度。

             ● 日志緩沖區(qū)(Redo Log Buffer)
          該區(qū)域是將所有記錄數(shù)據(jù)操作的信息都存儲在該緩沖中,在適當(dāng)?shù)臅r機由LGWR進程將他們寫入到磁盤的日志文件中。

             ● 大共享區(qū)(Large Pool)
          Oracle 可選特征,主要用于多線程。

          B、程序全局區(qū)(Program Global Area)
          PGA是數(shù)據(jù)庫服務(wù)器內(nèi)存中為單個用戶進程分配的專用的內(nèi)存區(qū)域,是用戶進程私有的,不能共享。
          它由用戶連接到數(shù)據(jù)庫并創(chuàng)建一個會話時自動分配,當(dāng)會話結(jié)束后自動釋放。



          5、進程
          用戶進程:數(shù)據(jù)庫用戶請求連接 Oracle 服務(wù)器時啟動。
          服務(wù)器進程:用戶建立會話連接時啟用,處理一個或多個用戶進程請求。
          后臺進程:Oracle 實例啟動時啟動,提高系統(tǒng)效能和協(xié)調(diào)多用戶。
              數(shù)據(jù)寫進程(DBWR):負(fù)責(zé)將塊緩沖區(qū)的數(shù)據(jù)寫入到磁盤中的數(shù)據(jù)文件里。
              日志寫進程(LGWR):將重做日志緩沖區(qū)的信息寫入到重做日志文件中。
              系統(tǒng)監(jiān)控(SMON):如果數(shù)據(jù)庫遇到不正常關(guān)閉的情況,比如突然斷電等。那么再次啟動數(shù)據(jù)庫時SMON進程進行必要的 數(shù)據(jù)修復(fù)操作。
              進程監(jiān)控(PMON):負(fù)責(zé)在一個Oracle進程失敗時清理資源,用于恢復(fù)失敗的用戶進程。
              檢查點進程(CKPT):負(fù)責(zé)在每當(dāng)緩沖區(qū)中的更改永久地紀(jì)錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息,確保數(shù)據(jù)庫的同步。
              歸檔進程(ARCH):在每次日志切換時把已滿的日志組進行備份歸檔,有歸檔方式和非歸檔方式(默認(rèn))。



          6、數(shù)據(jù)庫邏輯結(jié)構(gòu)
          數(shù)據(jù)庫、表空間(tablespace)、段(segment)、區(qū)(extent)、數(shù)據(jù)塊(block)




          7、數(shù)據(jù)庫物理結(jié)構(gòu)
              數(shù)據(jù)文件:用于存放所有的數(shù)據(jù)(*.DBF),每個數(shù)據(jù)庫有一組數(shù)據(jù)文件,一個數(shù)據(jù)文件只能對應(yīng)一個數(shù)據(jù)庫。
              日志文件:記錄了對數(shù)據(jù)庫進行的所有操作(*.LOG),主要用于數(shù)據(jù)庫故障時恢復(fù)。
              控制文件:記錄了數(shù)據(jù)庫所有文件的控制信息(*.CTL)。

          語法查看:
          C:\> sqlplus "sys/test1234 as sysdba"

          SQL> DESC v$controlfile
          SQL> SELECT status,name FROM v$controlfile

          SQL> DESC v$datafile
          SQL> SELECT file#,status,name FROM v$datafile

          SQL> DESC v$logfile
          SQL> SELECT member FROM v$controlfile



          ps.內(nèi)容參考:
          Oracle.10G.數(shù)據(jù)庫系統(tǒng)教程.中科院培訓(xùn)老師講授
          Oracle學(xué)習(xí)筆記二,Oracle體系結(jié)構(gòu)  http://www.lurenjia.net/article.asp?id=189
          Oracle 9i數(shù)據(jù)庫服務(wù)器的體系結(jié)構(gòu) http://www.it-waibao.com/IToutsourcing/support/database/Oracle/catalogTreeID100_folderID520_infoID10452.html
          posted on 2008-10-06 22:52 黃小二 閱讀(4401) 評論(2)  編輯  收藏 所屬分類: [DB].Oracle

          評論:
          # re: Oracle 筆記(一)、安裝及體系結(jié)構(gòu) 2009-06-19 17:14 | 王建
          謝謝你的文章 很不錯  回復(fù)  更多評論
            
          # re: Oracle 筆記(一)、安裝及體系結(jié)構(gòu) 2009-06-23 09:57 | 王建
          理解 這點東西 兩天了  回復(fù)  更多評論
            
          主站蜘蛛池模板: 潜山县| 南投市| 白沙| 铜梁县| 读书| 什邡市| 原阳县| 敖汉旗| 河东区| 南丹县| 康定县| 宁德市| 左云县| 敖汉旗| 常德市| 商丘市| 马关县| 河池市| 双流县| 五指山市| 景泰县| 安顺市| 阳曲县| 务川| 寻甸| 福泉市| 萝北县| 苏尼特左旗| 天峻县| 婺源县| 山西省| 镇巴县| 田东县| 将乐县| 临西县| 仁化县| 花莲市| 鲁山县| 那坡县| 环江| 英吉沙县|