數據庫與實例
Oracle是一個廣泛應用於企業的關係型數據庫管理系統。它是由甲骨文公司開發的。Oracle系統至少由一個實例和一個數據庫組成。實例是與數據存儲進行通信的進程的集合。數據庫是保存文件集合的實際存儲器。然而,術語Oracle數據庫是指整個Oracle數據庫系統(實例和數據庫)。正因為如此,對於初學者來說,術語數據庫和實例之間總是有些混淆。
什麼是實例?
實例是運行在操作系統之上的進程的集合,以及與數據存儲交互的相關內存。實例是用戶和數據庫之間的接口。實例提供了能夠與客戶端通信和訪問數據庫的進程。這些進程是後臺進程,它們不足以在數據庫中維護ACID(原子性、一致性、隔離性和持久性)原則。因此,實例也很少使用其他組件,如內存緩存和緩衝區。更具體地說,實例由三部分組成。它們是SGA(系統全局區域)、PGA(程序全局區域)和後臺進程。SGA是一個臨時共享內存結構,它的生命週期從實例啟動到關閉。
數據庫
Oracle數據庫是指Oracle RDBMS的實際存儲。它由三個主要部分組成。它們是控制文件、重做文件和數據文件。數據庫中也可以有密碼文件。控制文件跟蹤所有數據文件和重做文件。它還可以通過跟蹤系統更改號(SCN)、時間戳和其他關鍵信息(如備份/恢復信息)來保持數據庫的完整性。數據文件保存實際數據。在創建數據庫時,至少會創建兩個數據文件。DBA(數據庫管理員)可以看到這些文件。可以對數據文件進行重命名、調整大小、添加、移動或刪除等文件操作。與重做日誌有關的信息,也叫做重做日誌。如果用戶需要重做對數據庫的全部或部分修改,則需要此信息。為了讓實例操作數據庫的數據,它應該首先打開它。一個實例只能打開一個數據庫。但是,數據庫可以由多個實例打開。
數據庫和實例有什麼區別?