1. 程式人生 > >ORACLE中shutdown命令和startup詳解

ORACLE中shutdown命令和startup詳解

本文轉自:http://www.ej38.com/showinfo/Oracle-196402.html

shutdown有四個引數:normal、transactional、immediate、abort。預設不帶任何引數時表示是normal

一:

shutdown normal:

     不斷開現在連線的使用者,阻止任何使用者建立新的連線,包括管理員在內。已經連線的使用者能夠繼續他們當前的工作,如遞交新的更新事務,直到此使用者自行斷開連線.這樣需要等待的時間長,可以查出現連使用者,再通知其自行斷開.

所有的使用者都斷開連線,資料庫才進行關閉操作,即關閉資料庫、解除安裝資料庫、終止例程。

在這種情況下關閉的資料庫在重新啟動後,不會出現問題。啟動時不需要例項恢復。

二:

shutdown transactional

     阻止任何使用者建立新的連線。等待所有當前連線使用者的未遞交的活動事務提交完畢,然後立即斷開使用者的連線。所有的使用者都斷開連線則立即關閉資料庫,進行關閉資料庫、解除安裝資料庫、終止程序等操作。這種方式,使用者有可能正在算賬,做複雜報表!一次資料庫操作做不完的,在剛做了一次資料庫操作後,將被斷開,這樣對使用者有一定影響.啟動時不需要例項恢復。

三:

shutdown immediate

      阻止任何使用者新的連線,同時限制當前連線使用者開始新的事務。如果已連線使用者有未完成的事務,則資料庫系統不會等待他們完成,而是直接把當前未遞交的事務回退。資料庫系統不再等待使用者主動斷開連線,當未遞交的事務回退成功後,系統會直接關閉、解除安裝資料庫,並終止資料庫程序。

啟動時不需要例項恢復。

四:

shutdown abort

     當資料庫出現故障時,可能以上三種方式都無法正常關閉資料庫,則使用這種方法.強制結束當前正在執行的SQL語句;任何未遞交的事務都不被回退!  這種方法基本上不會對控制檔案或者引數檔案造成破壞。這比強制關機要好一點(在無法正常關閉資料庫的時候).啟動時自動進行例項恢復。

對於normal、transactional、immediate,db bUFFER cACHE的內容寫入了資料檔案,沒有提交的事務被回滾,所有的資源被釋放,資料庫被“乾淨”的關閉。 
對於abort,db bUFFER cACHE的內容沒有寫入資料檔案,沒有提交的事務也沒有回滾。資料庫沒有DISMOUNT和關閉,資料檔案也沒有關閉。當資料庫啟動時,需要通過REDO LOG恢復資料,通過回滾段對事務回滾,對資源進行釋放。

測試時發現如下問題(用sysdba登陸)

ORA-00106: 無法在連線到排程程式時啟動/關閉資料庫

解決方法

  TEST   =   
      (DESCRIPTION   =   
          (ADDRESS_LIST   =   
              (ADDRESS   =   (PROTOCOL   =   TCP)(HOST   =   RUSHLIGHT)(PORT   =   1521))   
          )   
          (CONNECT_DATA   =   
              (SERVICE_NAME   =   TEST)   
              (SERVER=DEDICATED)     
        )   
      )  

紅色部分是需要新增的!新增後再測試即可(自我測試通過)

startup  命令

一:

startup nomount:僅僅通過初始化檔案,分配出sga區,啟動資料庫後臺程序,沒有開啟控制檔案和資料檔案。不能任何訪問資料庫。 
二:
startup mount:mount資料庫,僅僅給dba進行管理操作,不允許資料庫的使用者訪問。僅僅只是當前例項的控制檔案被開啟,資料檔案未開啟。 在這個模式下可以進行如下的某些操作:

    重新命名資料檔案
    新增取消或重新命名重做日誌檔案
    允許和禁止重做日誌存檔選項
    執行完整的資料庫恢復操作

三:
startup open:startup預設的引數就是open,開啟資料庫,允許資料庫的訪問。當前例項的控制檔案中所描述的所有檔案都已經開啟。

四:

startup pfile= FILENAME:以FILENAME為初始化檔案啟動資料庫,不是採用預設初始化檔案。

五:
startup force:中止當前資料庫的執行,並開始重新正常的啟動資料庫。


startup restrict:只允許具有restricted session許可權的使用者訪問資料庫。

這個模式下,登陸者可以:

      執行資料庫資料的匯出或匯入操作
      執行資料裝載操作用SQL*Loader
      暫時阻止一般的使用者使用資料
      在某個移植過程和升級操作過程中

restricted session登陸後可使用ALTER SYSTEM 語句來禁止RESTRICTED SESSION 特性
ALTER SYSTEM DISABLE RESTRICTED SESSION;
如果是在非受限模式下開啟的資料庫,後來發現需要限制訪問,此時可以使用帶ENABLE RESTRICTED SESSION 子句的ALTER SYSTEM 語句來完成。
七:
startup recover:資料庫啟動,並開始介質恢復。