首先說說,數據庫是做什麼?數據庫是用來長久存儲數據的,而我們大家都知道內存只能臨時存儲,磁盤等才能真正存儲數據.那你說數據庫會放那裏呢?肯定是存放在磁盤上,其實數據庫就是磁盤上的一個文件。
從上面我們得出結論:數據庫==磁盤上的文件.
既然數據庫可以看成磁盤上文件,我們怎麼使用數據庫呢?
如果說我們可以直接使用數據庫,那就等價與直接使用磁盤上的文件.我們知道這樣的一個常識:必須把磁盤上的文件讀入內存才能使用.這就與我們以前所知道的一個常識相違背了.
那正確的流程是不是應該這樣呢?把磁盤上文件先讀入內存,然後再使用呢.
對了,這個纔是使用數據庫的正確流程.
數據庫如何讀入內存呢?
這個時候,就是我們要介紹的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 nomount
2.將數據庫裝載到實例(instance)中
alter database mount
3.打開數據庫
alter database open
二:關閉數據庫:
1.shutdown immediate(包括三個步驟如下所述:)
首先關閉數據庫
然後從實例上卸載數據庫
最後關閉實例
通過Oracle打開以及關閉一個數據庫的例子我們可以清楚的區分.數據庫(database)和實例(instance)的概念.