Oracle 資料庫體系結構 (上)

bitifi發表於2015-09-22
下面我們看以下體系結構圖

Oracle 資料庫是由兩部分組成:例項和 DB 

 

今天我們說一說在體系結構當中的各個檔案,和程式.

1資料檔案

首先資料檔案是資料庫所有資料的實際儲存位置,所有資料檔案的大小和夠成了資料庫的大小,隨著資料庫中資料量的增加,用過增加資料檔案數量或者改變資料檔案的大小,可以達到擴張資料庫的目的呢,根據資料資訊型別的不同,資料檔案分為永久性資料檔案和臨時性資料檔案,永久性資料檔案中的資料不會自動釋放,而臨時資料檔案中的資料在特定條件下回自動釋放。

在資料庫中 預設的是5個永久性資料檔案和一個臨時性檔案,

2. 控制檔案

控制檔案是記錄資料庫結構資訊的重要二進位制檔案。控制檔案中的資料庫結構資訊包括資料庫名稱,資料檔案位置,重做日誌檔案位置、資料庫當前的狀態資訊。資料庫啟動時,在nomount 狀態  到mount 狀態會讀取控制檔案,此時我們的控制檔案如果一旦是損壞的或者丟失的,那麼我們就無法將資料庫開啟。資料庫至少需要一個控制檔案。而且控制檔案都是可以複製的,所以為了保證資料檔案的可用性,通常會採用多路複用的方法建立多個控制檔案。

控制檔案,可以在資料庫中的檢視檢視 v$controlfile

  Slelect  name from v$controlfile;

 

重做日誌檔案

重做日誌檔案 又稱 聯機重做日誌檔案,是以重做記錄的形式記錄、儲存使用者對資料庫所進行的變更操作,是資料庫中重要的物理檔案,利用重做日誌檔案可以進行事物的重做 (REDO) 和(UNDO) ,是資料庫例項恢復的基礎,利用歸檔重做日誌檔案,聯機重做日誌檔案,以及資料庫備份可以完全恢復資料庫。

資料庫中的日誌是迴圈複寫的方式進行工作,因此至少需要兩個重做日誌檔案。

11g的時候建立資料庫時候,預設會建立3組重做日誌檔案組,每組包含一個重組日誌檔案組成員,可以透過查詢資料字典檢視:v$log 和 v$logfile 獲取重做日誌檔案組的資訊。

  Select  group#,sequence#.status from v$log;

 

4.歸檔重做日誌

歸檔重做日誌檔案就是聯機重做日誌檔案的集合,是聯機重做日誌檔案被覆蓋之前備份的副本,如果資料庫工作在歸檔模式下,資料庫歸檔程式就會自動將寫滿的重做日誌檔案在覆蓋之前複製到指定的位置,

   Oracle 11g  是預設歸檔關閉的, 我們可以透過 以下命令檢視狀態和開啟歸檔。

   Archive log list 

將資料庫啟到mount 的模式下 我們可以對資料庫 做到啟停的操作

Alter database archivelog   開啟資料庫歸檔模式

Alter database noarchivelog   關閉資料庫歸檔模式 

 

5.初始化引數檔案。

 資料庫的初始化引數檔案是資料庫啟動的時候所必須的檔案,記錄了資料庫顯示引數的設定,資料庫啟動的第一步就是根據初始化引數檔案中的設定,建立並啟動例項,初始化引數是一個二進位制檔案,必須透過alter system  命令修改該檔案中的引數。Spfile 

我們可以透過以下命令查詢初始化引數檔案。

Show parameter spfile 

 

口令檔案 

口令檔案是用於儲存資料庫中具有sysdba sysoper 系統許可權的使用者名稱及SYS使用者口令的二進位制檔案。如果系統DBA 認真方式採用口令檔案認證,當DBA SYSDBA身份登入的時候,系統首先到口令檔案中檢視當前使用者名稱資訊是夠存在,只有當使用者存在,並且口令正確時才可以登入資料庫。

可以透過檢視資料字典檢視 v$pwfile_users 獲取口令檔案中的使用者資訊,

Select username,sysdba,sysoper,sysasm from v$pwfile_users;

 

7跟蹤檔案

    跟蹤檔案是資料庫中重要的診斷檔案,是獲取資料庫資訊的重要工具,對管理資料庫的例項起著只管重要的作用,跟蹤檔案中包括資料庫系統執行過程中的所欲到的重大事件的有關資訊,可以為資料庫執行故障的解決提供資訊。

   跟蹤檔案分為後臺跟蹤檔案和使用者程式跟蹤檔案,後臺程式跟蹤檔案記錄所有後臺程式中出現的錯誤資訊,可以用於資料庫的診斷和排錯。後臺程式跟蹤檔案儲存在由 BACKGROUP_DUMP_DEST 引數指定的目錄中。

   使用者程式跟蹤檔案是由使用者程式或伺服器程式床在的,包含了用於跟蹤使用者SQL 語句的統計資訊,也包含了使用者的錯誤資訊,這些檔案僅僅在使用者會話期間遇到錯誤產生,使用者可以透過執行Oracle 跟蹤事件來生成該檔案,使用者程式跟蹤檔案儲存由 user_dump_DEST 引數指定的目錄中,如果想讓Oracle  伺服器產生使用者跟蹤檔案,需要修改一個初始化引數  wSQL_TRACE 該引數是一個動態值,可以在會話中修改 也可以在例項級修改。

Alter  session set sql_trace=true

Alter  system set sql_trace=true 

我們可以透過查詢引數 backupground _dump _dest / user_dump_dest  獲得後臺程式跟蹤檔案和使用者程式跟蹤檔案的儲存位置。

 Show parameter dump_dest 

 

報警檔案

報警檔案也是資料庫中重要的爭端檔案,記錄著資料庫在啟動、關閉、和執行期間後臺程式的活動情況,如資料庫啟動或關閉時間,表空間,回退段建立。某些alter 命令,日誌切換,錯誤資訊,當前日誌序列號,每個活動都與之相關的時間戳。在資料庫出現故障的時候,首先看的就是這個檔案。報警日誌檔案儲存在由 BACKUPGROUND_DUMP_DEST 引數目錄中。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30496894/viewspace-1805896/,如需轉載,請註明出處,否則將追究法律責任。

相關文章