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


          一、安裝
          安裝過程中的幾個關鍵點:全局數據庫名、系統標識符(SID,實例名)、服務器參數文件(SPFILEXXX(實例名).ORA)。
          監聽器的配置: server\NETWORK\ADMIN 文件夾下的參數文件(listener.ora,tnsnames.ora)。


          二、Oracle 體系結構

          1、實例
          實例是后臺進程和內存結構的集合,必須啟動實例才能訪問數據庫中的數據,一個實例只能打開并使用一個數據庫。
          實例啟動時,將分配一個系統全局區(SGA)并啟動一系列的后臺進程,每個后臺進程執行不同的任務。


          2、數據庫
          Oracle 數據庫物理上指一組操作系統文件(數據文件),邏輯上指數據庫創建后的邏輯關系。


          3、會話
          會話時用戶與 Oracle 服務器的單個連接,建立連接時創建,斷開連接時關閉。
          當一個數據庫用戶同時對服務器產生多個連接時,則為該用戶創建多個并行會話。


          4、內存
          Oracle 內存結構包含以下兩個內存區:
            系統全局區(SGA):實例啟動時分配該內存區。
            程序全局區(PGA):服務器進程啟動時分配該內存區。

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

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

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

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

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

          B、程序全局區(Program Global Area)
          PGA是數據庫服務器內存中為單個用戶進程分配的專用的內存區域,是用戶進程私有的,不能共享。
          它由用戶連接到數據庫并創建一個會話時自動分配,當會話結束后自動釋放。



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



          6、數據庫邏輯結構
          數據庫、表空間(tablespace)、段(segment)、區(extent)、數據塊(block)




          7、數據庫物理結構
              數據文件:用于存放所有的數據(*.DBF),每個數據庫有一組數據文件,一個數據文件只能對應一個數據庫。
              日志文件:記錄了對數據庫進行的所有操作(*.LOG),主要用于數據庫故障時恢復。
              控制文件:記錄了數據庫所有文件的控制信息(*.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.內容參考:
          Oracle.10G.數據庫系統教程.中科院培訓老師講授
          Oracle學習筆記二,Oracle體系結構  http://www.lurenjia.net/article.asp?id=189
          Oracle 9i數據庫服務器的體系結構 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 筆記(一)、安裝及體系結構 2009-06-19 17:14 | 王建
          謝謝你的文章 很不錯  回復  更多評論
            
          # re: Oracle 筆記(一)、安裝及體系結構 2009-06-23 09:57 | 王建
          理解 這點東西 兩天了  回復  更多評論
            
          主站蜘蛛池模板: 尼玛县| 马山县| 易门县| 调兵山市| 丰顺县| 昌邑市| 达尔| 象州县| 嵊泗县| 水城县| 土默特左旗| 塘沽区| 原阳县| 宜兰市| 黄浦区| 班戈县| 彭山县| 松潘县| 贵阳市| 越西县| 惠州市| 盐城市| 建始县| 营口市| 厦门市| 广西| 楚雄市| 罗山县| 读书| 荣昌县| 唐海县| 静海县| 芒康县| 左权县| 新竹市| 雅安市| 河北省| 张家港市| 敦煌市| 舒城县| 武宁县|