reference
[1]
首先說說,資料庫是做什麼?
資料庫是用來長久儲存資料的,而我們大家都知道記憶體只能臨時儲存,磁碟等才能真正儲存資料.那你說資料庫會放那裡呢?肯定是存放在磁碟上,其實資料庫就是磁碟上的乙個檔案。
從上面我們得出結論:資料庫==磁碟上的檔案.
既然資料庫可以看成磁碟上檔案,我們怎麼使用資料庫呢?
如果說我們可以直接使用資料庫,那就等價與直接使用磁碟上的檔案.我們知道這樣的乙個常識:必須把磁碟上的檔案讀入記憶體才能使用.
那正確的流程是不是應該這樣呢?把磁碟上檔案先讀入記憶體,然後再使用呢.
對了,這個才是使用資料庫的正確流程.
資料庫如何讀入記憶體呢?
這個時候,就是我們要介紹的instance(例項)了.例項就是記憶體結構和一組後台程序.
實際上,正常的資料庫讀入記憶體的過程是,由例項中一組後台程序從磁碟上將資料檔案讀入到例項的記憶體中,然後經過在記憶體中對資料的操作再從例項的記憶體中經過一組後台程序寫到資料庫中.那例項相對與資料庫而言,應該就是資料庫的執行環境(雖不準確但也很貼切).
例項是位於物理記憶體裡的資料結構,由執行緒和記憶體池組成,例項才是真正用於運算元據庫檔案的(即前面說的一系列檔案);
如oracle例項: 位於物理記憶體裡的資料結構,它由作業系統的多個後台程序和乙個共享的記憶體池所組成,共享的記憶體池可以被所有程序訪問。
使用者如果要訪問資料庫裡的資料, 必須通過oracle例項才能實現,而不能直接讀取硬碟上的檔案。
備註:其實oracle例項也即是平常所說的資料庫服務(service)
例項相對與資料庫而言,可以理解為是資料庫的執行環境(不準確但也還算貼切)。
例項與資料庫
oracle
資料庫與例項之間是 1對1或1/n 的關係,即例項只能對於乙個資料庫,而乙個資料庫能有對個例項:
在非並行的資料庫系統中每個oracle資料庫與乙個例項相對應;
在並行的資料庫系統中,乙個資料庫會對應多個例項,同一時間使用者只與乙個例項相聯絡,當某乙個例項出現故障時,其他例項自動服務,保證資料庫正常執行。
mysql
一般情況下乙個例項操作乙個或多個資料庫;集群情況下多個例項操作乙個或多個資料庫。
資料庫 關係模型與關聯式資料庫
superkey 乙個或多個屬性的集合,用來在關係中唯一地標識乙個元組 candidate key superkey如果任意真子集都不能成為superkey primary key db設計者選擇的candidate key foreigh key 乙個關係模式在它的屬性中包含另乙個關係模式的主碼 ...
資料庫與例項
剛接觸oracle的人肯定會對例項和資料庫感到困惑,例項到底代表些什麼?為什麼會有這個概念的出現?oracle例項 程序 程序所使用的記憶體 sga 例項是乙個臨時性的東西,你也可以認為它代表了資料庫某一時刻的狀態!資料庫 重做檔案 控制檔案 資料檔案 臨時檔案 資料庫是永久的,是乙個檔案的集合。o...
資料庫與例項
inventory oracle安裝工具oui用來管理oracle安裝目錄的 oracle的引數檔案,啟動後按照下面的順序讀取引數檔案,如果讀取失敗,啟動資料庫 失敗 1 oracle home dbs spfile.ora 2 oracle home dbs spfile.ora 3 oracle...