Oracle 12c引入了PDB的概念,即Pluggable Database,它是Oracle的多租戶解決方案之一。 由于一個CDB可以容納多個PDB,因此它提供了比以前更好的資源管理和數(shù)據(jù)庫實(shí)例之間的隔離度。
舉一個例子,假設(shè)你在一個公司中托管了多個數(shù)據(jù)庫實(shí)例,每個實(shí)例都有自己的硬件和數(shù)據(jù)庫管理員。每次需要升級這些實(shí)例時,您都需要升級每個實(shí)例,因?yàn)樗鼈兪仟?dú)立運(yùn)行的數(shù)據(jù)庫。但如果您使用的是CDB和PDB結(jié)構(gòu),您只需要升級一個CDB,每個PDB都將自動被更新為適應(yīng)新版本。
此外,PDB允許您將不同的應(yīng)用程序和服務(wù)集成到單個實(shí)例中。這使得您的基礎(chǔ)設(shè)施更加緊湊,更易于維護(hù)和管理。您可以使用不同的存儲空間方案,如使用不同的表空間,在不同的PDB中執(zhí)行。 您還可以使用不同的用戶和權(quán)限方案,從而分離不同的應(yīng)用程序或用戶。在PDB的世界里,你可以為每一個應(yīng)用程序創(chuàng)建一個獨(dú)立的PDB,然后為每個PDB設(shè)置一個不同的管理員賬戶進(jìn)行管理。
從版本12.2開始,Oracle還引入了在兩個PDB之間共享來自一個PDB的資源的方法。例如,您可以創(chuàng)建一個主要PDB和一個只讀PDB,共享主要PDB的內(nèi)存結(jié)構(gòu)和緩存。 其他PDBs可以通過共享來共享這些資源。這使得PDB之間的數(shù)據(jù)流移動變得更加靈活。
在管理PDB時,您需要獨(dú)立管理每個PDB上的數(shù)據(jù)文件,因?yàn)镻DB存放在CDB的框架中。 代碼段是管理PDB的基本命令示例。請注意,在創(chuàng)建PDB時,您需要指定PDB的名稱以及要使用的數(shù)據(jù)文件名稱和路徑。您還需要將其鏈接到CDB以便使用。
-- Create a new PDB CREATE PLUGGABLE DATABASE mypdb ADMIN USER adminuser IDENTIFIED BY password FILE_NAME_CONVERT = ('/u01/app/oracle/oradata/cdb/pdbseed', '/u01/app/oracle/oradata/cdb/mypdb'); -- Open the new PDB ALTER PLUGGABLE DATABASE mypdb OPEN; -- Close the PDB ALTER PLUGGABLE DATABASE mypdb CLOSE; -- Drop the PDB DROP PLUGGABLE DATABASE mypdb INCLUDING DATAFILES;總之,使用Oracle 12c的PDB,您可以將多個獨(dú)立的數(shù)據(jù)庫實(shí)例合并為一個,從而實(shí)現(xiàn)更好的資源管理和隔離度,并提高實(shí)例的整體性能。 PDBs還可以讓您更有效地管理和維護(hù)應(yīng)用程序,從而降低總擁有成本。