熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Oracle >> 正文

oracle體系結構必須先了解的兩個基本的概念

2013-11-13 15:41:24  來源: Oracle 

  要了解oracle體系結構必須先了解兩個基本的概念: 數據庫和實例
   一: 數據庫
        數據庫(database)是一個數據集合
        無論數據庫是采用關系結構還是面向對象結構 oracle數據庫都將
        其數據存放在數據文件中 在其內部 數據庫結構數據對文件的邏輯
        映射 使不同的數據分開存儲 這些邏輯劃分稱為表空間       
        表空間和文件介紹:
        : 表空間
                 表空間(tablespace)是數據庫的邏輯劃分 每個數據庫至少有一個
           表空間叫做系統表空間(system 表空間) 一個表空間只能屬於一個數據庫
           每個表空間由同一個磁盤上的一個或多個文件組成 這些文件稱為數據文件

  表空間的特性:
                )控制數據庫數據磁盤分配
                )限制用戶在表空間中可以使用的磁盤空間大小
                )表空間具有 online offline readonly readwrite屬性
                        修改表空間的屬性:
                          SQL> alter tablespace 表空間名稱 屬性;
                        查詢表空間狀態:
                          SQL> select tablespace_name status from dba_tablespaces;
                        注意: system undo temp表空間不能設為offline屬性
                )完成部分數據庫的備份與恢復
                )表空間通過數據文件來擴大 表空間的大小等於構成該表空間的所以數據文件的大小只和
             查詢表空間與數據文件對應關系:
                  SQL> select tablespace_name bytes file_name from dba_data_files;
           基於表空間的幾個操作:
                )查詢用戶缺省表空間:
                    SQL> select username default_tablespace from dba_users;
                )查詢表與存儲該表的表空間:
                    SQL> select table_name tablespace_name from user_tables;
                )修改用戶缺省表空間:
                    SQL> alter user username default tablespace tablespace_name;
                )將數據從一個表空間移動到另一個表空間:
                    SQL> alter table table_name move tablespace tablespace_name;

  : 數據文件
         每個表空間由同一個磁盤上的一個或多個文件組成 這些文件叫做數據文件(datafile)
     數據文件只能屬於一個表空間 數據文件創建後可以改變大小 創建新的表空間需要創建新的
     數據文件 數據文件一旦加入到表空間中 就不能從表空間中移走 也不能與其他表空間發生聯系
     數據庫必須的三類文件是 data file control file redolog file 其他文件 prameter file
            password file archived log files並不是數據庫必須的 他們只是輔助數據庫的

  查看數據庫的物理文件組成:
                  )查看數據文件: SQL> select * from v$datafile;
                  )查看控制文件: SQL> select * from v$controlfile;
                  )查看日志文件: SQL> select * from v$logfile;
   二: 實例
            通俗的講實例就是操作oracle數據庫的一種手段
            數據庫實例也稱作服務器 是用來訪問數據庫文件集的存儲結構及後台進程的集合
            一個數據庫可以被多個實例訪問(稱為真正的應用群集選項)
                決定實例的大小及組成的各種參數或者存儲在名稱initora的初始化文件中 或者隱藏
            在數據庫內部的服務器參數文件中 通過spfile引用該文件 spfile存儲在spfileora文件中
                 實例啟動時讀取初始化文件 數據庫系統管理員可以修改該文件 對初始化文件的修改只有
            在下次啟動時才有效

  Instance分為兩部分:
                : memory structure(內存結構)
                        memory structure分為兩部分:SGA(System Global Area)區是用於存儲數據庫信息的內存區
                                                        該信息為數據庫進程所共享它包含Oracle 服務器的數據和控制信息
                                                        它是在Oracle 服務器所駐留的計算機的實際內存中得以分配如果實際內
                                                        存不夠再往虛擬內存中寫
                                                                包括:
                                                                share pool
                                                                datafase buffer cache
                                                                redo log buffer
                                                                other structures
                                                        PGA(Program Global Area)區包含單個服務器進程或單個後台進程的
                                                        數據和控制信息與幾個進程共享的SGA 正相反PGA 是只被一個進程使
                                                        用的區域PGA 在創建進程時分配在終止進程時回收
                                                       
                : background process(後台進程)
                        包括: PMON  負責在一個Oracle 進程失敗時清理資源
                              SMON  檢查數據庫的一致性如有必要還會在數據庫打開時啟動數據庫的恢復
                              DBWR  負責將更改的數據從數據庫緩沖區高速緩存寫入數據文件
                              LGWR  將重做日志緩沖區中的更改寫入在線重做日志文件
                              CKPT  負責在每當緩沖區高速緩存中的更改永久地記錄在數據庫中時更新控制文件和數據文件中的數據庫狀態信息
                              OTHER


From:http://tw.wingwit.com/Article/program/Oracle/201311/17141.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.