Oracle 12 Container,簡稱CDB,是指容器數據庫,是Oracle 12c中的新特性。它可以讓多個數據庫共享同一個實例,從而在提供更好的資源共享的同時,減少了數據庫數量,并且可以減少軟硬件的成本。此外,容器數據庫還可以讓用戶通過容器方式來管理和維護數據庫。
在容器數據庫中,有兩種概念:容器和插件數據庫。容器是一種特殊的數據庫,它包含了多個插件數據庫。插件數據庫則是一種普通的數據庫,它是由容器創建的,并且只能在容器中運行。
假設我們有三個應用程序:App1,App2和App3,它們都需要使用數據庫。在沒有容器數據庫的情況下,我們需要為每個應用程序都創建一個獨立的數據庫,然后配置和管理這些數據庫。這將會增加我們的成本和復雜度。但是如果我們使用容器數據庫,我們可以只創建一個容器數據庫,并在其中創建三個插件數據庫,分別給每個應用程序使用。
CREATE PLUGGABLE DATABASE plug1 ADMIN USER pdb_admin IDENTIFIED BY password1; CREATE PLUGGABLE DATABASE plug2 ADMIN USER pdb_admin IDENTIFIED BY password1; CREATE PLUGGABLE DATABASE plug3 ADMIN USER pdb_admin IDENTIFIED BY password1;
容器數據庫可以讓多個插件數據庫運行在同一個實例中,這樣可以減少資源的浪費,降低硬件成本。不僅如此,它還可以讓用戶以容器方式來管理數據庫。例如,我們可以使用SQL命令“alter system set container =
ALTER SYSTEM SET CONTAINER=plug1;
在容器數據庫中,有一個特殊的插件叫做根插件。根插件是容器數據庫的管理組件,它包含了所有的共享資源和元數據。當您創建一個容器數據庫時,Oracle會自動為您創建一個根插件。所有插件數據庫都必須連接到根插件。如果您需要管理容器數據庫,您需要連接到根插件。
CONN sys/password@//: / AS SYSDBA
總的來說,Oracle 12容器數據庫是一個非常有用的工具,它可以讓多個數據庫共享同一個實例,從而減少資源的浪費和增加資源利用率。此外,它還可以讓用戶以容器方式來管理和維護數據庫,從而提高了效率和便捷性。