隨筆-7  評(píng)論-24  文章-102  trackbacks-0


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


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

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


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


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


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

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

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

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

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

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

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



          5、進(jìn)程
          用戶進(jìn)程:數(shù)據(jù)庫用戶請(qǐng)求連接 Oracle 服務(wù)器時(shí)啟動(dòng)。
          服務(wù)器進(jìn)程:用戶建立會(huì)話連接時(shí)啟用,處理一個(gè)或多個(gè)用戶進(jìn)程請(qǐng)求。
          后臺(tái)進(jìn)程:Oracle 實(shí)例啟動(dòng)時(shí)啟動(dòng),提高系統(tǒng)效能和協(xié)調(diào)多用戶。
              數(shù)據(jù)寫進(jìn)程(DBWR):負(fù)責(zé)將塊緩沖區(qū)的數(shù)據(jù)寫入到磁盤中的數(shù)據(jù)文件里。
              日志寫進(jìn)程(LGWR):將重做日志緩沖區(qū)的信息寫入到重做日志文件中。
              系統(tǒng)監(jiān)控(SMON):如果數(shù)據(jù)庫遇到不正常關(guān)閉的情況,比如突然斷電等。那么再次啟動(dòng)數(shù)據(jù)庫時(shí)SMON進(jìn)程進(jìn)行必要的 數(shù)據(jù)修復(fù)操作。
              進(jìn)程監(jiān)控(PMON):負(fù)責(zé)在一個(gè)Oracle進(jìn)程失敗時(shí)清理資源,用于恢復(fù)失敗的用戶進(jìn)程。
              檢查點(diǎn)進(jìn)程(CKPT):負(fù)責(zé)在每當(dāng)緩沖區(qū)中的更改永久地紀(jì)錄在數(shù)據(jù)庫中時(shí),更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息,確保數(shù)據(jù)庫的同步。
              歸檔進(jìn)程(ARCH):在每次日志切換時(shí)把已滿的日志組進(jìn)行備份歸檔,有歸檔方式和非歸檔方式(默認(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),每個(gè)數(shù)據(jù)庫有一組數(shù)據(jù)文件,一個(gè)數(shù)據(jù)文件只能對(duì)應(yīng)一個(gè)數(shù)據(jù)庫。
              日志文件:記錄了對(duì)數(shù)據(jù)庫進(jìn)行的所有操作(*.LOG),主要用于數(shù)據(jù)庫故障時(shí)恢復(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) 評(píng)論(2)  編輯  收藏 所屬分類: [DB].Oracle

          評(píng)論:
          # re: Oracle 筆記(一)、安裝及體系結(jié)構(gòu) 2009-06-19 17:14 | 王建
          謝謝你的文章 很不錯(cuò)  回復(fù)  更多評(píng)論
            
          # re: Oracle 筆記(一)、安裝及體系結(jié)構(gòu) 2009-06-23 09:57 | 王建
          理解 這點(diǎn)東西 兩天了  回復(fù)  更多評(píng)論
            
          主站蜘蛛池模板: 绥芬河市| 枣阳市| 维西| 长治市| 广平县| 张家界市| 平潭县| 海南省| 奉新县| 平南县| 岳普湖县| 宁晋县| 馆陶县| 奇台县| 克什克腾旗| 普兰店市| 包头市| 忻州市| 盘山县| 定兴县| 商南县| 施秉县| 宁明县| 崇左市| 长宁区| 邮箱| 大理市| 滕州市| 黄骅市| 菏泽市| 科尔| 周宁县| 盐亭县| 大同市| 金昌市| 临城县| 浙江省| 会理县| 陇西县| 大宁县| 永嘉县|