資源描述:
《oracle在linux的啟動(dòng)、訪問(wèn)、停止.pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。
1、第1章數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉通常所說(shuō)的OracleServer主要由兩個(gè)部分組成:Instance和Database。Instance是指一組后臺(tái)進(jìn)程(在Windows上是一組線程)和一塊共享內(nèi)存區(qū)域;Database是指存儲(chǔ)在磁盤(pán)上的一組物理文件。通過(guò)Instance與Database協(xié)同,Oracle數(shù)據(jù)庫(kù)才能形成一個(gè)動(dòng)態(tài)的可訪問(wèn)關(guān)系型數(shù)據(jù)庫(kù)系統(tǒng)。本章將由數(shù)據(jù)庫(kù)如何啟動(dòng)與關(guān)閉入手,開(kāi)始和大家一起進(jìn)入Oracle數(shù)據(jù)庫(kù)的國(guó)度。1.1數(shù)據(jù)庫(kù)的啟動(dòng)從表象來(lái)看,數(shù)據(jù)庫(kù)的啟動(dòng)極其簡(jiǎn)單,只需要以SYSDBA/SYSOPER身份登錄,敲一
2、條startup命令既可啟動(dòng)數(shù)據(jù)庫(kù)。然而在這條命令之后,Oracle需要執(zhí)行一系列復(fù)雜的操作,深入理解這些操作不僅有助于了解Oracle數(shù)據(jù)庫(kù)的運(yùn)行機(jī)制,還可以在故障發(fā)生時(shí)幫助大家快速的定位問(wèn)題的根源所在,所以接下來(lái)將分析一下數(shù)據(jù)庫(kù)的啟動(dòng)過(guò)程。Oracle數(shù)據(jù)庫(kù)的啟動(dòng)主要包含3個(gè)步驟:ò啟動(dòng)數(shù)據(jù)庫(kù)到NOMOUNT狀態(tài)ò啟動(dòng)數(shù)據(jù)庫(kù)到MOUNT狀態(tài)ò啟動(dòng)數(shù)據(jù)庫(kù)到OPEN狀態(tài)完成這3個(gè)過(guò)程,數(shù)據(jù)庫(kù)才能進(jìn)入就緒狀態(tài),準(zhǔn)備提供數(shù)據(jù)訪問(wèn)。圖1-1描述了一個(gè)數(shù)據(jù)庫(kù)從關(guān)閉(SHUTDOWN)狀態(tài)到OPEN狀態(tài)經(jīng)歷的這些步驟(關(guān)閉步驟與此相反
3、,是一個(gè)逆向過(guò)程):書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名書(shū)名下面逐個(gè)來(lái)看看以上各個(gè)步驟的具體過(guò)程以及含義。1.1.1啟動(dòng)數(shù)據(jù)庫(kù)到NOMOUNT狀態(tài)在啟動(dòng)的第一步驟,Oracle首先尋找參數(shù)文件(pfile/spfile),然后根據(jù)參數(shù)文件中的設(shè)置(如內(nèi)存分配等設(shè)置),創(chuàng)建實(shí)例(Instance),分配內(nèi)存,啟動(dòng)后臺(tái)進(jìn)程。NOMOUNT的過(guò)程也就是啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例的過(guò)程。這個(gè)過(guò)程在后臺(tái)是啟動(dòng)Oracle可執(zhí)行程序的過(guò)程,Windows上是oracle.exe文件的初始化,在UNIX/Linux上是Oracle可執(zhí)
4、行文件的初始化。Windows上Oracle11g的執(zhí)行文件大小約為86MB,而Linux下Oracle11g的執(zhí)行文件達(dá)到145MB左右:D:oracleproduct11.1.0BIN>diroracle.exe2007-10-0317:4289,702,400oracle.exe[oracle@localhostbin]$ls-al$ORACLE_HOME/bin/oracle-rwsr-s--x1oracledba151901909Jul415:13/opt/oracle/product/11.1.0/bin
5、/oracle在UNIX/Linux上可以通過(guò)file命令查看oracle執(zhí)行文件來(lái)判斷Oracle是64位或是32位的,以下是Linux平臺(tái)的一個(gè)示范輸出,輸出顯示Oracle為32位:[oracle@localhostbin]$file$ORACLE_HOME/bin/oracle/opt/oracle/product/11.1.0/bin/oracle:setuidsetgidELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux2.2.5,dynam
6、icallylinked(usessharedlibs),notstripped在Windows上,也有可選的命令增強(qiáng)工具可以提供類(lèi)似的功能。了解Oracle可執(zhí)行文件還有另外一個(gè)用途,在UNIX/Linux上通過(guò)strings命令可以將Oracle可執(zhí)行文件中的字符文本轉(zhuǎn)儲(chǔ)出來(lái),在轉(zhuǎn)儲(chǔ)的文本中可以找到很多有意思的信息,比如一些Oracle未公開(kāi)的Hints信息、數(shù)據(jù)庫(kù)字典基表創(chuàng)建信息等,類(lèi)似如下一條命令可以完成這樣的工作:strings$ORACLE_HOME/bin/oracle>oracle.txt在NOMOUNT初始
7、化的過(guò)程中,只要擁有了一個(gè)參數(shù)文件,就可以憑之啟動(dòng)實(shí)例(Instance),這一步驟并不需要任何控制文件或數(shù)據(jù)文件等的參與。1.實(shí)例以及進(jìn)程的創(chuàng)建以下是正常情況下啟動(dòng)到NOMOUNT狀態(tài)的過(guò)程:[oracle@eyglebdump]$sqlplus/nologSQL*Plus:Release10.2.0.1.0-ProductiononWedJun2812:42:302006Copyright(c)1982,2005,Oracle.Allrightsreserved.SQL>connect/assysdbaConnected
8、toanidleinstance.·2·第1章數(shù)據(jù)庫(kù)的啟動(dòng)和關(guān)閉SQL>startupnomount;ORACLEinstancestarted.TotalSystemGlobalArea1073741824bytesFixedSize1223488bytesVariableSize264