Oracle database files就是存放資料的地方,可以分為實體(Physical)結構和邏輯(Logical)結構,實體結構就是實際儲存在OS上的datafiles或是OS Block;而一般我們透過軟體工具看到的都是邏輯結構,包括Tablespaces、Segments、Extents、Block。
Oracle database files (檔案)
依照用途不同可以分為以下六種,比較重要且經常變動的是Datafiles、Control files、Redo Log files:
- Parameter files
- Password files
- Datafiles
- Control files
- Redo Log files
- Archived Log files
- 當Oracle Instance啟動時,會載入特定的參數檔來設定系統。
- 根據不同的類型,可以分為:
- Static parameter file (PFILE)
- Persistent parameter file (SPFILE)
- PFILE檔名為init<SID>.ora;SPFILE檔名為spfile<SID>.ora
- PFILE是純文字檔(text file);SPFILE是二進位檔(Binary file)
- PFILE通常放在本機端$ORACLE_HOME/dbs下;SPFILE放在伺服器端
- PFILE更動須手動調整參數值;SPFILE可以動態調整參數值
- Oracle 9i以後才有SPFILE
分為四個階段:
- SHUTDOWN:就關機了
- NOMOUNT:spfile.ora被讀入,Oracle Instance被開啟,SGA和Background processes被啟動。
- MOUNT:Control files被讀入Instance。此階段又稱為maintenance mode
- OPEN:所有files被開啟,Database啟動。此階段又稱為transaction mode
- 實際儲存在OS上的我們稱為datafiles,而Tablespaces就是用邏輯分組的概念,方便不同用途的管理。
- 一個datafiles只能在一個Tablespaces內;而一個Tablespaces可以包含了一至多個datafiles。
- 安裝好Oracle之後,預設會有SYSTEM、SYSAUX、TEMP、USERS、UNDO五個Tablespaces。
4)Redo Log files
- 儲存所有對資料進行的改變。
- 目的是為了系統或資料的回復(recovery)。
- 可以將檔案進行群組化(groups)的動作,而同一組裡面的檔案會全部寫完才會轉換到下一組,因此至少會有兩個群組。
- 採循環(cycle)的方式,當最後一組寫滿的時候,它會再回寫回第一組。
5)Archived Redo Log files
- 必須開啟Archived Mode才會有,通常會接上Tape,避免硬碟可能會很快塞滿。
- 目的在於備份(Backup)和還原(Recovery)。
- Oracle預設是關閉Archived Mode的。