關(guān)閉實例的方法:1、使用“shutdown normal;”語句;2、使用“shutdown transactional;”語句;3、使用“shutdown immediate;”語句;4、使用“shutdown abort;”語句。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Oracle 11g版、Dell G3電腦。
Oracle實例指的是由Oracle內(nèi)存結(jié)構(gòu)(SGA)和Oracle進程組合在一起的統(tǒng)稱。我們常說的Oracle數(shù)據(jù)庫指的是Oracle數(shù)據(jù)庫管理系統(tǒng),它是由Oracle 數(shù)據(jù)庫(數(shù)據(jù)存儲)和管理數(shù)據(jù)庫的實例組成的。
Oracle實例就是Oracle利用后臺內(nèi)存結(jié)構(gòu)(SGA)和進程來管理oracle數(shù)據(jù)庫,同時提供服務(wù)。
oracle怎么關(guān)閉實例
Oracle關(guān)閉數(shù)據(jù)庫實例也分為三個步驟:
-
關(guān)閉數(shù)據(jù)庫
-
卸載數(shù)據(jù)庫
-
關(guān)閉Oracle實例
1、NORMAL方式:正常關(guān)閉方式,如果對關(guān)閉數(shù)據(jù)庫的時間沒有限制,通常會使用這種方式來關(guān)閉數(shù)據(jù)庫。
shutdown normal;
講解:正常方式關(guān)閉數(shù)據(jù)時,Oracle執(zhí)行如下操作:
(1)阻止任何用戶建立新的連接。
(2)等待當(dāng)前所有正在連接的用戶主動斷開連接(此方式下Oracle不會立即斷掉當(dāng)前用戶的連接,這些用戶仍然操作相關(guān)的操作)
(3)一旦所有的用戶都斷開連接,則立即關(guān)閉、卸載數(shù)據(jù)庫,并終止實例。(所以,一般以正常方式關(guān)閉數(shù)據(jù)庫時,應(yīng)該通知所有在線的用戶盡快斷開連接)
2、TRANSACTINOAL方式:事務(wù)關(guān)閉方式,首要任 務(wù)是能夠保證當(dāng)前所有的活動事務(wù)都可以被提交,并在盡可能短的時間內(nèi)關(guān)閉數(shù)據(jù)庫。
shutdown transactional;
講解:這種方式介于正常關(guān)閉方式跟立即關(guān)閉方式之間,響應(yīng)時間會比較快,處理也將比較得當(dāng)。執(zhí)行過程如下:
(1)阻止任何用戶建立新的連接,同時阻止當(dāng)前連接的用戶開始任何新的事務(wù)。
(2)等待所有未提交的活動事務(wù)提交完畢,然后立即斷開用戶的連接。
(3)直接關(guān)閉、卸載數(shù)據(jù)庫,并終止實例。
3、IMMEDIATE方式:立即關(guān)閉方式,這種方式能夠在盡可能短的時間內(nèi)關(guān)閉數(shù)據(jù)庫。
shutdown immediate;
講解:
(1)阻止任何用戶建立新的連接,同時阻止當(dāng)前連接的用戶開始任何新的事務(wù)。
(2)Oracle不等待在線用戶主動斷開連接,強制終止用戶的當(dāng)前事務(wù),將任何未提交的事務(wù)回退。(如果存在太多未提交的事務(wù),此方式將會耗費很長時間終止和回退事務(wù))
(3)直接關(guān)閉、卸載數(shù)據(jù)庫,并終止實例。
4、ABORT方式:終止關(guān)閉方式,終止關(guān)閉方式具有一定的強制性和破壞性。
shutdown abort;
講解:這是比較粗暴的一種關(guān)閉方式,當(dāng)前面3種方式都無法關(guān)閉時,可以嘗試使用終止方式來關(guān)閉數(shù)據(jù)庫。但是以這種方式關(guān)閉數(shù)據(jù)庫將會丟失一部份數(shù)據(jù)信息,當(dāng)重新啟動實例并打開數(shù)據(jù)庫時,后臺進程SMON會執(zhí)行實例恢復(fù)操作。一般情況下,應(yīng)當(dāng)盡量避免使用這種方式來關(guān)閉數(shù)據(jù)庫。執(zhí)行過程如下:
(1)阻止任何用戶建立新的連接,同時阻止當(dāng)前連接的用戶開始任何新的事務(wù)。
(2)立即終止當(dāng)前正在執(zhí)行的SQL語句。
(3)任何未提交的事務(wù)均不被退名。
(4)直接斷開所有用戶的連接,關(guān)閉、卸載數(shù)據(jù)庫,并終止實例。
推薦教程:《Oracle教程》