Oracle 12.2新特性掌上手冊 - 第一卷 Availability
編輯手記:12.2的發布,讓很多技術愛好者迫不及待要嚐嚐鮮了,然而眾多的新特性卻可能讓我們無所適從,為此我們節選12.2中一些重要的新特性,將在接下來的幾期晨讀中分享給大家,希望大家能夠在12.2的應用中遊刃有餘。
注:文章內容來自官方文檔翻譯。若需要了解更多,請查閱官方文檔。
1、Multi-Instance Redo Apply (多實例redo應用)
在Oracle Database 12.2 之前的版本上,對於物理standby 數據庫,將Redo應用於Oracle RAC standby數據庫上的單一實例是受限的。在12.2版本上, redo apply現在可以根據用戶的不同配置在部分或者所有standby實例上運行。 如果需要,可以通過添加其他standby實例來實現Redo Apply性能擴展。
有了這個新功能,可以為任何主要工作負載實現恢複時間上的目標。 這對於大型Oracle RAC集群的客戶和Oracle Exadata的客戶都有重要的意義。 Oracle Active Data Guard用戶還可以實時訪問當前信息。 以這種方式擴展應用性能意味著standby數據庫始終是最新的,即使在有很多個節點的Oracle RAC集群的邏輯卷上也能保證信息的實時性。
2、Oracle Data Guard for Data Warehouses(用於數據倉庫的Oracle Data Guard)
在以前的版本中,在primary數據庫上使用NOLOGGING選項進行直接加載,一直很難更新對應的standby數據庫上的數據。在物理standby數據庫上,數據塊被標記為不可恢複,並且嚐試讀取它們的任何SQL操作都將返回error。 對於邏輯standby數據庫來說,SQL apply將會因為redo失效的錯誤而被迫中止。
現在在2.2 中,物理standby數據庫中的塊,被記錄在standby數據庫的控製文件中,可以使用如下命令以簡單方便的方式進行修複
RMAN RECOVER DATABASE NONLOGGED BLOCK
3、Data Guard Broker PDB Migration or Failover(Data Guard 代理PDB 遷移或故障轉移)
在多租戶代理配置中,可能需要將生產PDB從一個container數據庫移動到駐留在同一係統上的另一個container數據庫。當生產PDB發生故障,container數據庫和所有其他PDB正常工作時,用戶還可能需要將PDB從Data Guard standby數據庫故障切換到新的生產container數據庫。
在12.2中將有簡單的辦法來實現整個過程。
使用命令:Data Guard Broker DGMGRL命令:
MIGRATE PLUGGABLE DATABASE
該命令能夠從primary數據庫中拔出PDB,並將其插入主係統上的另一個container數據庫,以及通過從Data Guard standby 容器中拔出PDB來故障切換單個PDB數據庫,並將其插入standby係統上的現有新primary container數據庫。在這兩種情況下,正在移動的PDB的數據文件必須駐留在對當前容器數據庫和目標container數據庫均可見的存儲上。
當以此方式遷移PDB時,必須將數據文件從新container數據庫複製到其Data Guard standby數據庫,並且必須為新PDB啟用恢複。當將PDB從Data Guard standby數據庫故障轉移到新的primary container數據庫時,Data Guard備用數據庫和目標容器數據庫上的數據庫版本必須相同。當在主係統上將PDB從一個container移動到另一個container時,版本可以等於或高於當前container,但必須升級PDB才能使用它。
使用新的Data Guard Broker命令MIGRATE PLUGGABLE DATABASE,可以輕鬆地將單個PDB從一個container數據庫移動到另一個container數據庫,或將單個PDB從Data Guard standby 數據庫故障切換到新的生產container數據庫。
非分區表可以作為聯機操作移動,而不阻止任何並發DML操作。 表移動操作現在還支持自動索引維護作為移動的一部分。
對非分區表的數據維護不需要任何維護窗口,因為它不會影響任何DML或查詢操作。
5、Partitioning: Table Creation for Partition Exchange(創建分區表和分區交互)
新的DDL命令(CREATE TABLE FOR EXCHANGE WITH)允許創建與分區表的形狀完全匹配的表,因此能夠進行分區表的分區或子分區交換。 請注意,索引不是作為此命令的一部分創建的。
創建能夠進行分區或子分區交換的表對於已經進行了各種結構更改和重組的舊表而言可能是一個乏味的任務。 使用這個新的DDL,任務變得非常簡單和直接實現。 與CREATE TABLE AS SELECT命令相比,它還向此類操作添加了一些隱式業務上下文。
該命令舉例:
CREATE TABLE sales_exchange TABLESPACE my_sales_tblspace FOR EXCHANGE WITH TABLE sales;
6、Partitioning: Filtered Partition Maintenance Operations(分區:過濾分區維護操作)
分區維護操作現在可以與數據過濾結合使用。 例如,分區可以被壓縮並移動到不同的表空間,但是隻有滿足特定過濾標準的數據被實際移動。
具有數據過濾的分區維護操作結合了兩個最常見的數據維護操作。 這種組合不僅使得分區維護操作更加靈活和強大,而且與兩個單獨的數據管理操作相比,它使得其更高性能和更少的資源密集。
7、Disk Space Check During RECOVER TABLE Operation(RECOVER TABLE操作期間的磁盤空間檢查)
Oracle RMAN表恢複(RECOVER TABLE)功能會隱式創建輔助實例,還原和恢複表空間或數據文件時會執行執行表恢複操作。 但是,如果沒有足夠的空間來創建實例,則返回操作係統級錯誤。 此增強功能在RMAN執行表恢複之前對輔助實例的可用磁盤空間進行預先檢查。
RECOVER TABLE是一種數據庫級別的操作,可防止由於磁盤空間問題導致的操作係統級錯誤。 實現此功能時,如果沒有足夠的空間來執行操作,則會提前通知用戶,並且會中止RECOVER TABLE操作。
8、Data Guard DUPLICATE Command Enhancements(Data Guard DUPLICATE命令增強)
該功能包含兩方麵的增強:
Far Sync Standby Support 遠程同步Standby 支持 從Oracle Database 12c版本1(12.1)開始,引入了一個稱為遠程同步備用的standby數據庫的新變體。 此增強的目標是允許用戶使用DUPLICATE命令創建此類型的standby數據庫。
Normal Duplicate Database From Physical Standby Database 從物理standby數據庫正常複製數據庫
目前,當目標數據庫是物理standby數據庫時,不可能創建數據庫的副本。隻有當連接到物理standby數據庫並將此作為目標數據庫時,才能創建物理standby數據庫。
DUPLICATE功能增強的目的是是排除類似限製,並且當目標數據庫是primary數據庫或物理standby數據庫時,會允許同一組操作。 此增強功能利用現有物理standby數據庫進行更多用途,從primary數據庫卸載。
9、Data-Dependent Routing(數據相關路由)
Java數據庫連接(JDBC),Oracle調用接口(OCI)和Oracle Data Provider for .NET(ODP.NET)客戶機能夠識別連接字符串中指定的分片鍵。 連接層中的分片拓撲高速緩存用於將請求直接路由到數據所在的分片。
JDBC客戶端的Oracle通用連接池(UCP)還能夠識別連接URL中指定的分片鍵。 分片拓撲高速緩存用於將連接直接路由到數據所在的分片。 Oracle UCP還支持非Oracle應用程序客戶端(如Apache Tomcat,WebSphere等)與Oracle分區一起使用。數據相關路由為為分片式數據庫架構設計的應用程序提供高性能數據訪問和可用性。
10、Automatic Deployment of Oracle Data Guard(自動部署Oracle Data Guard)
在具有Oracle Data Guard快速啟動故障轉移(自動數據庫故障轉移)的分區之間進行Oracle Data Guard物理複製時,部署是自動的。 這是單個分片的默認Oracle高可用性(HA)配置。
業務優勢包括:
自動部署減少了管理開銷。
物理數據庫複製使用實時Oracle數據驗證提供最強大的數據保護。
支持異步或同步複製,實現接近零或零數據丟失保護。
自動數據庫故障轉移為服務器,數據庫,網絡和站點中斷提供高可用性。
隻讀工作負載可以在用於HA的所有分片副本之間進行負載平衡,以便在使用Oracle Active Data Guard時實現額外的可擴展性。
11、Creating Data Guard Standbys With Database Creation Assistant
(使用DBCA創建Data Guard Standby)
12.2中可以通過DBCA,通過命令行界麵從現有primary數據庫創建Oracle Data Guard standby數據庫。 此功能減少了在Oracle Enterprise Manager之外創建standby數據庫時必須執行的手動步驟。 此外,DBCA允許在standby數據庫創建結束時運行自定義腳本。
此功能使用戶能夠以非常簡單的方式從命令行界麵對standby數據庫的創建進行腳本化。
12、Statement-Level Routing and Cross-Shard Queries(SQL級路由和數據庫分片間查詢)
此功能支持訪問存儲在多個分片上的數據的查詢和事務的路由和處理,還支持不指定分片鍵的查詢的路由。
該功能實現跨分片的簡單的數據匯總和報告。使任何數據庫應用程序能夠靈活地在表被分片或複製的係統中執行SQL語句(包括SELECT和DML),不需要指定運行查詢的分片。 與指定分片鍵的OLTP事務相比,該功能接受更低的性能級別。
文章轉自數據和雲公眾號,原文鏈接
最後更新:2017-07-18 11:03:10