Oracle存儲結構

Oracle存儲結構
 Oracle存儲結構分爲。物理存儲結構和邏輯存儲結構兩種,他們之間既相互獨立又相互聯繫。
 1 邏輯存儲結構:主要描述的是Oracle內部存儲結構,它和操作系統平臺沒有關係,是由Oracle數據庫創建和管理的。它是由表空間、段、區、塊組成的。
  1表空間:表空間是最大的邏輯單位,一個數據庫可以有多個表空間,一個表空間可以有多個數據文件(一個數據文件只能屬於一個表空間)。
   System表空間:系統表空間,存放關於表空間的名稱、控制文件、數據文件等管理信息。
   查詢數據庫中有哪些表空間可用如下語句
   SQL> select * from v$tablespace;
       TS# NAME                           INC BIG FLA ENC
   ---------- ------------------------------ --- --- --- ---
      0 SYSTEM                         YES NO  YES
      1 UNDOTBS1                       YES NO  YES
      2 SYSAUX                         YES NO  YES
      4 USERS                          YES NO  YES
      3 TEMP                           NO  NO  YES
      6 EXAMPLE                        YES NO  YES
   6 rows selected.
  2 段用於存儲表空間中某一種特定的具有獨立存儲結構的對象的所有數據,他是由一個或者多個區組成。
   段分爲如下幾種類型
   表段(數據段):數據段中存儲表中的所有數據,當某個用戶創建表時,就會在該用戶的默認表空間中爲表分配一個和表名相同的數據段,以便存儲該表中的數據。一個表空間中創建了幾個表,該表空間中就有幾個數據段。
    SQL> conn scott/tiger
    Connected.
    SQL> column segment_name format a20
    SQL> column partition_name format a10
    SQL> select * from user_extents;
    SEGMENT_NAME         PARTITION_ SEGMENT_TYPE       TABLESPACE_NAME                 EXTENT_ID      BYTES     BLOCKS
    -------------------- ---------- ------------------ ------------------------------ ---------- ---------- ----------
    DEPT                            TABLE              USERS                                   0      65536          8
    EMP                             TABLE              USERS                                   0      65536          8
    BONUS                           TABLE              USERS                                   0      65536          8
    SALGRADE                        TABLE              USERS                                   0      65536          8
    PK_DEPT                         INDEX              USERS                                   0      65536          8
    PK_EMP                          INDEX              USERS                                   0      65536          8
    6 rows selected.
   索引段:索引段存儲索引的所有數據
    SQL> column index_name format a15
    SQL> column table_owmer format a10
    SQL> column table_name format a15
    SQL> column tablespace_name format a15
    SQL> /
    INDEX_NAME      TABLE_OWNER                    TABLE_NAME      TABLESPACE_NAME
    --------------- ------------------------------ --------------- ---------------
    PK_EMP          SCOTT                          EMP             USERS
    PK_DEPT         SCOTT                          DEPT            USERS
   臨時段:臨時段存儲排序操作所產生的臨時數據。所有用戶默認的臨時表空間都是TEMP表空間。
   回退段:回退段存儲數據修改之前的位置和值(面臨淘汰)。9i以後增加了UNDO表空間,並增加了自動撤銷功能來代替回退段的功能。
    SQL> show parameter undo_management
    NAME                                 TYPE        VALUE
    ------------------------------------ ----------- ------------------------------
    undo_management                      string      AUTO
    AUTO表示使用的是自動撤銷管理功能,若要使用回退段功能則將AUTO修改爲MANAUL。
   3區,區是由物理上連續存放的塊組成的。
   4塊,塊是最小的數據管理單位,也是執行輸入輸出時的最小單位。塊的大小是操作系統塊大小的整數倍。
 2物理存儲結構:主要描述Oracle數據庫的外部存儲結構,即在操作系統中如何組織管理數據。它和操作系統平臺相關的。
 2.1控制文件:控制文件是數據庫的關鍵性文件,對數據庫的成功啓動和正常運行是至關重要的,它存儲的信息包括:
   數據庫的名稱
   數據文件、重做日誌文件的名稱、位置和大小
   發生磁盤故障或用戶錯誤時,用於恢復數據庫的信息
 SQL> select name from v$controlfile;
 NAME
 --------------------------------------------------
 /u01/app/oracle/oradata/dgdemo/control0ctl
 /u01/app/oracle/oradata/dgdemo/control02.ctl
 /u01/app/oracle/oradata/dgdemo/control03.ctl
 2.2數據文件:數據文件是實際存儲插入到數據庫表中的實際數據的操作系統文件
 SQL> select name from v$datafile;
 NAME
 --------------------------------------------------
 /u01/app/oracle/oradata/dgdemo/system0dbf
 /u01/app/oracle/oradata/dgdemo/undotbs0dbf
 /u01/app/oracle/oradata/dgdemo/sysaux0dbf
 /u01/app/oracle/oradata/dgdemo/users0dbf
 /u01/app/oracle/oradata/dgdemo/example0dbf
 2.3重做日誌文件:當用戶對數據庫修改時侯,Oracle實際上是先在內存中進行修改,然後再集中的將內存中的修改結果成批的寫入數據文件中。
 SQL> select member from v$logfile;
 MEMBER
 -------------------------------------------------
 /u01/app/oracle/oradata/dgdemo/redo03.log
 /u01/app/oracle/oradata/dgdemo/redo02.log
 /u01/app/oracle/oradata/dgdemo/redo0log
 /u01/app/oracle/oradata/dgdemo/stdbyredo0log
 /u01/app/oracle/oradata/dgdemo/stdbyredo02.log
 /u01/app/oracle/oradata/dgdemo/stdbyredo03.log
 /u01/app/oracle/oradata/dgdemo/stdbyredo04.log
 2.4參數文件:參數文件分爲文本參數文件(Pfile)和服務器參數文件(Spfile)
 2.5口令文件:口令文件是二進制文件,用以驗證特權用戶。
 2.6歸檔日誌文件:非活動的重做日誌文件的備份。
 2.7後臺進程跟蹤文件:記錄後臺進程的警告或錯誤信息,每個後臺進程都有相應的跟蹤文件
 2.8服務進程跟蹤文件:記錄服務進程的相關信息,用於跟蹤SQL語句、診斷SQL語句的性能,並實施相應的性能調整。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章