二、資料庫狀態切換
三、關閉資料庫
oracle資料庫的啟用和關閉需要dba許可權,本文介紹的全部操作由sysdba來執行。
在執行資料庫例項的作業系統的shell裡執行以下命令就可以獲得sysdba許可權。
oracle資料庫例項的啟動要經歷三個階段。
1)nomount:啟動例項(start an instance)。
2)mount:裝載資料庫(mount the database)。
3)open:開啟資料庫(open the database)。
執行以下命令啟動資料庫例項:
startup nomount;
nomount狀態啟動oracle的可執行程式,初始化資料庫例項,包括以三步驟:
1)讀取引數檔案pfile或spfile,pfile是文字檔案,spfile是二進位制檔案,它們的內容相同,只是格式不一樣,oracle推薦使用spfile。spfile存放在$oracle_home/dbs目錄下,預設名字是spfile$oracle_sid.ora,如/oracle/home/dbs/spfilesnorcl11g.ora。
2)根據引數檔案中的引數,分配系統全域性區sga;
3)啟動後台程序,包括資料庫寫入程序dbwr,日誌寫入程序lgwr,檢查點程序ckpt,系統監控程序smon,程序監控程序pmon,歸檔程序arch等。
sga和後台程序組合起來組成例項(oracle instance)。
執行以下sql查詢例項的狀態:
執行以下命令裝載資料庫:
alter database mount;
裝載資料庫時開啟控制檔案(control file)從控制檔案中獲得資料檔案(data file)和聯機日誌檔案(redo log file)資訊把例項和資料庫關聯起來。
mount狀態一般用於dba對資料庫進行維護(如資料恢復),對於普通使用者,資料庫還是不可訪問。
執行以下sql查詢例項和資料庫的狀態:
執行以下命令開啟資料庫:
alter database open;
oracle開啟資料檔案(data files)和聯機日誌檔案(redo log file)。這時候資料庫可以使用,普通使用者可以登入資料庫,對資料庫進行操作。
執行以下sql查詢例項和資料庫的狀態:
執行startup open命令直接啟動資料庫,相當於以上三個步驟,open可以省略不寫。
alter database close;
alter database dismount;
在限制模式下,只有create session和restricted session許可權的使用者可以訪問資料庫。
1)如果資料庫是關閉的。
startup restrict;
2)如果資料庫是開啟的。
alter system enable restricted session;
1)如果資料庫是關閉的。
startup open read only;
2)如果資料庫是mount狀態。
alter database open read only;
在直讀模式下,資料檔案和日誌檔案都禁止寫操作,整個資料庫是唯讀的。但是允許資料庫恢復(database recovery)及其他不會產生事務的操作。
startup open recover;
oracle的關閉也要經歷關閉資料庫、解除安裝資料庫和關閉例項三個階段。
1)關閉資料庫(close the database)
oracle首先把sga中的資料寫到資料檔案和日誌檔案中,然後再關閉資料檔案和聯機日誌檔案。
2)解除安裝資料庫(dismount the database)
資料庫關閉完成之後,oracle將分離資料庫和例項之間的聯絡,這個階段叫做「解除安裝資料庫」或者叫「dismount資料庫」。
3)關閉例項(shut down the instance)
這個階段oracle將從釋放sga占用的記憶體,終止全部的後台服務程序。
使用immediate方式關閉資料庫時:
1)新的使用者不能登入資料庫;
2)未提交的事務將會被回滾;
3)oracle不會等待所有的使用者(連線)退出資料庫。
特點:1)這種關閉方式可能會造成資料丟失;
2)資料庫重啟時不需要例項恢復。
推薦使用immediate方式關閉資料庫。
以transactional方式關閉資料庫時:
1)不允許新的使用者登入資料庫;
2)不允許建立新的事務;
3)所有的事務完成以後才關閉資料庫;
4)乙個使用者(會話)執行完當前的事務後將被強行斷開與資料庫的連線。
特點:1)這種關閉方式不會造成資料丟失;
2)資料庫重啟時不需要例項恢復;
3)這是最安全的關閉方式。
以abort方式關閉資料庫時:
1)不允許建立新的連線和新的事務;
2)客戶端的sql語句立刻終止;
3)未提交的事務不被回滾;
4)oracle立刻終止所有連線(會話)。
特點:1)只有資料庫出現問題時候,才使用這種方式關閉資料庫;
2)這是一種最不安全的關閉方式,資料庫重啟時需要例項恢復。
使用normal方式關閉資料庫時:
(1)允許新的使用者注登入資料庫;
(2)要等所有的使用者自動退出oracle以後,oracle才關閉資料庫。如果有未退出的使用者,那麼oracle就一直等待,直到這個使用者退出才關閉資料庫。
normal是最慢的資料庫關閉方式,不推薦。
startup force;
相當於shutdown abort和startup。 oracle啟動和關閉
資料庫的啟動有三中 1 startup nomount 這種過程又稱為 非安裝啟動 啟動過程為 啟動oracle例項,不載入資料庫,不開啟資料庫。在這個過程中只需要init.ora初始化引數檔案,重建控制檔案,即啟動sga和後台程序 在以下幾種情況下需要用到這種模式 a 資料庫的控制檔案全部損害 b...
Oracle的啟動和關閉
例項的概念 例項是oracle用來管理資料庫的乙個實體,它由位於伺服器中的記憶體結構和一系列服務程序組成.乙個例項只能訪問乙個資料庫,而乙個資料庫可以由多個例項同時訪問.例項在使用者和資料庫之間充當乙個中介軟體的角色.資料庫跟例項是兩回事情,資料庫主要是指oracle儲存資料的一系列物理儲存結構.資...
Oracle的啟動和關閉
二 資料庫狀態切換 三 關閉資料庫 oracle資料庫的啟用和關閉需要dba許可權,本文介紹的全部操作由sysdba來執行。在執行資料庫例項的作業系統的shell裡執行以下命令就可以獲得sysdba許可權。oracle資料庫例項的啟動要經歷三個階段。1 nomount 啟動例項 start an i...