Oracle數(shù)據(jù)庫是全球性的大型數(shù)據(jù)庫系統(tǒng),如今已經(jīng)成為了世界頂級的企業(yè)級數(shù)據(jù)庫解決方案之一。從Oracle 11g到Oracle 12c,這個數(shù)據(jù)庫系統(tǒng)的升級為企業(yè)級應(yīng)用帶來了許多方面的變化。
首先,Oracle 12c引入了一個多租戶體系結(jié)構(gòu),允許在多個租戶之間共享資源。這意味著在單一Oracle 12c實例之內(nèi),可以有多個獨立的數(shù)據(jù)庫。這樣就允許多個租戶,或者多個應(yīng)用程序隔離在同一個實例內(nèi),而不會相互干擾。此外,這個多租戶架構(gòu)還大大提高了硬件資源的利用率,因為能夠在單臺物理服務(wù)器上支持多個獨立的數(shù)據(jù)庫實例。
SQL>ALTER SESSION SET CONTAINER = CDB$ROOT; SQL>CREATE PLUGGABLE DATABASE pdb1 ADMIN USER admin IDENTIFIED BY oracle FILE_NAME_CONVERT=('d:\cdb\pdbseed\', 'd:\cdb\pdb1\');
在Oracle 12c中,還引入了一種新的數(shù)據(jù)庫類型稱為插件式數(shù)據(jù)庫(Pluggable Database),這是一種新的架構(gòu)方式,這種架構(gòu)將數(shù)據(jù)庫的系統(tǒng)元數(shù)據(jù)與用戶數(shù)據(jù)嚴(yán)格分離,每個插件式數(shù)據(jù)庫都有自己的元數(shù)據(jù),不同的插件式數(shù)據(jù)庫之間共享同一個數(shù)據(jù)庫實例。使用這個新架構(gòu)能夠大大簡化數(shù)據(jù)庫管理,簡化數(shù)據(jù)庫繁瑣的升級和維護(hù)工作。
另外,在Oracle 12c中添加了許多新的功能和工具,如大規(guī)模數(shù)據(jù)集成(Big Data Integration),提高了數(shù)據(jù)庫中文本、XML和地理空間處理能力,同時還增加了數(shù)據(jù)庫安全功能。
SQL>CREATE USER bob IDENTIFIED BY secret; SQL>GRANT CREATE SESSION,CREATE PROCEDURE,CREATE TABLE TO bob; SQL>GRANT CREATE ANY CONTEXT,CREATE ANY DIRECTORY,UNLIMITED TABLESPACE TO bob;
除了以上提到的特性之外,Oracle 12c還引入了更多的SQL功能。例如,Oracle 12c添加了一個叫做“fetch first n rows”的語法,這將會在查詢結(jié)果中返回指定的前N行。此外,還有新的引用外部json數(shù)據(jù)的功能、大量的新聚合函數(shù)、將不在路由中的數(shù)據(jù)推回用戶的“全局排隊”機(jī)制等。
總之,從Oracle 11g到Oracle 12c的變化是顯而易見的。多租戶體系結(jié)構(gòu)、插件式數(shù)據(jù)庫、新的SQL功能和增強的即席工具都為企業(yè)級應(yīng)用提供了更好的支持和更高的可用性。