程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> Oracle 11g R2的四個新增小特性總結

Oracle 11g R2的四個新增小特性總結

編輯:Oracle數據庫基礎

基於版本的重定義

Oracle 11g R2增加了一個強大的新工具,它可以檢出應用程序數據庫對象的任一版本,不是所有數據庫對象都支持版本化管理,但私有的同義詞,視圖和幾乎所有的PL/SQL對象,包括存儲過程、函數、類型、類型主體、包、包主體和觸發器,版本化管理的真正好處是簡化了部署一個修改版本的應用程序代碼到生產數據庫,如果部署時遇到一系列的錯誤,可以很容易地將所有影響的對象回滾到上一個版本。

消除了閃回數據歸檔上的DDL限制

在前一篇文章中,我深入研究了Oracle 11g R1的新特性“閃回數據歸檔(Flashback Data Archive,FBDA)”,它也被稱為“全部召回(Total Recall)”,它只捕獲變化的數據,將這些數據放在一套特殊的對象中,它們構成了FBDA,當用戶通過閃回版本查詢(Flashback Versions query)查詢表的歷史記錄時,Oracle將會直接從數據庫的UNDO表空間返回最近變化的數據,從FBDA返回更舊的數據。

雖然這個特性很好,但在早期版本中也有很多限制,包括增加、修改、重命名、刪除表的列、truncate表、修改表的約束、以及修改分區表的分區規范,在Oracle 11g R2中,這些限制全部沒有了,對於更復雜的DDL操作,如使用DBMS_REDEFINITION包重定義已經存儲到FBDA的基礎表,Oracle 11g R2提供了新的DBMS_FlashBACK_ARCHIVE包,存儲過程DISASSOCIATE_FBA將會把基礎表從FBDA中分離出來,一旦請求的改變完成,存儲過程REASSOCIATE_FBA會被用來重新關聯修改的表和基礎表。

按需創建分段

在之前的版本中,使用CREATE TABLE語句創建表時,會同時自動創建表的初始段,從Oracle 11gR2開始,這個默認的行為有所變化,創建表時不會創建初始段,直到有數據插入到這個表。此外,任何依賴於該表的索引或LOB段也不會創建,直到有數據插入才會創建,表的SEGMENT CREATION DEFERRED存儲屬性指定了這個默認行為,但可以使用SEGMENT CREATION IMMEDIATE屬性覆蓋它。

不可用索引大小歸零

在重新載入大表時,比如一個有上百萬行的數據倉庫事實表,要提高這種表的加載速度,最簡單的辦法是將該表上的所有索引置為不可用,在數據加載完畢後,在重建這些索引,Oracle 11g R2認可了這一做法,並采取了實質性的措施,當索引被標記為不可用時,它會自動刪除所有索引段。

小結

Oracle 11g R2延續了自Oracle 10g以來令人稱道的自我管理,自我調整,自我治愈的特性,這個新版本提供了太多的新特性,有些是遲來的功能,有些是革新,Oracle DBA可以借助這些新特性提高工作效率,成為一名真正的“信息工程師”。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved