讀書筆記:深入解析oracle-第一章 資料庫的啟動和關閉

浪漫雙魚發表於2011-05-27

1、 啟動階段在告警日誌裡面記錄的是引數檔案指定的非預設引數。

2、 Nomount的過程就是啟動資料庫例項的過程。

3、 unix/linux上可以通過file命令檢視oracle執行檔案來判斷oracle64位或是32位的

$ file oracle

oracle: 64-bit XCOFF executable or object module not stripped

4、 Oracle後臺程式啟動告警日誌的變遷

9i早期版本:日誌資訊不包含OS ID

9.2.0.4:包含OS ID

Oracle 11g:不僅包含OS ID,而且每個後臺程式的啟動都有單獨的時間標記。

5、 v$process檢視看到pid=1的程式是一個PSEUDO程式,這個程式被認為是初始化資料庫的程式,啟動其他程式之前即被佔用,並在資料庫中一直存在。

6、 Oracle提供了一個小工具sysresv,可以找到對應於不同的ORACLE_SID,作業系統上建立的共享記憶體段id

$ sysresv -l cqtmsztf

IPC Resources for ORACLE_SID "cqtmsztf" :

Shared Memory:

ID              KEY

2097160         0x03f600f8

Oracle Instance alive for sid "cqtmsztf"

7、 初始化引數INSTANCE_NAMEORACLE_SID可以不同,不同例項可以擁有相同的INSTANCE_NAME

在資料庫內部檢視v$instance中也記錄著一個INSTANCE_NAME,這個INSTANCE_NAME來自資料庫例項的SID,始終和ORACLE_SID保持一致,這就可能出現資料庫中這兩個INSTANCE_NAME不一致的情況。

8、 ORACLE選擇引數檔案的順序

spfile.ora  >  spfile.ora  >  init.ora

如果以上三個檔案都不存在,oracle則無法啟動資料庫。

引數檔案的選擇是寫在應用程式的硬程式碼中的,不能更改。

引數檔案的最少引數是db_name,只有設定了這個值,就能啟動例項。

使用rman時,存在更為特殊的情況,oracle允許在不存在引數檔案的情況下啟動例項,db_name被預設命名為DUMMY

9、 DB_NAME代表了例項即將掛接的資料庫名稱,關係到具體的物理檔案。不需不超過8個字元。

10、      如果例項都無法建立,那通常是在OS方面存在問題。

11、      在啟動的時候資料庫需要計算mount id並記錄到控制檔案中,然後開啟心跳,每3秒鐘更新一次控制檔案。使用如下命令可以轉儲控制檔案

Alter session set events immediate trace name CONTROLF level 10;

   可以從一個檢視中檢視當前的心跳值

Select CPHBT from x$kcccp;

12、      在資料庫未啟動之前,資料庫內建使用者是無法通過資料庫本身來驗證身份的,通過口令檔案,oracle可以實現對使用者的身份認證,在資料庫啟動之前登入,進而啟動資料庫。

13、      對於口令檔案,oracle預設查詢orapw檔案,如果該檔案不存在,則繼續查詢orapw檔案,如果兩者都不存在,則資料庫將會出現錯誤。在9i中,口令檔案在資料庫的MOUNT階段被檢測。

14、      在同一臺伺服器上啟動相同db_name的資料庫,9i中需設定引數lock_name_space,10g中設定db_unique_name

15、      OPEN階段的一致性檢查

A、 第一次檢查資料檔案中的檢查點計數(Checkpoint CNT)是否和控制檔案中的檢查點計數(Checkpoint CNT)一致。此步驟檢查用以確認資料檔案是來自同一版本,而不是從備份中恢復而來。

B、 第二次檢查資料檔案頭的開始SCN和控制檔案中記錄的該檔案的結束SCN是否一致,如果控制檔案中記錄的結束SCN等於資料檔案頭的開始SCN,則不需要對那個檔案進行恢復。對每個資料檔案都完成檢查後,開啟資料庫,鎖定資料檔案,同時將每個資料檔案的結束SCN設定為無窮大。

16、      11g日誌引進新特性自動診斷庫(Automatic Diagnostic Repository,ADR),通常稱為ADR BASE,設定diagnostic_dest啟動該特性。檢視該日誌的工具ADRCI(ADR Command Interpreter)隨之提供。ADR之於診斷檔案,就類似於OFA(Optimal Flexible Architecture)之於資料庫檔案,FRA(Flash Recovery Area)之於備份檔案。

    新特性:故障診斷基礎架構(Fault Diagnosability Infrastructure),實現這一架構設想的一項技術是:第一時間自動診斷資料鋪獲(Automatic capture of diagnostic data upon first failure).oracle也將FDI稱為oracle資料庫的黑匣子,配合FDI的另外一項技術是事件打包服務(Incident Packaging Service,IPS)

17、      Oracle10g開始,可以通過如下方式連線資料庫

Sql>connect eygle/eygle@localhost:1521/eygle

18、      監聽動態註冊是指當例項啟動之後,由後臺程式PMON在監聽器中註冊資料庫服務資訊。

19、      預設的監聽PLSExtProc是為外部儲存過程呼叫而配置的。

20、      如果非要使用abort的方式關閉資料庫,可以在關閉資料庫之前執行一次checkpoint

21、      通過v$instance_recovery可以檢視當前資料庫估計的平均恢復時間。

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

相關文章