Oracle數據庫實例之【啓動關閉篇】

***********************************************

Oracle 數據庫實例啓動關閉過程

***********************************************

    Oracle數據庫實例的啓動,嚴格來說應該是實例的啓動,數據庫僅僅是在實例啓動後進行裝載。Oracle數據啓動的過程被劃分爲

幾個不同的步驟,在不同的啓動過程中,我們可以對其實現不同的操作,系統修復等等工作,因此瞭解Oracle數據啓動、關閉是非

常有必要的。下面詳細了Oracle Database 10g數據庫啓動及關閉的過程。

 

一、數據庫實例的啓動

    啓動命令:starup [force][restrict] [pfile=...] [nomount] [mount] [open]

    啓動過程:nomount ---> mount ---> open     (startup不帶參數將逐步一一完成)

    1.nomount階段(即實例的啓動)

        實例的啓動通常包含下列任務:

           a.按以下順序在$ORACLE_HOME/dbs[win平臺爲database]目錄下搜索下列文件,即如果第一個沒找到,就找下一個

               spfile<SID>.ora ---> spfile.ora ---> init<SID>.ora

           b.分配SGA

           c.啓動後臺進程

           d.打開並修改告警<SID>.log文件及跟蹤文件

       使用場景:

           多用於數據庫創建、控制文件重建、特定的備份恢復等

       注意:

           此階段不打開任何的控制文件及數據文件。

          

    2.mount階段

        mount階段完成的任務:

           a.啓動實例並打開控制文件,將數據庫與實例關聯起來

           b.利用參數文件中的說明,打開並鎖定控制文件

           c.讀取控制文件以獲取數據文件和重做日誌文件的名字和狀態信息,但不檢查數據日誌文件是否存在

       使用場景:

           a.重命名數據文件,移動數據文件位置等(數據庫打開,表空間脫機的情況下也可以重命名數據文件)

           b.啓用或關閉重做日誌文件的歸檔及非歸檔模式

           c.實現數據庫的完全恢復

       注意:

           這一步會讀控制文件,如果這一步有一個控制文件損壞就無法啓動

          

    3.open階段

       mount階段完成的任務:

           a.打開數據文件

           b.打開聯機日誌文件

       注意:

            a.在此期間,Oracle服務器將校驗所偶的數據文件和聯機日誌文件能否打開並對數據庫作一致性檢查

           b.如果出現一致性錯誤,SMON進程將啓動實例恢復

           c.如果任一數據文件或聯機日誌文件丟失,Oracle服務器將報錯


    4.特殊的方式打開數據庫

       只讀模式:

       startup open read only;

       如果現在在mount

       alter database open read only;

       受限模式:

       有時進行數據庫維護護,希望一般的用戶不能登錄。可以啓動到該模式,這樣只有用戶具有

       restricted session 權限,纔可登錄到數據庫。

       啓動方法:

           startup restrict;

       取消受限:

            alter system disable restricted session;

 

二、數據庫實例的關閉

    關閉命令:shutdowm abort | immediate | transactional | normal (shutdown不帶參數將缺省爲normal)

    關閉選項:

       normal         --->不准許新的連接,等待當前的session結束,等待當前的事務結束,強制檢查點並關閉文件

       transactional --->不准許新的連接,不等待當前的session結束,等待當前的事務結束,強制檢查點並關閉文件。

       immediate      --->不准許新的連接,不等待當前的session結束,不等待當前的事務結束,強制檢查點並關閉文件。

       abort          --->不准許新的連接,不等待當前的session結束,不等待當前的事務結束,不作強制檢查點。

   

三、幾類診斷文件

    包含有重要意義時間的具體信息,用於解決問題,用於日常更好的管理數據庫

   

    a.alterSID.log    告警文件

        記錄了數據庫啓動、關閉時間和一些重要操作及錯誤警告信息,包含錯誤號ora-,dba管理

       位置由background_dump_dest

       維護alertSID.log,定期轉移,系統會自動產生新的alert_sid.log

      

    b.後臺進程跟蹤文件:

       記錄了後臺進程的一些重要信息和警告、錯誤等

       位置:$ORACLE_BASE/admin/vvorcl/bdump/vvorcl_lgwr_15135.trc

      

    c.用戶跟蹤文件:

       由用戶進程產生也能由服務器進程產生,跟蹤用戶的SQL語句的統計信息,也包括錯誤信息

       文件位置由user_dump_dest

       用戶跟蹤:

              會話級:

                  alter session set sql_trace=true;

              實例級:

                  alter system set set sql_trace=true;

       跟蹤文件的大小由max_dump_file_size參數決定。跟蹤時最好要限制他的大小

     

四、動態性能視圖

        記錄當前數據庫的活動,並且不停的更新,故不能保證讀取數據的一致性

        監控和調整數據庫

        所有者sys

        v$開頭

       DICTDICT_COLUMNS視圖包含了動態性能視圖描述及其列的描述

       v$FIXED_TALBE包含了所有視圖的名字及相關信息


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章