startup,startup mount,startup nomount之間的區別


startup nomount選項:(讀初始化參數文件,啟動實例)
startup nomount選項啟動實例,但不安裝 數據庫。當數據庫以這個模式啟動時,參數文件被讀取;后台進程和內存結構被啟動;但它們不被附加或與數據庫的磁盤結構進行通信。當實例處於這個狀態時,數據庫是不可使用的。
通常啟動到這里可以做create database , create or recreate control file 或者是mount standby database等動作,修改parameter也是可以的。
 
startup mount 選項:(打開控制文件)
startup nount選項執行STARTUP NOMOUNT選項的所有工作,但另外附加數據庫結構並與這些結構進行交互。這時 Oracle從它用來查找和附加到主要數據庫結構的控制文件中獲得信息。當處於這個模式時,可以執行一些管理型任務,比如恢復。
讀取control file 
通常啟動到這里的目的有
recover dtabase ; backup database ; rename db files ,change archivelog mode等
 
startup open 選項:(打開數據文件,日志文件)
如果STARTUP命令行上沒有指定任何模式,STARTUP OPEN選項就是默認的啟動模式。STARTUP OPEN選項執行STARTUP NOMOUNT和STARTUP MOUNT選項的所有步驟。這個選項把數據庫變成對所有用戶都時可用的。
open datafile ,online redo log
 
startup force選項:
如果在用正常方式啟動數據庫時遇到了困難,可以使用STARTUP FORCE選項。STARTUP FORCE選項首先異常關閉數據庫,然后重新啟動它。
 
STARTUP RESTRICT選項:
STARTUP RESTRICT選項啟動數據庫並把它置入OPEN模式,但只給擁有RESTRICTED SESSION權限的用戶賦予訪問權。
RMAN> startup nomount
已連接到目標數據庫 (未啟動)
Oracle 例程已啟動
系統全局區域總計     135338868 字節
Fixed Size                      453492 字節
Variable Size                109051904 字節
Database Buffers              25165824 字節
Redo Buffers                    667648 字節
 
RMAN> startup mount
已連接到目標數據庫 (未啟動)
Oracle 例程已啟動
數據庫已加載
系統全局區域總計     135338868 字節
Fixed Size                      453492 字節
Variable Size                109051904 字節
Database Buffers              25165824 字節
Redo Buffers                    667648 字節
 
RMAN> startup
已連接到目標數據庫 (未啟動)
Oracle 例程已啟動
數據庫已加載
數據庫已打開
系統全局區域總計     135338868 字節
Fixed Size                      453492 字節
Variable Size                109051904 字節
Database Buffers              25165824 字節
Redo Buffers                    667648 字節
 
上面是三種類型的截圖,startup nomount只是啟動了實例而沒有啟動數據庫,startup mount啟動了實例,並加載了數據庫,但是數據庫沒有打開,startup是最全的,實例,數據庫加載,數據庫打開都完成。
例如下:
 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Microsoft Windows XP [版本 5.1.2600]
(C) 版權所有 1985-2001 Microsoft Corp.
 
C:\Documents and Settings\Administrator>cd\
 
C:\>sqlplus /nolog
 
SQL*Plus: Release 9.2.0.1.0 - Production on 星期一 9月 21 15:21:50 2009
 
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
 
SQL> connect / @dwj as sysdba
已連接。
SQL> startup nomount
ORA-01081: 無法啟動已在運行的 ORACLE --- 請首先關閉
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> startup nomount
ORACLE 例程已經啟動。
 
Total System Global Area  135338868 bytes
Fixed Size                   453492 bytes
Variable Size             109051904 bytes
Database Buffers           25165824 bytes
Redo Buffers                 667648 bytes
SQL>

 

 
 
shutdown的幾種方式,shutdown abort的一些弊端有哪些
 
1、shutdown normal  
 
   正常方式關閉數據庫。 
 
2、shutdown immediate  
 
   立即方式關閉數據庫。  
 
   在SVRMGRL中執行shutdown immediate,數據庫並不立即關閉,  
 
   而是在Oracle執行某些清除工作后才關閉(終止會話、釋放會話資源),  
 
   當使用shutdown不能關閉數據庫時,shutdown immediate可以完成數據庫關閉的操作。 
 
3、shutdown abort  
 
   直接關閉數據庫,正在訪問數據庫的會話會被突然終止,  
 
   如果數據庫中有大量操作正在執行,這時執行shutdown abort后,重新啟動數據庫需要很長時間 
 
-------------------------------------------------------- 
 
shutdown abort 的時候,跟kill 進程是一樣的效果 
 
數據庫立即關閉,這個時候文件狀態可能不一致 
 
因為正常關閉數據庫會同步校驗各文件,使得重新啟動的時候文件時間點一致並且不用進行崩潰恢復
 
若檢查點信息一致,則做崩潰恢復 
 
若檢查點信息不一致(正好在更新文件頭)則需要做介質恢復
 
這些問題都好處理,最怕的問題是這個時候系統有大量IO,結果這樣造成寫的突然中斷,碰巧造成文件塊的邏輯壞塊,那麻煩比較大一些,尤其是系統表空間的block損壞
 
雖然shutdown abort 出錯的幾率很小,1000個人可能只有一個人碰到,但是我們還是要小心。 
 
正確的處理流程是,shutdown immediate ,若數據庫遲遲不能down下來,在os上觀察IO狀況,幾乎沒有io的時候,另開一窗口shutdown  abort ,幾乎不會出問題了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM