Oracle數(shù)據(jù)庫啟動以及說明

Oracle相關(guān)記錄(by 陶世磊)2018-03-21 參考網(wǎng)絡(luò)資源整理

簡介

Oracle Server 是由實(shí)例(instance)和數(shù)據(jù)庫(database)組成。實(shí)例(instance)是由共享內(nèi)存(SGA)和后臺進(jìn)程組成质蕉。數(shù)據(jù)庫(dababase)是存儲在磁盤的一系列文件挠轴。

image.png

詳述

SGA主要由Share Pool(共享池传睹,又分Library Cache和Data Dictionary Cache,前者臨時存儲最近執(zhí)行過的語句代碼等岸晦,后者臨時存儲數(shù)據(jù)位置欧啤、表定義及用戶權(quán)限等)睛藻、

Database Buffer Cache(數(shù)據(jù)緩沖區(qū),臨時存儲讀過的數(shù)據(jù)塊)邢隧、Redo Log Buffer(重做日志緩沖區(qū)店印,臨時存儲數(shù)據(jù)庫修改操作)、Large Pool(大池倒慧,分擔(dān)Share Pool部

分工作供共享服務(wù)器進(jìn)程使用按摘,如備份恢復(fù)、大型I/O操作纫谅、并行查詢等)和Java Pool(Java池炫贤,分析Java語句)。

后臺進(jìn)程是數(shù)據(jù)庫和操作系統(tǒng)進(jìn)行交互的通道付秕,后臺進(jìn)程的命名由ORACLE_SID決定照激,ORACLE根據(jù)ORACLE_SID來尋找參數(shù)文件啟動實(shí)

例。是Oracle數(shù)據(jù)庫為保持最佳性能和協(xié)調(diào)多用戶請求而設(shè)置的盹牧,主要有DBWR(將Database Buffer Cache數(shù)據(jù)寫入Data Files)俩垃、LGWR(將Redo Log Buffer數(shù)據(jù)寫入Redo Log Files)、

CKPT(協(xié)調(diào)數(shù)據(jù)文件汰寓、控制文件和重做日志口柳,將System Change Number即SCN寫入到控制文件和數(shù)據(jù)文件頭部,促使DBWR有滑、LGWR執(zhí)行)跃闹、SMON(System Monitor,3方面作用:instance recovery實(shí)

例故障數(shù)據(jù)恢復(fù)毛好、合并空閑碎片空間望艺、回收臨時段)、PMON(用戶例程意外終止時處理事務(wù)肌访,如回退事務(wù)找默、釋放鎖及其他資源等)、ARCH(將Redo Log Files寫入Archive Log Files)吼驶、CJQ0(job queue coordinator)惩激、RVWR(recover writer,為flashback database提供日志記錄)等進(jìn)程蟹演。

數(shù)據(jù)庫(database)是指存儲在磁盤上的一組物理文件风钻,如數(shù)據(jù)文件(Data files,用于存儲數(shù)據(jù))酒请、控制文件(Control files骡技,存儲數(shù)據(jù)文件、重做日志文件羞反、歸檔日志文件位置及維護(hù)數(shù)據(jù)庫完整性所需信息)

和重做日志文件(Redo Log files布朦,存儲修改數(shù)據(jù)的所有操作記錄以備故障后恢復(fù))囤萤,這三個是啟動數(shù)據(jù)庫必須的文件;

另外還有參數(shù)文件(Parameter file喝滞,設(shè)置內(nèi)存后臺進(jìn)程的啟動等)阁将、歸檔日志文件(Archived Log files,歸檔記錄寫滿的重做日志文件的內(nèi)容)和口令文件(Password file右遭,驗(yàn)證用戶名密碼)做盅,這三個是非必須的文件店枣。

數(shù)據(jù)庫啟動三種狀態(tài)

數(shù)據(jù)庫啟動的三種方式(三個階段):

  • nomount : 需要參數(shù)文件
  • mount : 需要控制文件
  • open:需要全部的數(shù)據(jù)文件和日志文件馍资,并且保證所有的數(shù)據(jù)文件和日志文件與控制文件里面記錄的位置保持一致倦沧。

一般的啟動順序是:nomount-->mount-->open

oracle-start-700x375.png

啟動詳解

nomount狀態(tài):啟動實(shí)例喳整。

Reading the initialization file from $ORACLE_HOME/dbs in the following order:

從環(huán)境變量下dbs目錄按如下順序讀取初始化文件:

-first spfileSID.ora

首先,讀取spfile+實(shí)例名.ora

-if not found then, spfile.ora

若未發(fā)現(xiàn)文件則讀取spfile.ora

-if not found then, initSID.ora

若未發(fā)現(xiàn)文件則讀取init+實(shí)例名.ora

Specifying the PFILE parameter with STARTUP overrides the default behavior.

指定pfile參數(shù)文件啟動以替代默認(rèn)啟動方式

  • Allocating the SGA

分配SGA

  • Starting the background processes

啟動后臺進(jìn)程

  • Opening the alertSID.log file and the trace files

啟動預(yù)警日志文件(記錄實(shí)例生命周期內(nèi)事件每篷,如系統(tǒng)內(nèi)部錯誤篇裁、數(shù)據(jù)塊損壞菲饼、系統(tǒng)參數(shù)修改等)和追蹤文件(記錄SQL操作及時間消耗等)

The database must be named with the DB_NAME parameter either in the initialization Parameter file or in the STARTUP command.

數(shù)據(jù)庫必須用初始參數(shù)文件或啟動命令中的DB_NAME參數(shù)命名让腹。

mount狀態(tài):關(guān)聯(lián)實(shí)例與數(shù)據(jù)庫远剩,讀取控制文件并獲取數(shù)據(jù)文件和重做日志文件名稱狀態(tài)。

Mounting a database includes the following tasks:

裝載數(shù)據(jù)庫包括以下任務(wù):

  • Associating a database with a previously started instance

將先前啟動的實(shí)例與數(shù)據(jù)庫相關(guān)聯(lián)

  • Locating and opening the control files specified in the parameter file

從參數(shù)文件中找到控制文件位置并打開

  • Reading the control files to obtain the names and status of the data files and online redo log files.However,no checks are performed to verify the existence of the data files and online redo log files at this time.

從控制文件中讀取數(shù)據(jù)文件及重做日志文件名稱與狀態(tài)骇窍,但是瓜晤,此時并不檢查數(shù)據(jù)文件與重做日志文件的存在性。

open狀態(tài):

opening the database includes the following tasks:

打開數(shù)據(jù)庫包含以下任務(wù):

opening the online data log files

打開數(shù)據(jù)文件

opening the onling redo log files

打開重做日志文件

If any of the datafiles or noline redo log files are not present when you attempt to open the database ,the oracle server returns an error.

若在打開數(shù)據(jù)庫時數(shù)據(jù)文件或重做日志文件任何一個不存在腹纳,則Oracle服務(wù)器返回一個錯誤痢掠。

During this final stage,the oracle server verfies that all the data files and online redo log files can be opened and checks the consistency of the database. If necessary,the SMON background process initiates instance recovery.

在最后階段,Oracle數(shù)據(jù)庫驗(yàn)證數(shù)據(jù)文件和重做日志文件可否打開并檢驗(yàn)數(shù)據(jù)庫的一致性嘲恍,若不一致足画,SMON后臺進(jìn)程將啟動實(shí)例恢復(fù)。

shutdown或startup狀態(tài)可執(zhí)行的操作:

shutdown有四個參數(shù):normal佃牛、transactional淹辞、immediate、abort吁脱,不帶參數(shù)默認(rèn)為normal桑涎。

shutdown normal:不斷開現(xiàn)在連接用戶,阻止任何用戶建立新的連接兼贡,包括管理員在內(nèi)。已經(jīng)連接的用戶能夠繼續(xù)他們當(dāng)前的工作娃胆,如遞交新的更新事務(wù)遍希,直到此用戶自行斷開連接。這樣需要等待的時間長里烦,可以查出現(xiàn)連用戶凿蒜,再通知其自行斷開禁谦。所有的用戶都斷開連接,數(shù)據(jù)庫才進(jìn)行關(guān)閉操作废封,即關(guān)閉數(shù)據(jù)庫州泊、卸載數(shù)據(jù)庫、終止例程漂洋。在這種情況下關(guān)閉的數(shù)據(jù)庫在重新啟動后遥皂,不會出現(xiàn)問題。啟動時不需要實(shí)例恢復(fù)刽漂。

shutdown transactional:阻止任何用戶建立新連接演训,等待所有當(dāng)前連接用戶的未遞交的活動事務(wù)提交完畢,然后立即斷開用戶的連接贝咙。所有的用戶都斷開連接則立即關(guān)閉數(shù)據(jù)庫样悟,進(jìn)行關(guān)閉數(shù)據(jù)庫、卸載數(shù)據(jù)庫庭猩、終止進(jìn)程等操作窟她。這種方式,用戶有可能正在算賬蔼水,做復(fù)雜報(bào)表震糖!一次數(shù)據(jù)庫操作做不完的,在剛做了一次數(shù)據(jù)庫操作后徙缴,將被斷開试伙,這樣對用戶有一定影響,啟動時不需要實(shí)例恢復(fù)于样。

shutdown immediate:阻止任何用戶新的連接疏叨,同時限制當(dāng)前連接用戶開始新的事務(wù)。如果已連接用戶有未完成的事務(wù)穿剖,則數(shù)據(jù)庫系統(tǒng)不會等待他們完成蚤蔓,而是直接把當(dāng)前未遞交的事務(wù)回退。數(shù)據(jù)庫系統(tǒng)不再等待用戶主動斷開連接糊余,當(dāng)未遞交的事務(wù)回退成功后秀又,系統(tǒng)會直接關(guān)閉、卸載數(shù)據(jù)庫贬芥,并終止數(shù)據(jù)庫進(jìn)程吐辙,啟動時不需要實(shí)例恢復(fù)。

shutdown abort:當(dāng)數(shù)據(jù)庫出現(xiàn)故障時蘸劈,可能以上三種方式都無法正常關(guān)閉數(shù)據(jù)庫昏苏,則使用這種方法。強(qiáng)制結(jié)束當(dāng)前正在執(zhí)行的SQL語句,任何未遞交的事務(wù)都不被回退贤惯!這種方法基本上不會對控制文件或者參數(shù)文件造成破壞洼专,這比強(qiáng)制關(guān)機(jī)要好一點(diǎn)(在無法正常關(guān)閉數(shù)據(jù)庫的時候),啟動時自動進(jìn)行實(shí)例恢復(fù)孵构。

startup有7個參數(shù):nomount屁商、mount、open颈墅、pfile蜡镶、force、restrict和

startup nomount:通過參數(shù)文件精盅,分配sga帽哑,啟動數(shù)據(jù)庫后臺進(jìn)程,不打開控制文件和數(shù)據(jù)文件叹俏,不能訪問數(shù)據(jù)庫妻枕。

startup mount:僅給dba進(jìn)行管理操作,不允許數(shù)據(jù)庫用戶訪問粘驰。僅當(dāng)前實(shí)例的控制文件被打開屡谐,數(shù)據(jù)文件未打開,在這個模式下可以進(jìn)行如下操作:重命名數(shù)據(jù)文件蝌数、添加取消或重命名重做日志文件愕掏、設(shè)置歸檔模式、設(shè)置閃回顶伞、執(zhí)行完整的數(shù)據(jù)庫恢復(fù)操作等饵撑。

startup open:startup的默認(rèn)參數(shù)就是open,打開數(shù)據(jù)庫唆貌,允許數(shù)據(jù)庫的訪問滑潘,當(dāng)前實(shí)例控制文件中所描述的所有文件都已經(jīng)打開。

startup pfile=FILENAME:以FILENAME為初始化文件啟動數(shù)據(jù)庫锨咙,不是采用默認(rèn)初始化文件语卤。

startup force:中止當(dāng)前數(shù)據(jù)庫的運(yùn)行,并開始重新正常的啟動數(shù)據(jù)庫酪刀。

startup restrict:只允許具有restricted session權(quán)限的用戶訪問數(shù)據(jù)庫粹舵,該模式下登陸者可做如下操作:執(zhí)行數(shù)據(jù)庫數(shù)據(jù)的導(dǎo)出或?qū)搿?zhí)行數(shù)據(jù)裝載操作用SQL*Loader骂倘、暫時阻止一般的用戶使用數(shù)據(jù)眼滤、在某個移植過程和升級操作過程中restricted session登陸后可使用ALTER SYSTEM 語句來禁止RESTRICTED SESSION特性ALTER SYSTEM DISABLE RESTRICTED SESSION;如果是在非受限模式下打開的數(shù)據(jù)庫历涝,后來發(fā)現(xiàn)需要限制訪問柠偶,此時可以使用帶ENABLE RESTRICTED SESSION 子句的ALTER SYSTEM 語句來完成情妖。

查看相關(guān)信息

下面介紹一下如何查看數(shù)據(jù)庫相關(guān)的配置睬关,狀態(tài)等

  • 看當(dāng)前數(shù)據(jù)庫的狀態(tài):select status from V$instance;
  • 查看參數(shù)文件的位置:show parameter spfile;
  • 查看控制文件的位置:show parameter control;
  • 查看數(shù)據(jù)文件的位置:select file_name from dba_data_files;
  • 啟動數(shù)據(jù)庫到nomount狀態(tài):SQL>startup nomount;
  • 啟動數(shù)據(jù)庫到mount狀態(tài):SQL>startup mount;
  • 啟動數(shù)據(jù)庫到opent狀態(tài):SQL>startup;
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末诱担,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子电爹,更是在濱河造成了極大的恐慌蔫仙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丐箩,死亡現(xiàn)場離奇詭異摇邦,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)屎勘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進(jìn)店門施籍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人概漱,你說我怎么就攤上這事丑慎。” “怎么了瓤摧?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵竿裂,是天一觀的道長。 經(jīng)常有香客問我照弥,道長腻异,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任这揣,我火速辦了婚禮悔常,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘给赞。我一直安慰自己机打,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布塞俱。 她就那樣靜靜地躺著姐帚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪障涯。 梳的紋絲不亂的頭發(fā)上罐旗,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天,我揣著相機(jī)與錄音唯蝶,去河邊找鬼九秀。 笑死,一個胖子當(dāng)著我的面吹牛粘我,可吹牛的內(nèi)容都是我干的鼓蜒。 我是一名探鬼主播痹换,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼都弹!你這毒婦竟也來了娇豫?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤畅厢,失蹤者是張志新(化名)和其女友劉穎冯痢,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體框杜,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡浦楣,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了咪辱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片振劳。...
    茶點(diǎn)故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖油狂,靈堂內(nèi)的尸體忽然破棺而出历恐,到底是詐尸還是另有隱情,我是刑警寧澤选调,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布夹供,位于F島的核電站,受9級特大地震影響仁堪,放射性物質(zhì)發(fā)生泄漏哮洽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一弦聂、第九天 我趴在偏房一處隱蔽的房頂上張望鸟辅。 院中可真熱鬧,春花似錦莺葫、人聲如沸匪凉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽再层。三九已至,卻和暖如春堡纬,著一層夾襖步出監(jiān)牢的瞬間聂受,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工烤镐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛋济,地道東北人。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓炮叶,卻偏偏與公主長得像碗旅,于是被迫代替她去往敵國和親渡处。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,601評論 2 353

推薦閱讀更多精彩內(nèi)容