實例就是一組操作系統(tǒng)進程(或者是一個多線程的進程)以及一些內(nèi)存。這些進程可以 操作數(shù)據(jù)庫;而數(shù)據(jù)庫只是一個文件集合(包括數(shù)據(jù)文件、臨時文件、重做日志文件和控制 文件)。 在任何時刻,一個實例只能有一組相關(guān)的文件(與一個數(shù)據(jù)庫關(guān)聯(lián))。大多數(shù)情況下, 反過來也成立:一個數(shù)據(jù)庫上只有一個實例對其進行操作。
Oracle實例與數(shù)據(jù)庫之間存在密切的關(guān)系。實例是Oracle數(shù)據(jù)庫管理系統(tǒng)的一個運行環(huán)境,它由一組后臺進程和共享內(nèi)存組成,而數(shù)據(jù)庫則是物理操作文件或磁盤的集合。
在Oracle中,一個實例只能與一個數(shù)據(jù)庫關(guān)聯(lián),但一個數(shù)據(jù)庫可以由多個實例裝載和打開。這種關(guān)系是1對1或1對n的關(guān)系,即一個實例對應(yīng)一個數(shù)據(jù)庫,但一個數(shù)據(jù)庫可以對應(yīng)多個實例。
在非并行的數(shù)據(jù)庫系統(tǒng)中,每個Oracle數(shù)據(jù)庫與一個實例相對應(yīng)。但在并行的數(shù)據(jù)庫系統(tǒng)中,一個數(shù)據(jù)庫會對應(yīng)多個實例,同一時間用戶只與一個實例相聯(lián)系。當(dāng)某一個實例出現(xiàn)故障時,其他實例自動服務(wù),保證數(shù)據(jù)庫正常運行。
Oracle的真正應(yīng)用集群是一個例外,它允許在集群環(huán)境中的多臺計算機上操作,這樣就可以有多臺實例同時裝載并打開一個數(shù)據(jù)庫。由此,我們可以同時從多臺不同的計算機訪問這個數(shù)據(jù)庫。
總的來說,Oracle實例和數(shù)據(jù)庫之間的關(guān)系是動態(tài)的,可以根據(jù)實際需求和場景進行調(diào)整。