好多人學了很長時間的資料庫了,但執行個體(常式)和資料庫經常搞昏.這個可能是學院教育的後遺症吧.
首先說說,資料庫是做什麼?資料庫是用來長久儲存資料的,而我們大家都知道記憶體只能臨時儲存,磁碟等才能真正儲存資料.那你說資料庫會放那裡呢?肯定是存放在磁碟上,其實資料庫就是磁碟上的一個檔案. 從上面我們得出結論:資料庫==磁碟上的檔案. 既然資料庫可以看成磁碟上檔案,我們怎麼使用資料庫呢?如果說我們可以直接使用資料庫,那就等價與直接使用磁碟上的檔案.我們知道這樣的一個常識:必須把磁碟上的檔案讀入記憶體才能使用.這就與我們以前所知道的一個常識相違背了.那正確的流程是不是應該這樣呢?把磁碟上檔案先讀入記憶體,然後再使用呢.對了,這個才是使用資料庫的正確流程.資料庫如何讀入記憶體呢?這個時候,就是我們要介紹的instance(執行個體)了.執行個體就是記憶體結構和一組後台進程.實際上,正常的資料庫讀入記憶體的過程是,由執行個體中一組後台進程從磁碟上將資料檔案讀入到執行個體的記憶體中,然後經過在記憶體中對資料的操作再從執行個體的記憶體中經過一組後台進程寫到資料庫中.那執行個體相對與資料庫而言,應該就是資料庫的運行環境(隨不準確但也很貼切).我們知道了instance和database的區別後.下面我們做一個Oracle的例子,一塊深刻的理解下這兩個概念.在Oracle中開啟一個資料庫,這個時候我們要使用sqlplus了.sqlplus是oracle的一個串連工具,相當於sql server中的查詢分析器.使用使用者名稱:system密碼:manger(自己在裝Oracle時設定的)點登入進入sqlplus.登入sqlplus以後,system這個使用者是沒有許可權啟動執行個體的,所以我們這時要更換登入使用者.使用sys使用者串連的命令如下 : conn sys as dba 密碼:輸入完後.可以再輸入如下命令查看目前使用者: show user;一:下面就可以開啟資料庫了1.啟動執行個體(instance)startup nomount2.將資料庫裝載到執行個體(instance)中alter database mount3.開啟資料庫alter database open二:關閉資料庫: 1.shutdown immediate(包括三個步驟如下所述:) 首先關閉資料庫 然後從執行個體上卸載資料庫 最後關閉執行個體通過Oracle開啟以及關閉一個資料庫的例子我們可以清楚的區分.資料庫(database)和執行個體(instance)的概念.
oracle
執行個體
instance
資料庫
database
startup
學院教育
後遺症
it