1. 程式人生 > >控制文件,日誌文件,數據文件

控制文件,日誌文件,數據文件

server進程 獨立 數據庫服務 結構 前臺 初始 oracle 不能 共享

控制文件中包含了數據庫信息、CKPT 進程信息、REDO 信息、數據文件和表空間信息等重要的數據庫信息,也包含了日誌切換的歷史信息和 RMAN 備份的 CATALOG
信息

在線日誌文件主要用於記錄數據庫的變更信息.

數據文件是存儲Oracle數據庫中的數據的,是Oracle數據庫最核心的文件.Oracle數據庫中的表,索引等都是記錄在數據文件中中的.其中系統表空間包含的數據文件裏保存了數據庫的元數據(metdata),如果metadata出現故障,訪問數據庫的數據時就會發生問題.

數據文件中還有一類特殊的文件,即臨時文件,一般來說,臨時文件屬於臨時表空間.臨時文件是Oracle存放臨時數據的,比如排序數據,臨時表.一旦數據庫重啟,臨時文件將會丟失,我們不能把永久性的表和索引 放在臨時文件中.

Oracle數據庫的實例必須依賴於某個特定的ORACLE_HOME,啟動實例需要的所有的程序和相關文件(除了數據庫外)都包含在$ORACLE_HOME中,除此之外,每個實例都有自己獨立的SID,在同一個ORACLE_HOME下,允許啟動多個實例,但是這些實例必須擁有不同的SID.一個非RAC的數據庫是不允許被多個實例打開的,因為實例mount獨立數據庫的時候,是以排他方式進行的.

應用訪問數據庫三種方式:1.應用進程直接訪問數據庫實例的共享內存;2.通過beq協議在本機上訪問 3.通過網絡協議訪問

第一種方式使用場合很少,後兩種方式都是基於two-task結構的,都需要在數據庫服務器上建立一個服務進程(server進程)來為客戶端應用服務.two-task架構下訪問數據庫,首先需要在服務器端創建一個進程,這個進程啟動時先要映射共享內存,然後才能夠通過共享內存中的內部數據結構完成會話的初始工作.

在本機上不經過SQL*NET連接數據庫,前臺進程和用戶進程之間通過IPC機制進行通信,通信協議就是著名的Bequeath協議,簡稱BEQ協議.使用SQL*NET協議的前臺進程和用戶進程之間的通信采用Socket通信. (BEQ協議在效率上高於Socket通信.

控制文件,日誌文件,數據文件