表空間加密
由於Oracle資料庫被廣泛應用,其口令加密演算法也是備受關注。最早在1993年comp.databases.oracle.server新聞組中有人披露了加密演算法的大部分細節。十年後,一本名為《Special Ops Host and Network Security for Microsoft, Unix and Oracle》的書中補全了演算法最重要的一個環節——DES演算法的KEY。至此,口令加密演算法已無秘密可言。接踵而來的是互聯網上出現多個了Oracle口令破解工具。Oracle在2007年推出的最新版本11g中,使用了新的更安全的加密演算法,但是新演算法的細節很快又在互聯網上被公開。為提供兼容,11g版本保留了11g以前版本使用的加密口令,利用這一漏洞仍然可以對11g版本的加密口令進行破解。
到底怎樣才能保證資料庫口令的安全呢?本文首先介紹Oracle資料庫各版本口令加密演算法的內容,然後針對演算法重點介紹加強資料庫安全性的應對措施。
口令加密演算法
從Oracle7到Oracle 10gR2,使用DES演算法對口令進行加密。對演算法進行分析,可以得出如下結論:口令不區分大小寫,任意大小寫組合均可登錄;由於只使用固定KEY,只要用戶名和口令相同,在任一DB中存放的加密口令都相同;由於採用了用戶名和口令串接的方式,所以用戶aaa、口令bbbccc的加密值與用戶aaabbb、口令ccc完全相同。
Oracle 11g版本的加密口令存放在SYS.USER$表中的SPARE4列中,而PASSWORD列中仍保留以前版本加密口令。由於客戶端計算加密口令需要用到SALT,在建立連接時,伺服器端將SALT明文傳送給客戶端程序。Oracle 11g中新的口令加密演算法中區分大小寫;由於加入了隨機數SALT,兩個不同用戶的口令即便完全相同,計算得到的SHA1的散列值也不同;不同DB中相同用戶相同口令,SHA1散列值也可能不同。
目前,大多數破解工具的工作方式是得到加密口令後,對每一個可能的口令進行加密計算,比較計算結果而確定是否正確。由此,抵禦口令破解可以從三個方面著手:防止加密口令外泄;在加密口令落入黑客手中後,口令也是不可破解的,或盡量增加破解的時間;即便是口令被破解,也是無用的,不能存取資料庫。
防止加密口令泄露
1.應用「最少許可權」原則,盡量限制可存取加密口令用戶的人數
在資料庫中檢查具有存取SYS.USER$或DBA_USERS許可權的用戶,並從不需要的用戶中收回許可權。但是操作並不簡單,這也是資料庫管理工作的特點。每一廠商的軟體中都實現了SQL標准之外的擴充,並且每一版本都有差異。限於篇幅,不可能對所有本文中建議的措施進行詳細的解釋說明,僅以此處檢查許可權為例展示DBA工作的復雜性。本文中如未說明,則默認版本為11g。應用於11g以前版本時,請讀者確認是否需要修改。
檢查許可權主要的工具是數據字典視圖(也可以直接存取SYS用戶的基表,但基表的定義沒有公布,官方不提供技術支持)。視圖DBA_TAB_PRIVS存放了資料庫中數據對象上的授權信息。假定用戶A1和A2可以存取SYS.USER$表,檢查在SYS用戶USER$上有存取許可權的用戶,可執行如下語句:
SELECT GRANTEE FROM DBA_TAB_PRIVS WHERE TABLE_NAME=『USER$』;
我們已經知道用戶A1和A2,都可以存取SYS.USER$表,但為什麼在上面查詢結果中沒有出現呢?這是因為在Oracle的許可權管理中,對一個表的存取許可權還可以通過系統許可權或角色賦予,而DBA_TAB_PRIVS中僅列出了直接的對象許可權的授予信息。對於SYS.USER$表而言,系統許可權SELECT ANY DICTIONARY和角色DBA都包含了這一表的存取許可權。所以完整列出所有可存取這一表的用戶應增加下面兩條查詢語句的結果:
SELECT GRANTEE FROM DBA_SYS_PRIVS WHERE PRIVILEGE=『SELECT ANY DICTIONARY』;
SELECT GRANTEE FROM DBA_ROLE_PRIVS WHERE GRANTED_ROLE=『DBA』;
通過上面的查詢語句,還是會遺漏某些用戶。如果把DBA角色授權給另一角色Admin,然後又將Admin角色授權給另一用戶NEWU,則此用戶可存取SYS.USER$表,但在上述三個查詢中並沒有直接列出NEWU的名字(角色Admin會出現在第三個查詢語句的結果中)。
顯然,Oracle的授權構成了一棵樹,完整的信息需要一段PL/SQL程序來完成。(對於11g以前版本,還需要檢查對DBA_USERS視圖有存取許可權的用戶和角色。SELECT_CATALOG_ROLE角色如被授權,則可以存取所有數據字典視圖,但不能存取SYS的基表。)
2.設定對加密口令存取的審計
如果當前系統中只有SYSDBA可以存取USER$,則一個變通辦法是審計SYSDBA的所有操作,其中也包括對USER$的存取。設置初始化參數audit_sys_operations =TRUE,重新啟動資料庫後激活對SYSDBA操作的審計。
審計文件的存放位置為:
11g版本中為:$ORACLE_BASE/admin/SID/ amp/ *.aud
11g以前版本為: $ORACLE_HOME/rdbms/audit/ *.aud。
嚴格限制和監視SYSDBA用戶活動的最好辦法是使用Oracle Database Vault組件。
3.在操作系統級限制對資料庫數據文件的存取
SYSDBA用戶的加密口令存放在$ORACLE_HOME/dbs下的口令文件orapw〈SID〉中。SYS.USER$表同樣需要在數據文件中存放,多數為SYSTEM表空間的第一個數據文件中。此外,EXPORT文件、REDOLOG文件以及TRACE文件中都可能出現加密口令。需要嚴格限制上述文件的存取許可權。
4.防止網路竊聽
在建立連接時,客戶端需要向伺服器端傳送用戶名和口令,並且伺服器端與客戶端需要相互發送這次會話使用的SESSION KEY。Oracle採用Diffie-Hellman KEY交換演算法和自己開發的O3LOGON協議完成上述任務。演算法的細節同樣已在互聯網上被公開。建立連接時上述信息如果被截獲,同樣可以被用來破解口令。更為嚴重的是,如果黑客事先已經獲得加密口令,結合SESSION KEY的信息,則不需要任何破解,執行簡單還原運算就可算出口令明文。
另外,設計SID時不要使用如ORCL、TEST、PROD等常用名字,設定PORT號為遠遠大於1521的數,都可以增加黑客SID掃描的難度和時間。
5. 刪除舊版的加密口令
存放在Oracle 11g資料庫中的以前版本的加密口令是口令破解工具的一個突破口。在沒有兼容性限制的系統中,可以考慮從系統中刪除舊版口令,從而增加破解難度。
具體操作如下:
在SQLNET.ORA中增加一行:SQLNET.ALLOWED_LOGON_VERSION=11(Oracle手冊中格式介紹有錯誤,不能加括弧:…=(11)),指定最低版本。
以SYSDBA登錄後,執行以下語句,刪除舊版口令。
update sys.user$ set password=NULL;
delete from user_history$;
commit;
設置修改後,基於OCI的工具如SQLPLUS、10gR1和10gR2版本都可以正常登錄,而JDBC type-4 則只有11g版本才允許登錄。
提高口令強度
1.禁止使用預設口令,禁止與用戶名同名的口令,禁止字典詞彙的口令
Oracle 11g中提供一個視圖DBA_USERS_WITH_DEFPWD,可以方便地查出系統中使用預設口令的所有用戶,不足的是還有不少遺漏。讀者可以在互聯網找到預設口令的列表,雖然是非官方的,但是比DBA_USERS_WITH_DEFPWD使用的官方的列表更全。破解工具附帶的詞彙表有的包括了大型英文詞典中全部詞彙,並支持詞彙與「123」之類的常用後綴進行組合。需要注意的是,有的詞彙表中已經出現了「zhongguo」這樣的字元串,所以漢語拼音組成的口令也是不安全的。檢查系統中是否存在弱口令的最常用方法就是使用前述口令破解工具進行攻擊。
2.規定口令最小字元集和口令最短長度
口令字元集最小應包括字母、數字和特殊符號,口令長度最短應不少於8位,對於安全性要求高的系統,最短長度應為12位以上。同樣,問題的關鍵在於DBA指定初始口令以及用戶修改口令時保證不違反上述這些規定。每一用戶都對應一個Profile,如在Profile中指定口令驗證函數,則每當創建或修改口令時,會自動檢查是否滿足驗證程序中所設定的條件,如果不滿足,則口令修改失敗。對口令明文進行檢查,顯然要比對加密口令破解效率高。此外,口令創建之時進行檢查可以及時封殺弱口令,不給黑客留下破解的窗口。
指定口令驗證函數的語句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION 口令驗證函數名;
上例中,為「DEFAULT」 Profile指定了驗證函數。對用戶進行分類後,應當為每一類用戶分別創建自己的Profile,而不是全部使用DEFAULT。關閉口令驗證函數的語句為:
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;
在$ORACLE_HOME/rdbms/admin/下,腳本文件UTLPWDMG.SQL提供了示例的口令驗證函數,執行這一腳本,將創建一名為VERIFY_FUNCTION的函數( Oracle 11g中,增加新函數verify_function_11G )。這一函數可以對口令長度是否同時出現了字母數字元號進行檢查,檢查是否與用戶名同名,也檢查口令是否是幾個最常用的詞彙,如welcome、database1、account1等。最後,口令修改時檢查新舊口令是否過於相似。讀者實際使用時應該根據系統需要對這一函數進行必要的修改和擴充。
3.使用易記憶的隨機口令限定口令長度後,如果口令沒有規律很難記憶,則用戶會採用他們自己的方式記住口令,大大增加了遭受社會工程攻擊的可能性。DBA需要幫助用戶設計一個容易記憶而又不易破解的口令。一個簡單易行的方法是找用戶非常熟悉的一個句子,如One world One dream,然後將每一個空格替換為數字或符號:One3world2One1dream#。
定期更換口令
抵禦口令破解要從多方面著手
資料庫中存在多種許可權用戶,各種授權用戶構成一棵樹
應對口令泄露或被破解的措施是強制定期更換口令,設定口令重復使用限制,規定封鎖口令的錯誤次數上限及封鎖時間。即便是加密口令落入黑客手中,在被破解之前或入侵之前,修改了口令,則口令破解變得毫無意義。為了方便記憶,一般用戶有重新使用之前過期口令的傾向,如果對重用不加控制,則定期更換口令將失去意義。上述對口令的管理仍然是通過Profile完成:
ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 30
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 365
PASSWORD_REUSE_MAX 0
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_VERIFY_FUNCTION my_verify_function;
上面語句制定的口令管理政策為:口令的有效期為30天,隨後有7天的寬限期,寬限期後口令「過期」,必須更改口令後才能登錄。只有經過365天後才能重新使用以前的口令。在連續10次輸入口令錯誤後,賬號被封鎖,設定不自動解鎖,必須由DBA手動解除封鎖。口令驗證函數為my_verify_function。
Oracle 11g以前版本,預設設置中沒有設定口令的有效期,而在Oracle 11g中預設設置有效期為180天。程序中直接寫入口令的應用在升級到11g時一定要注意有效期問題,避免半年後應用突然無法自動運行。另外,口令的有效期對SYS用戶不起作用,DBA一定要主動定期更換口令。
另外一個措施是對登錄資料庫伺服器的主機進行限定,如指定網段或指定IP地址。進一步限定客戶端允許執行的程序,如對非本地登錄禁止使用SQLPLUS,只允許執行某特定應用。
認真實施本文中給出的措施後,可以很有效地防止口令被破解。然而我們的目的是提高資料庫系統的安全性,而不僅僅是保證口令不被破解。資料庫系統安全的任何一個環節出現問題,都會導致前功盡棄。黑客的目的是入侵系統盜竊數據,是不會按常理出牌的,會嘗試各種手段方式,如社會工程、安全漏洞、物理入侵等等,而不會執著地在口令破解上與我們較勁。這一點需要我們經常提醒自己,從而切實保證資料庫系統安全。
TechTarget中國原創內容
❷ 跪求啊~求數據字典表dba_tablespaces與dba_data_files各欄位是什麼意思
Name(名稱)
Type(類型)
Null是否為空
Comments(注釋)
TABLESPACE_NAME
VARCHAR2(30)
NOT NULL
表空間名
BLOCK_SIZE
NUMBER
NOT NULL
表空間塊大小默認8192即8k
INITIAL_EXTENT
NUMBER
默認初始區大小
NEXT_EXTENT
NUMBER
默認增長的區大小
MIN_EXTENTS
NUMBER
NOT NULL
默認區最小的個數,默認是1
MAX_EXTENTS
NUMBER
默認區最大的個數
MAX_SIZE
NUMBER
默認最大的段的大小
PCT_INCREASE
NUMBER
默認區增長的百分比
MIN_EXTLEN
NUMBER
此表空間最小區的大小
STATUS
VARCHAR2(9)
表空間的狀態:聯機online,offline離線,read only 只讀
CONTENTS
VARCHAR2(9)
表空間的類別:undo回滾,permanent永久,temporary臨時
LOGGING
VARCHAR2(9)
默認日誌屬性:logging開啟日誌,nologging關閉日誌
FORCE_LOGGING
VARCHAR2(3)
表空間強制日誌模式,值為yes或no
EXTENT_MANAGEMENT
VARCHAR2(10)
表空間管理模式:local 本地管理,dictionary數據字典管理
ALLOCATION_TYPE
VARCHAR2(9)
PLUGGED_IN
VARCHAR2(3)
SEGMENT_SPACE_MANAGEMENT
VARCHAR2(6)
表空間管理模式:manual手動,auto自動
DEF_TAB_COMPRESSION
VARCHAR2(8)
表空間是否啟動壓縮:enable開啟壓縮,disabled不壓縮;當採用壓縮時,此表空間創建的表都會默認壓縮
RETENTION
VARCHAR2(11)
BIGFILE
VARCHAR2(3)
此表空間是大文件空間還是小文件空間:值為yes或no
PREDICATE_EVALUATION
VARCHAR2(7)
ENCRYPTED
VARCHAR2(3)
此表空間是否加密:值為yes或no
COMPRESS_ FOR
VARCHAR2(12)
❸ oracle 9i 和oracle 10g 和oracle 11g有什麼區別
Oracle 9i比8i多了哪些新特性?
簡要說:
9i更易於管理。
詳細說:
並發集群,8i OPS升級為9i RAC,8i結點間用硬碟交換信息,9i結點間採用高速網線的緩存熔合(Cache Fusion)技術交換信息,交換速度提高100倍以上。
9i可以在線修改內核參數和內存分配,8i不行。
數據文件和表空間管理,8i手工管理,9i自動管理。
9i比8i增強了對ANSI SQL99的支持。
9i比8i增強了故障後的快速恢復(Fast-start)。
8i只支持物理備份(physical backup)資料庫,9i還增加了支持邏輯備份(logical backup)資料庫,使備份資料庫除了作為主資料庫的鏡像外,還可以提供其他數據服務.
Oracle 10g比9i多了哪些新特性?
簡要說:
10g支持網格(Grid),支持自動管理(Automatic Management)。
詳細說:
10g的g是"Grid"縮寫,支持網格計算,即,多台結點伺服器利用高速網路組成一個虛擬的高性能伺服器,負載在整個網格中均衡(Load Balance),按需增刪結點,避免單點故障(Single Point of Faliure)。
安裝容易,安裝工作量比9i減少了一半。
新增基於瀏覽器的企業管理器(Enterprise Manager)。
自動存儲管理(ASM),增刪硬碟不再需要操作系統管理員設置的鏡像、負載均衡、物理卷、邏輯卷、分區、文件系統,只要打一條Oracle命令,ASM會自動管理增加或刪除的硬碟。
內存自動化,根據需要自動分配和釋放系統內存。
SQL性能調整自動化。
免費提供基於瀏覽器的小應用開發工具Oracle Application Express(原名HTML DB),支持10g和9i R2。
快速糾正人為錯誤的閃回(Flashback)查詢和恢復,可以恢復資料庫、表甚至記錄。
數據泵(Data Pump)高速導入、導出數據,比傳統方法導出速度快兩倍以上,導入速度快15--45倍。
精細審計(Fine-Grained Auditing),記錄一切對敏感數據的操作。
存儲數據的表空間(Tablespace)跨平台復制,極大的提高數據倉庫載入速度。
流(Streams)復制,實現低系統消耗、雙向(double-direction)、斷點續傳(resume from break point)、跨平台(cross platform)、跨數據源的復雜復制。
容災的數據衛士(Data Guard)增加了邏輯備份功能,備份資料庫日常可以運行於只讀狀態,充分利用備份資料庫。
支持許多新EE選件,加強資料庫內部管理的「Database Vault」,資料庫活動的審計的(Audit Vault),數據倉庫構建高級功能(Warehouse Builder Enterprise ETL, Warehouse Builder Data Quality).
Oracle 11g比10g多了哪些新特性?
11 g 擴展了 Oracle 獨傢具有的提供網格計算優勢的功能,您可以利用它來提高用戶服務水平、減少停機時間以及更加有效地利用 IT資源,同時還可以增強全天候業務應用程序的性能、可伸縮性和安全性。
利用真正應用測試(RAT)盡量降低更改的風險
11 g降低了資料庫升級以及其他硬體和操作系統更改的成本,顯著簡化了更改前後的系統測試以便您可以識別和解決問題。例如:
利用 Database Replay,您可以在資料庫級別輕松捕獲實際的生產負載並在您的測試系統上重新播放,這樣您可以全面測試系統更改(包括關鍵的並發特性)的影響。
SQL Performance Analyzer識別結構化查詢語言 ) SQL(執行計劃更改和性能回退。然後,可以使用 SQL Tuning Advisor解決識別的問題,方法是還原到原始的執行計劃或進一步優化。
利用管理自動化提高 DBA 效率
Oracle 資料庫 11 g繼續致力於(從 Oracle9i資料庫開始一直到 Oracle 資料庫10 g)顯著簡化和完全自動化 DBA 任務。 Oracle資料庫11 g中的新功能包括:
利用自學功能自動進行 SQL 優化系統全局區(SGA)和程序全局區( PGA)的內存緩存區的自動、統一調整新的 advisor用於分區、數據恢復、流性能和空間管理針對自動資料庫診斷監視器 (ADDM)的增強,能夠提供 Oracle 真正應用集群 (Oracle RAC)環境中的更好的性能全局視圖以及改進的性能比較分析功能。
利用故障診斷快速解決問題
Oracle 資料庫 11 g中新增的故障診斷功能使客戶在發生錯誤後捕獲 Oracle
Support所需的數據變得極為簡單。這可以加速問題的解決,減少客戶重現問題的需要。
盡量降低停機成本
通過 Oracle Data Guard快速恢復數據
Oracle Data Guard在本地和遠程伺服器之間協調資料庫的維護和同步以便從災難或站點故障快速恢復。 Oracle資料庫11 g提供了大量顯著的 Oracle Data Guard增強,包括
可以在物理備用系統上運行實時查詢用於報表和其他目的
可以通過將物理備用系統暫時轉換為邏輯備用系統執行聯機的、滾動的資料庫升級
..支持測試環境的快照備用系統
此外,物理和邏輯備用的性能都有提高。邏輯備用現在支持可擴展標記語言(XML)類型字元大型對象 (CLOB)數據類型和透明的數據加密。現在支持自動的、快速啟動的故障切換以支持非同步傳輸。
Oracle 資料庫 11 g提供了幾個針對自動存儲管理的重要的高可用性增強,
包括:
..支持滾動升級
..自動壞塊檢測和修復
..快速鏡像重新同步,該功能可以有效地重新同步存儲網路連接性暫時丟失時自動存儲管理鏡像的存儲陣列
自動存儲管理的性能增強使得大型資料庫可以更快地打開並減少 SGA 內存消耗。這些增強還允許 DBA增加存儲分配單元大小以加快大型序列輸入/輸出 (I/O)
顯著增加正常運行時間
Oracle資料庫11 g使您可以應用很多一次性資料庫補丁(包括診斷補丁),而沒有停機時間。新的數據恢復 advisor通過快速識別故障根本原因、為 DBA提供可用的恢復選項,極大地減少了停機時間,在某些情況下,還通過「自我恢復」機制自動糾正問題。
Oracle 資料庫 11 g還有其他高性能提高,包括
..自動編譯資料庫中的 PL/SQL 和 Java
..更快的觸發器,包括更加有效地調用每行觸發器
..更快的簡單 SQL 操作
..更快的 Oracle Data Guard 和 Oracle Streams 復制
..與網路文件系統( NFS) 存儲設備更快、更可靠的直接連接
..更快的升級
..大型文件更快的備份/還原
..更快的備份壓縮
Oracle 資料庫 11 g包括大量新的 ILM特性,例如
..新的分區功能,包括
.按父/子引用分區
.按虛擬列分區
Oracle資料庫11 g還具有帶 Oracle閃回數據歸檔的 Total Recall,使您可以在選定的表中查詢以前的數據,從而提供了一種簡單實用的向數據中添加時間維度的方法以便於更改跟蹤、 ILM、審計和合規。
其他高可用性增強
Oracle 資料庫 11g還有其他高可用性增強,包括:
Oracle閃回事務查詢,提供帶其他相關事務更改的流氓事務的按鈕更改
具有更多可傳輸選項的增強的平台移植和數據移動,包括可傳輸分區、
模式和跨平台資料庫
Oracle恢復管理器 (RMAN)支持 Windows Volume Shadow Copy
Service ( VSS )快照,從而實現與 Windows備份更緊密的集成
優化性能和可靠性
合規、法律取證以及整合數據倉庫的趨勢導致資料庫的大小每兩年就會增加
兩倍,這極大地影響了大型資料庫的存儲成本和性能、可靠性以及可管理性
。Oracle 資料庫 11 g使組織可以使用低成本的伺服器和模塊化的存儲器輕
松伸縮大型的事務和數據倉庫系統並提供快速的全天候數據訪問。 Oracle 數
據庫11 g提供新的創新特性以進一步提高要求極嚴格的環境的性能和可伸
縮性。
利用 SecureFiles安全地存儲您的所有數據
SecureFiles 是 Oracle用於在資料庫中存儲大型對象) LOB (
(例如圖像、大型文本對象或包括 XML、醫學成像以及地理空間柵格對象在內的高級數據類型)的下一代產品。 SecureFiles提供能夠完全與文件系統相媲美的卓越性能。此外,它還提供高級功能,例如智能壓縮、透明加密以及透明的重復
刪除。
通過聯機事務處理壓縮提高性能並盡量降低存儲成本
Oracle 資料庫 11 g支持聯機事務處理 (OLAP)應用程序中常用的更新、
插入和刪除操作的數據壓縮。以前的 Oracle資料庫版本支持數據倉庫應用
程序常用的批量數據載入操作的壓縮。 Oracle 資料庫 11 g OLTP表壓縮通
過更加高效地使用內存來緩存數據以及減少表掃描的 I/O提高了資料庫性能
。利用 OLTP表壓縮,您可以利用最小的處理開銷達到 2 到 3倍的壓縮
比。
❹ 資料庫加密的方式有哪幾種
資料庫加密的方式有多種,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,這些你找安策工程師幫你,都是可以做到的網路裡面也有詳細介紹。
❺ oracle設置過多的clob欄位會不會影響資料庫效率
oracle11g推出以後有了一種新的LOBS的存儲模式叫做SecureFile LOBs 與之區別 把以前使用的叫做basicFile Lobs
根據官方文檔上的說法 secure是哪哪都好。提供了壓縮 重復消除 加密等新的功能 但是basicFile Lobs依然是default的
secureFime的用法是通過在LOB存儲子句後添加SECUREFILE關鍵字來創建
最簡單的一種寫法:
SQL> CREATE TABLE images (
2 id NUMBER,
3 i_data CLOB
4 )
5 LOB(i_data) STORE AS BASICFILE;
Table created
SQL> CREATE TABLE images2 (id NUMBER,
2 i_data CLOB
3 )
4 LOB(i_data) STORE AS SECUREFILE;
Table created.
———————————————————————————
Securefile列標明了是否為SecureFile類型的LOB
SQL> SELECT TABLE_NAME,SEGMENT_NAME,INDEX_NAME,SECUREFILE FROM DBA_LOBS WHERE TABLE_NAME like 『IMAGES%』;
TABLE_NAME SEGMENT_NAME
—————————— ——————————
INDEX_NAME SEC
—————————— —
IMAGES SYS_LOB0000076951C00002$$
SYS_IL0000076951C00002$$ NO
IMAGES2 SYS_LOB0000076948C00002$$
SYS_IL0000076948C00002$$ YES
Securefile
使用Securefile LOB的表也是自動生成LOB segment和LOB index的。
但是此時LOB index只有在使用重復消除功能時才會使用,在其他情況下不會使用
SQL> CREATE TABLE images2 (id NUMBER,
2 i_data CLOB
3 )
4 LOB(i_data) STORE AS SECUREFILE
5 ;
CREATE TABLE images2 (id NUMBER,
*
ERROR at line 1:
ORA-43853: SECUREFILE lobs cannot be used in non-ASSM tablespace 「SYSTEM」
要注意,Securefile LOB只能在ASSM的表空間(自動管理的表空間)里創建,
不過既然從9i起ASSM表空間就是默認設置了,一般這里不會有多大問題。
只是要求SecureLOB所在的LOB列數據需要存放在ASSM表空間中,而包含LOB列的那個表可以不是
CREATE TABLE images2 (id NUMBER,i_data CLOB) LOB(i_data) STORE AS SECUREFILE (tablespace ucjmh);
SQL> conn / as sysdba
Connected.
SQL> CREATE TABLE images2 (id NUMBER,i_data CLOB) LOB(i_data) STORE AS SECUREFILE (tablespace ucjmh);
Table created.
————————————————————————————————–
SQL> show parameter DB_SECUREFILE
NAME TYPE VALUE
———————————— ———– ——————————
db_securefile string PERMITTED
這個值的取值范圍有:
DB_SECUREFILE = { NEVER | PERMITTED | ALWAYS | IGNORE }
PERMITTED 是默認的 就是當你指定是什麼的時候就是什麼
FORCE 是ORA-43853的來源 意思就是不管你是否指定用SecureFile 創建的時候都是用Securefile 如果不是在ASSM的表空間 那麼就報ORA-43853
ALWAYS 意思就是不管你是否指定用SecureFile 創建的時候都是用Securefile 但是如果你是非ASSM的表空間 那就是BASICFILE 如果非ASSM的時候你還顯示的指定了用SecureFiLE 那也報43853
NEVER 是不管怎麼樣都是BasicFile 如果指定了一些加密或壓縮之類的參數那麼就報ORA-43853
IGNORE 是不管怎麼樣都是BasicFile 如果指定了一些加密或壓縮之類的參數也不報錯。
chunk:
在BasicFile的LOB中,Chunk的大小是一定的,最小跟DB Block的大小一樣,最大為32KB
–一個chunk最多隻保留一行LOB數據,也就是說,如果你設置了32K的CHUNK,但是如果LOB欄位大小隻有4K,也將佔用32K的空間
而在SecureFile中,chunk的size是可變的,由Oracle自動動態分配,最小跟DB Block的大小一樣,最大為64MB
–指定的值最好是資料庫塊的倍數,而且指定的值不能大於表空間區間中NEXT的值
當指定enable storage in row的時候,當lob size =4000 bytes的時候,將存儲在lob段裡面,其存儲方式和表段存儲方式完全不一樣,使用的是chunk為最小單位的存儲,沒有行遷移和行鏈接的概念。
如果設置了enable storage in row 那麼oracle會自動將小於4000bytes的數據存儲在行內, 這是ORACLE的默認值,
對於大於4000位元組的lob欄位保存在lob段(同disable storage in row),在表段將保留36-84位元組的控制信息。
對於disable storage in row,Oracle將lob欄位分開保存在lob段中,而僅僅在行位置保留20位元組的指針。
對於相當於disable storage in row的這部分(也就是單獨保存在LOB段的這部分數據),UNDO僅僅是記錄指針與相關lob索引改變,如果發生更新操作等DML操作,原始數據將保留在LOB段
DISABLE STORAGE IN ROW:如果DISABLE這個屬性,那麼lob數據會在行外存儲,行內只存儲該lob值得指針,而且這個屬性在表
storage as(cache|nocahce)表示是否允許lob段經過buffer cache並緩存。默認是nocache,表示直接讀與直接寫,不經過資料庫的data buffer。所以,默認情況下,對於單獨保存在LOB段的這部分數據,在發生物理讀的時候,是直接讀,如direct path read (lob)
storage as(nocache logging |nocache nologging),logging/nologging屬性只對nocache方式生效,默認是logging,如果是nologging方式,對於 保存在行外的log部分,在update等DML操作時將不記錄redo日誌
PCTVERSION integer、RETENTION:都是ORACLE用來管理LOB欄位鏡像數據的。在LOB 數據的更新過程中,
ORACLE沒有用UNDO TABLESPACE空間,而是從LOB欄位所在的表空間里劃分一段空間來做鏡像空間的,
這個空間的大小由PCTVERSION參數控制,默認值為10,代表劃分表空間的10%作為鏡像空間,
每個鏡像空間的單元大小由CHUNK參數指定,pctversion可以使用在manual undo mode和automatic undo mode 環境中
retention應用了automatic undo mode中的undo_retention通過時間來管理lob鏡像空間.
pctversion和retention不能同時被指定.建議資料庫在automatic undo mode下使用retention參數
SecureFile的COMPRESS選項在表或分區一級上開啟了對LOB內容的壓縮,使用關鍵字MEDIUM和HIGH表示壓縮的等級,
如果沒有指定壓縮等級,就默認為MEDIUM,對LOB內容進行壓縮會增加系統開銷,
因此使用高等級的壓縮可能會對系統性能產生不良影響,SecureFile LOB的壓縮功能不影響表壓縮,反之亦然
SecureFile LOB的加密功能依賴於錢夾或硬體安全模型(HSM)掌管加密密鑰,錢夾設置與透明數據加密(TDE)和表空間加密描述的一樣,
因此在嘗試下面的例子前先完成那兩個實驗。SecureFile的ENCRYPT選項執行塊級別的LOB內容加密,
一個可選的USING子句定義了使用哪種加密演算法(3DES168, AES128, AES192, 或AES256),默認使用AES192演算法,
NO SALT選項對於SecureFile加密不可用,加密是應用在每一列上的,因此它會影響所有使用LOB的分區,DECRPT選項用於明確地阻止加密
加密是不受imp/exp或表空間傳輸支持的,因此必須使用impdp/exddp來傳輸數據
BasicFile和SecureFile LOB共享了部分基礎的緩存和日誌選項,常見的緩存選項有:
CACHE – LOB數據被放在緩沖區中。
CACHE READES – 僅讀取LOB數據過程中它放在緩沖區中,寫操作時不放進去。
NOCACHE – LOB數據不放在緩沖區中,這是BasicFile和SecureFile LOB的默認值。
基本的日誌選項有:
LOGGING – 創建和修改LOB時產生完全重做日誌,這是默認設置。
NOLOGGING – 操作不記錄在重做日誌中,因此不能恢復,在首次創建和巨大的載入過程中有用。
而且,SecureFile LOB還有一個日誌選項FILESYSTEM_LIKE_LOGGING,只記錄元數據,在出現故障後仍然允許段的恢復。
CACHE選項意味著LOGGING,因此你不能將CACHE與NOLOGGING或FILESYSTEM_LIKE_LOGGING合在一起使用。
如果要移動表
ALTER TABLE table_name LOB (lob_item) STORE AS [lob_segment]
(
TABLESPACE tablespace_name
(STORAGE…..)
ENABLE|DISABLE STORAGE IN ROW
CHUNK integer
PCTVERSION integer
RETENTION
FREEPOOLS integer
CACHE|NOCACHE|CACHE READS
INDEX lobindexname
(TABLESPACE tablesapce_name
((STORAGE…..))
)
❻ Oracle問題!!!
2.甲骨文股份有限公司是全球最大的資料庫軟體公司,總部位於美國加州的紅木灘。
公司類型 上市公司 (NASDAQ: ORCL)
口號 Oracle is the information company
成立於 加利福尼亞 (1977年)[1]
總部位於 美國加州紅木灘市
重要人物 勞倫斯·埃里森 Lawrence (Larry) J. Ellison, 首席執行官
產業 資料庫軟體
雇員數目 35000+
產品
資料庫伺服器
應用伺服器
開發工具
中間件產品
BI
客戶關系管理
供應鏈管理
JDE
收入 179億美元 (2007財年)
主要產品
甲骨文公司主要的產品目前分為兩大類:
* 伺服器(伺服器)及工具(主要競爭對手:國際商用機器、微軟)
* 資料庫伺服器:2008年最新版本11G
* 應用伺服器: Oracle Application Server
* 開發工具:Oracle JDeveloper,Oracle Designer,Oracle Developer,等等
* 應用軟體(主要競爭對手:德國SAP公司。)
* 企業資源計劃(ERP)軟體。已有10年以上的歷史。2005年,並購了開發企業軟體的人科軟體公司(PeopleSoft)以增強在這方面的競爭力。
* 客戶關系管理(CRM)軟體。自1998年開始研發這種軟體。2005年,並購了開發客戶關系管理軟體的希柏軟體公司(Siebel)。
Oracle公司是全球最大的信息管理軟體及服務供應商,成立於1977年,總部位於美國加州 Redwood shore。2000財年(99年6月到2000年5月)營業額達101億美元,再創Oracle公司銷售額歷史新高,比去年增長了13億美元,盈利增長61%,達到21億美元。Oracle公司現有員工超過三萬六千人,服務遍及全球145個國家。Oracle公司擁有世界上唯一一個全面集成的電子商務套件Oracle Applications R11i,它能夠自動化企業經營管理過程中的各個方面,深受用戶的青睞,促使Oracle應用軟體在2000財年第四季度的銷售額達4.47億美元,與SAP公司的同期應用軟體銷售額3.52億美元相比,多出近1億美元,這一事實表明,Oracle已經是世界最大的應用軟體供應商。Oracle電子商務套件涵蓋了企業經營管理過程中的方方面面,雖然它在不同的方面分別面對不同的競爭對手,而Oracle電子商務解決方案的核心優勢就在於它的集成性和完整性,用戶完全可以從Oracle公司獲得任何所需要的應用功能,更重要的是,它們具有一致的基於Internet技術的應用體系結構,而如果用戶想從其它廠商處獲得Oracle電子商務所提供的完整功能,不僅需要從多家廠商分別購買不同的應用,而且需要另請咨詢公司把這些不同的應用裝配起來,還必須確保它們能夠協同地工作。
先進的產品和高效率的企業運作,是Oracle公司利潤得以繼續增長的重要原因,一年前,Oracle公司確定了通過採用自身的Internet電子商務解決方案,實現每年節省10億美元企業日常運作費用的目標,這一數據相當於將我們的年度利潤率提高10%。
四年前電子商務在全球范圍內還僅處於萌芽狀態時,Oracle公司便前瞻性地作出了從領先的資料庫廠商向以Internet計算為基礎的完整的電子商務解決方案供應商轉型的戰略部署。這一前瞻性戰略為Oracle帶來了巨大的利益,今天,Oracle能夠領先於競爭對手提供包括平台產品、應用產品和完善的服務在內的先進的、完整的、集成的電子商務解決方案,可以無縫集成供應鏈管理(SCM)、企業資源管理(ERP)、客戶資源管理(CRM)和企業商業智能(BI)和電子商務應用IP(Internet Pocurement)、Exchange、Portal-to-go等產品。Oracle從低端到高端的所有方案100%基於Internet應用體系結構,都可以通過Web安全、直接地訪問,使企業能夠通過Web完成包括報價、定單、支付、執行、服務等在內的企業業務過程的所有環節,幫助企業將現有業務內容快速轉移到電子商務,迅速獲得來自電子商務的高效益。
Oracle應用產品包括財務、供應鏈、製造、項目管理、人力資源和市場與銷售等150多個模塊,榮獲多項世界大獎,現已被全球近7600多家企業所採用。由於在電子商務方面的傑出表現,Oracle公司在美國Mongan Stanley公司最新公布的權威性全球企業1000強中,從去年的第122名一躍成為第13名,成為全球第二大獨立軟體公司和最大的電子商務解決方案供應商。目前, Amazon和Dell等全球十個最大的Internet電子商務網站、全球十個最大的B-to-B網站中的九個、93%的上市.COM公司、65家「財富全球100強」企業均不約而同地採用Oracle電子商務解決方案。
Oracle中國公司
1989年Oracle公司正式進入中國市場,成為第一家進入中國的世界軟體巨頭,標志著剛剛起飛的中國國民經濟信息化建設已經得到Oracle的積極響應,由Oracle首創的關系型資料庫技術開始服務於中國用戶。1991年7月,經過了近兩年時間的努力開拓,為了更好地與迅速發展的業務相適應,Oracle在北京建立獨資公司。今天的Oracle中國公司擁有超過3500名員工,並在全國十二個城市設立了分公司。
為了幫助中國用戶及時、充分利用世界最先進的計算機軟體技術與產品,Oracle中國公司在產品漢化方面投入了大量的資源,目前,Oracle的大部分產品均已實現了全面中文化,中文版產品的更新節奏與美國本土基本同步一致。與此同時,Oracle在中國得到了數以百計的國內計算機企業的合作與支持,除了惠普、Sun、康柏、Cisco、Intel等Oracle全球聯盟合作夥伴和普華永道咨詢有限公司、安達信企業咨詢有限公司、安盛咨詢、德勤企業管理咨詢公司、凱捷安永咨詢(亞太)有限公司等Oracle全球系統集成商外,Oracle公司在中國還建立起完整的合作夥伴體系,6家增值經銷商、72家獨立軟體開發商、3家應用軟體合作夥伴、180家授權分銷商和4家授權培訓中心,他們共同構成了基於Oracle技術產品基礎的全國性市場開拓、系統集成、增值開發與技術服務體系,為Oracle在中國的業務發展提供了強有力的支持。由他們開發的數百個基於Oracle平台的商品化應用軟體包,已經廣泛應用於國內的政府部門、電信、郵政、公安、金融、保險、能源電力、交通、科教、石化、航空航天、民航等各行各業。
甲骨文公司主要產品簡介
1. Oracle電子商務套件(Oracle E-Business Suite)
Oracle電子商務套件是行業中第一個集成的基於互聯網的商務應用套件,它將前台與後台運營中的關鍵業務流程自動化。Oracle電子商務套件涵蓋了營銷、銷售、服務、合同、定單管理、產品設計、采購、供應鏈、製造、財務、項目管理、人力資源與專業服務自動化在內的企業中每一個領域的業務。2001年全球共有1100多家企業實施了Oracle電子商務套件,目前全球已經有超過12000家用戶正在獲益於Oracle電子商務套件所帶來的前所未有的好處。
自從Oracle電子商務套件首次面世以來,甲骨文公司已經推出了6種電子商務套件的增強版本,從而形成了一整套成熟的、功能齊全的應用套件。Oracle電子商務套件能夠使用戶在實施業務應用時擁有前所未有的可選擇性與靈活性,它的開放式基礎架構與單一數據模型使用戶在部署套件中的應用軟體時擁有多種選擇,既可以單獨使用,也可以組成業務流,還可以作為一個整體的集成套件來部署。Oracle電子商務套件既可以作為用CD ROM為載體的傳統軟體的形式,也可以作為一種在線服務的形式來提供給用戶。
2. Oracle10g —— 新一代電子商務平台
Oracle10g是業界第一個完整的、智能化的新一代Internet基礎架構,Oracle10g電子商務平台實際上是指Oracle資料庫10g、Oracle應用伺服器10g和Oracle開發工具套件10g的完整集成。
Oracle資料庫10g是第一套具有無限可伸縮性與高可用性,並可在集群環境中運行商業軟體的互聯網資料庫,具有400多個領先的資料庫功能,在集群技術、高可用性、商業智能、安全性、系統管理等方面都實現了新的突破。作為甲骨文公司長達十年的軟體技術研發成果,真正應用集群技術(Real Application Clusters)能夠提供近乎無限的擴充能力與整體可用性,為用戶帶來透明的、高速增長的集群功能。
Oracle應用伺服器10g是J2EE認證的、最輕、最快、最具伸縮性的應用伺服器,提供了企業門戶軟體、無線支持、高速緩存、輕量級J2EE引擎、商務智能、快速應用開發、應用與業務集成、Web 服務等多種應用開發功能,形成完整的電子商務應用開發和部署環境。使用了Oracle應用伺服器10g的用戶可以通過升級軟體來取代升級硬體,大大的節省了基礎設施的成本花費。
Oracle開發工具套件10g是一套完整的集成開發工具,可用於快速開發使用Java和XML語言的互聯網應用和Web服務,支持任何語言、任何操作系統、任何開發風格、開發生命周期的任何階段以及所有最新的互聯網標准。
9i之後的Oracle的硬體要求很高,(Windows版本)9i建議配512M內存,10g建議配1G內存。
Oracle資料庫的體系結構
Oracle資料庫包括Oracle資料庫伺服器和客戶端。
Oracle資料庫伺服器:
Oracle Server是一個對象一關系資料庫管理系統。它提供開放的、全面的、和集成的信息管理方法。每個Server由一個 Oracle DB和一個 Oracle Server實例組成。它具有場地自治性(Site Autonomy)和提供數據存儲透明機制,以此可實現數據存儲透明性。每個 Oracle資料庫對應唯一的一個實例名SID,Oracle資料庫伺服器啟動後,一般至少有以下幾個用戶:Internal,它不是一個真實的用戶名,而是具有SYSDBA優先順序的Sys用戶的別名,它由DBA用戶使用來完成資料庫的管理任務,包括啟動和關閉資料庫;Sys,它是一個 DBA用戶名,具有最大的資料庫操作許可權;System,它也是一個 DBA用戶名,許可權僅次於 Sys用戶。
客戶端:
為資料庫用戶操作端,由應用、工具、SQL* NET組成,用戶操作資料庫時,必須連接到一伺服器,該資料庫稱為本地資料庫(Local DB)。在網路環境下其它伺服器上的 DB稱為遠程資料庫(Remote DB)。用戶要存取遠程 DB上的數據時,必須建立資料庫鏈。
Oracle資料庫的體系結構包括物理存儲結構和邏輯存儲結構。由於它們是相分離的,所以在管理數據的物理存儲結構時並不會影響對邏輯存儲結構的存取。
1.邏輯存儲結構
它由至少一個表空間和資料庫模式對象組成。這里,模式是對象的集合,而模式對象是直接引用資料庫數據的邏輯結構。模式對象包括這樣一些結構:表、視圖、序列、存儲過程、同一詞、索引、簇和資料庫鏈等。邏輯存儲結構包括表空間、段和范圍,用於描述怎樣使用資料庫的物理空間。而其中的模式對象和關系形成了資料庫的關系設計。
數據塊(Block):是資料庫進行UO操作的最小單位,它與操作系統的塊不是一個概念。oracle資料庫不是以操作系統的塊為單位來請求數據,而是以多個Oracle資料庫塊為單位。
段(Segment):是表空間中一個指定類型的邏輯存儲結構,它由一個或多個范圍組成,段將佔用並增長存儲空間。
其中包括:
數據段:用來存放表數據;.
索引段:用來存放表索引;
臨時段:用來存放中間結果;
回滾段:用於出現異常時,恢復事務。
范圍(Extent):是資料庫存儲空間分配的邏輯單位,一個范圍由許多連續的數據塊組成,范圍是由段依此分配的,分配的第一個范圍稱為初始范圍,以後分配的范圍稱為增量范圍。
年表
約70年代 一間名為Ampex的軟體公司,正為中央情報局設計一套名叫Oracle的資料庫,Ellison是程序員之一。
1977 年艾利森與女上司Robert Miner創立「軟體開發實驗室」(Software Development Labs),當時IBM發表「關聯資料庫」的論文,艾利森以此造出新資料庫,名為甲骨文。
1978 年 公司遷往矽谷,更名為「關系式軟體公司」 (RSI),兩年後,共有8名員工,年收入少於100萬美金。最先提出「關聯資料庫」的IBM採用RSI的資料庫。1982年再更名為甲骨文(Oracle)。
1984年 三年內,先後進軍加、荷、英、奧地利、日、德、瑞士、瑞典、澳洲、芬蘭、法、香港、挪威、西班牙。1986年上市時,年收入暴升至5500 萬美元,同年3月招股,集資3150萬美元。
1987年 年收入達到 1.31 億美元,甲骨文一年後成為世界第四大軟體公司。兩年內再進軍墨西哥、巴、中、塞普勒斯、馬來西亞及紐西蘭。一年後,收入再升一倍至2.82億美元。
1990年 甲骨文兩年內揮軍進入智利、希臘、韓、葡、土、委內瑞拉、台、比利是、阿根延、哥倫比亞、哥斯大黎加及菲等地,但市甲骨文首次錄得虧蝕,市值急跌80%,艾利森首次安排資深管理人員參與經營。
1992年 旗鑒產品Oracle 7面世,該公司重拾升軌,年收入達到 11.79 億美元。曾被視為甲骨文接班人、但後來被踼出局的Raymond Lane擔任營運總監。
1995年 艾利森宣布PC已死,把全數產品推向網際網路發展,並另組「網路電腦公司」(Network Computer),銷售「網路電腦」,最終被淘汰收場。
2000年 科網接近尾聲時,推出E-Business Suite,搶占應用產品市場,與昔日的生意夥伴構成嚴重利益沖突。同期微軟及IBM數據技術提升,此後Oracle新增訂單數目的佔有率,在兩年內下跌6.6%,業務倒退10%。
2003年 敵意收購仁科軟體公司(Peoplesoft),引起業界轟動。兩公司的爭嗌新聞層出不窮。同年美國司法部落案阻止甲骨文收購。
補充內容:
oracle11g
2007年7月12日,甲骨文公司在美國紐約宣布推出資料庫Oracle 11g,這是Oracle資料庫的最新版本。甲骨文介紹說,Oracle 11g有400多項功能,經過了1500萬個小時的測試,開發工作量達到了3.6萬人/月。
有意思的是,根據甲骨文以往幾個版本的發行經驗,發布新版Oracle資料庫的頻率在3年左右,以此類推,Oracle 11g應該在07年年底發布,選擇在7月份發布,不知道是否和代號Katmai的SQL Server 2008有關,因為目前還處於測試階段的SQL Server 2008將在08年2月發布,業內用Oracle 10g和SQL Server 2003做比較也曾一度惹惱了甲骨文。
XML顯高溫
當XML面世之時,也許沒有哪個資料庫廠商會對這種技術給以足夠的關注,然而在今天,XML已經開始對數據存儲產生巨大的影響。到現在,這種可擴展標記語言已是各種數據,特別是文檔的首選格式,國際主流的資料庫廠商們自然也隨行就市,全都推出了兼容傳統關系型數據與XML數據混合應用的新一代資料庫產品。
XML在數據存儲方面有一個明顯的優點,那就是可以直接將邏輯關系編寫在XML文件當中。一個時髦的XML資料庫應該提供哪些功能呢?歸納起來應該有四個基本功能:使用、存儲、查詢和產生XML的能力。
在Oracle 10g中,曾被人們津津樂道的最重要的改進是增加了對XML schema(XML語法)轉換的支持,它允許用戶通過將現有的數據映射為新的schema來實現XML schema轉換。而不必把所有XML數據輸出後再重新輸入進去,其它事情將由資料庫自動完成。
在Oracle 11g中, XML DB的性能又獲得很大提高,XML DB是Oracle資料庫的一個組件,客戶可以以本機方式存儲和操作XML數據。11g增加了對二進制XML數據的支持,現在客戶可以選擇適合自己特定應用及性能需求的XML存儲選項。
當然,不僅僅是甲骨文看好XML,為吸引Oracle用戶,IBM公司DB2 9打XML旗號直接把XML作為其新產品的最大賣點;微軟和Sybase也宣稱它們的產品也可以實現高性能XML存儲與查詢,使現有應用更好地與XML並存。
網格計算有點冷
新的Oracle 11g仍使用g(Grid)作為後綴,以代表這是一個包含了網格技術基礎的資料庫。甲骨文稱,Oracle 11g能更方便地在低成本伺服器和存儲設備組成的網格上運行。不過,目前僅有IBM DB2資料庫也支持網格計算技術。
網格計算將多個伺服器和存儲器當作一台大型電腦協調使用,使它們在高速網路上動態地共享計算機資源,以滿足不斷變化的計算需求。簡而言之,即將多個伺服器和存儲器當作一台主機協調使用。網格計算被廣泛視為未來的計算方式。
盡管微軟對網格計算的興趣也很濃厚,承諾要讓Windows能夠更好地適應高數據強度的計算網格。但微軟除了在內部研究之外,似乎一直在這個話題上非常沉默。對於資料庫中網格計算,微軟和Sybase方面表示,網格應用在技術上還需解決一些問題(如:多節點性能問題) ,網格技術要成為商業應用的主流,還需要幾年時間在應用和產品上進一步完善。
不容樂觀的是,在咨詢公司Quocirca發布的調查顯示,我國網格實際採用率仍然偏低,總體網格指數在15個被調查國家中只排第9位,處於中下游,甲骨文表示,中國用戶可能對網格的價值還沒有真正接受。很多中國企業有一種觀望的心態,覺得應用網格存在風險。
11g安全了嗎?
有業內人士曾表示,Oracle 10g只能算是一個過渡版本。因為06年,下一代安全軟體機構NGSS對微軟SQL Server和Oracle資料庫做了一個弱點對比,結果表明Oracle的資料庫產品存在更多的弱點。
NGSS的研究人員稱,Oracle有233個缺陷點,而SQL Server只有59個。這些缺陷在SQL Server7、2000以及2005中,在Oracle8、9以及10g版本中被報道,並被修復。分析機構ESG也發布調查報告表示,在安全性方面微軟擊敗了甲骨文,似乎甲骨文資料庫「無懈可擊」的安全神話已不復存在。
針對那些不斷對甲骨文安全性能表示批評的專家,甲骨文終於開始猛烈還擊。2006年底,甲骨文全球技術事業部的安全經理Eric Maurice在公司的博客上表示,甲骨文在開發和安全方面的技術水平居業界領先位置。與微軟資料庫的安全性能比較,不過是別有用心的人在玩數字游戲,甲骨文不會讓外部的壓力改變其既定的安全策略。
到現在,起碼可以從資料上看到,Oracle的安全認證獲得最高認證級別的ISO標准認證,而SQL Server並沒有獲得什麼安全認證。從這方面證明了Oracle的安全性不應該被受到如此指責。
從甲骨文此次推出的11g可以看到,在安全方面除了10g已經存在的數據閥門和加密外,11g又增加了四項安全功能,即安全備份、非對稱數據的授權安全檢索、監控、管理和報警。
Oracle 11g資料庫增強了Oracle透明數據加密功能,將這種功能擴展到了卷級加密之外。11g還增加了表空間加密功能,可用來加密整個表、索引和所存儲的其它數據。存儲在資料庫中的大型對象也可以加密。
看來甲骨文很注重11g在安全上的表現,閃回交易技術可以撤銷錯誤交易以及任何相關交易,並行備份和恢復功能。另外,一種新的顧問軟體—數據恢復顧問,可自動調查問題,智能地確定恢復計劃並處理多種故障情況。
Oracle 11g的Oracle Data Guard組件可用於對生產資料庫的報告、備份、測試和「滾動」升級。通過將工作量從生產系統卸載到備用系統,並組成一個更經濟的災難恢復解決方案。
也許正是在安全性上的增強,才使得甲骨文公司資料庫伺服器技術高級副總裁Andy Mendelsohn自信地表示:「Oracle 11g真正克服了挑戰並實現了真正的創新。」
一個瘋狂的發燒友在自家的車庫中改造了小型IDC,並利用Sun Enterprise 220R Server架設了Oracle 10g資料庫
增強信息生命周期管理和存儲管理能力:引入了更多的自助式管理和自動化功能;
◆透明的加密:Oracle將這種功能擴展到了卷級加密之外;
◆提高信息可用性:免受計劃停機和意外宕機影響;
◆更快的XML:通過XML DB組件,客戶可以本機方式存儲和操作XML數據;
◆增強了自助式管理和自動化能力:增加了自動SQL和存儲器微調等管理功能;
◆增強了應用開發能力:提供多種開發工具供開發人員選擇,包括Java實時編譯器。
開源資料庫成熟時
以MySQL、PostgreSQL為代表的開源資料庫系統,已成為取代閉源資料庫的一種頗具吸引力的選擇。
成熟的開源資料庫,讓Oracle這樣的閉源廠商難以騰飛
知名的網路游戲The Matrix Online(駭客帝國Online),每天有數萬名網上玩家同時在線,為了能夠支撐龐大的在線游戲玩家同時進行游戲,Sony Online Entertainment(索尼在線娛樂公司,以下簡稱SOE)需要密集使用資料庫。
以往SOE會使用大量的Oracle RAC集群提供服務,但是由於Oracle資料庫的授權證十分昂貴及欠缺彈性,加上公司需要更多額外資料庫。所以從2005年開始,該公司就開始尋求既具有較低總擁有成本,又具有較好靈活性的開源資料庫以取代Oracle資料庫。
踢開Oracle
SOE對資料庫的需求相當可觀,其資料庫應用程序是關鍵任務應用程序的最恰當詮釋:每天有數十萬在線玩家在玩SOE的游戲,而每款游戲都是一個資料庫及其密集的應用程序。
事實上,SOE在應用開放源代碼的應用上有很長歷史,曾經就使用過Linux、Tomcat、Apache、Hibernate架設系統,此次的開源抉擇,SOE更注重尋覓能夠利用其寶貴資產(內部能夠熟練使用Oracle的資料庫人才)的方法,在選擇開源資料庫時,列出了四項標准:
1、能夠充分發揮其現有資料庫管理員和開發人員的潛能;
2、易於將SOE現有的Oracle應用程序遷移到新的資料庫;
3、能夠提供商用級別質量可靠性,包括備份和恢復標准,以支持關鍵任務應用程序;
4、可擴展,具有高性能。
在選擇開源資料庫之前,SOE需要使用許多Oracle 9i RAC群集。另外,SOE在其後台運營中部署了資料庫。與如今的很多企業一樣,SOE希望開源軟體能夠提供應對這些業務挑戰的解決方案。
根據SOE對不同開放源碼資料庫的評估,他們選擇了兼容Oracle資料庫的EnterpriseDB,因為SOE有八成以上的特定Oracle應用程式,可以在極少、甚至無需修改的情況下在EnterpriseDB執行,以現有開支比較,利用EnterpriseDB後,每款線上游戲的整體擁有成本可降低80%,每年節省總額過百萬,在2007至2008年度,SOE將使用數百台EnterpriseDB資料庫集群伺服器。
開源更有前途
使用Oracle資料庫的企業一般都會對開源資料庫感興趣,主要有三個方面原因:首先,通過部署開源資料庫,這些企業可以顯著降低資料庫的總擁有成本(TCO),有時降幅甚至高達90%;其次,他們通常可以從其他廠商獲得更大的許可靈活性以及業務便利;最後,這些企業會發現其他廠商更渴望為他們提供出色技術。
對於開源資料庫,企業多少也會有些擔心,因為許多企業僅限於將開源資料庫用於一些簡單的應用程序,如一些網站的支持應用。因為這些企業普遍認為開源資料庫可能不夠穩定,可靠性或者可擴展性不夠高,因而無法滿足他們的關鍵任務應用需求。另外,企業可能還覺得更改資料庫的代價,例如,與應用程序重新編碼,人員重新培訓相關的成本,可能會超出預期的節省目標。
MySQL、FireBird、EnterpriseDB和Postgre(PostgreSQL的前身)都是非常健壯的開源資料庫,而EnterpriseDB又是基於PostgreSQL進行開發的,不僅保留了PostgreSQL的穩定性,而且可實現50%的速度增長,系統可以自動監測是否有補丁程序存在,大大減輕管理員的工作。
近幾年來,美國一些大企業紛紛採用開放源碼資料庫,它們往往在總部採用商業資料庫,而在分支機構的Linux伺服器上採用開源產品。這些資料庫除了費用便宜,還各有獨到之處。與商業化產品相比,開源資料庫結構簡單,但功能不簡單,讀取操作快捷,易管理,甚至不需要全職的管理員。由此吸引了像Cisco、Yahoo這樣的大公司,以及眾多的中小企業。而在國內,我們熟悉的新浪、網易等大型門戶網站也是開源資料庫的使用者。
該企業品牌在世界品牌實驗室(World Brand Lab)編制的2006年度《世界品牌500強》排行榜中名列第三十六。
❼ 我們數據規模大,但是依然想對資料庫進行加密操作,請推薦一家廠商
推薦合力天下資料庫加密系統,企業用戶部署較多,網站資料庫,應用系統資料庫都可以加密,不影響資料庫的正常運行,非法下載打開亂碼
❽ 誰能簡單介紹下資料庫加密
一、資料庫加密是什麼?
資料庫加密技術屬於主動防禦機制,可以防止明文存儲引起的數據泄密、突破邊界防護的外部黑客攻擊以及來自於內部高許可權用戶的數據竊取,從根本上解決資料庫敏感數據泄漏問題。資料庫加密技術是資料庫安全措施中最頂級的防護手段,也是對技術性要求最高的,產品的穩定性至關重要。
二、資料庫加密的方式有哪些?
目前,不同場景下仍在使用的資料庫加密技術主要有:前置代理加密、應用系統加密、文件系統加密、後置代理加密、表空間加密和磁碟加密等,下文將對前四種數據加密技術原理進行簡要說明。
1、前置代理加密技術
該技術的思路是在資料庫之前增加一道安全代理服務,所有訪問資料庫的行為都必須經過該安全代理服務,在此服務中實現如數據加解密、存取控制等安全策略,安全代理服務通過資料庫的訪問介面實現數據存儲。安全代理服務存在於客戶端應用與資料庫存儲引擎之間,負責完成數據的加解密工作,加密數據存儲在安全代理服務中。
2、應用加密技術
該技術是應用系統通過加密API(JDBC,ODBC,CAPI等)對敏感數據進行加密,將加密數據存儲到資料庫的底層文件中;在進行數據檢索時,將密文數據取回到客戶端,再進行解密,應用系統自行管理密鑰體系。
3、文件系統加解密技術
該技術不與資料庫自身原理融合,只是對數據存儲的載體從操作系統或文件系統層面進行加解密。這種技術通過在操作系統中植入具有一定入侵性的「鉤子」進程,在數據存儲文件被打開的時候進行解密動作,在數據落地的時候執行加密動作,具備基礎加解密能力的同時,能夠根據操作系統用戶或者訪問文件的進程ID進行基本的訪問許可權控制。
4、後置代理技術
該技術是使用「視圖」+「觸發器」+「擴展索引」+「外部調用」的方式實現數據加密,同時保證應用完全透明。核心思想是充分利用資料庫自身提供的應用定製擴展能力,分別使用其觸發器擴展能力、索引擴展能力、自定義函數擴展能力以及視圖等技術來滿足數據存儲加密,加密後數據檢索,對應用無縫透明等核心需求。
三、資料庫加密的價值
1、在被拖庫後,避免因明文存儲導致的數據泄露
通常情況下,資料庫中的數據是以明文形式進行存儲和使用的,一旦數據文件或備份磁帶丟失,可能引發嚴重的數據泄露問題;而在拖庫攻擊中,明文存儲的數據對於攻擊者同樣沒有任何秘密可言——如Aul、MyDul等很多成熟的資料庫文件解析軟體,均可對明文存儲的數據文件進行直接分析,並輸出清晰的、結構化的數據,從而導致泄密。
資料庫加密技術可對資料庫中存儲的數據在存儲層進行加密,即使有人想對此類數據文件進行反向解析,所得到的也不過是沒有任何可讀性的「亂碼」,有效避免了因數據文件被拖庫而造成數據泄露的問題,從根本上保證數據的安全。
2、對高權用戶,防範內部竊取數據造成數據泄露
主流商業資料庫系統考慮到初始化和管理的需要,會設置以sys、sa或root為代表的資料庫超級用戶。這些超級用戶天然具備數據訪問、授權和審計的許可權,對存儲在資料庫中的所有數據都可以進行無限制的訪問和處理;而在一些大型企業和政府機構中,除系統管理員,以數據分析員、程序員、服務外包人員為代表的其他資料庫用戶,也存在以某種形式、在非業務需要時訪問敏感數據的可能。
資料庫加密技術通常可以提供獨立於資料庫系統自身許可權控制體系之外的增強權控能力,由專用的加密系統為資料庫中的敏感數據設置訪問許可權,有效限制資料庫超級用戶或其他高許可權用戶對敏感數據的訪問行為,保障數據安全。
❾ 一個好的資料庫加密系統一般應滿足哪些方面的要求
我認為,至少需要滿足下面4個方面的要求。
1、保證資料庫系統的整體性能沒有明顯下降
眾所周知,資料庫系統的數據處理性能對整個業務系統的整體性能表現有決定性的作用,在某些場合,資料庫必須保證處理能力維持在某個較高水平才能滿足業務需要。另一方面,資料庫加密系統是一個對資料庫中數據進行加密保護的應用系統,在數據從業務系統存儲到資料庫時要對數據進行加密,這個過程中明文數據需要被加密成密文,在數據由資料庫中被讀取出來傳遞到業務系統時要對數據進行解密,這個過程中密文需要被解密成明文。加密和解密是個根據一定的演算法邏輯進行循環運算的過程,這個過程對CPU會產生一定的消耗,會影響資料庫的性能。
資料庫加密系統可以有多種技術路線來實現,業界已經驗證和使用的技術路線包括應用系統加密、前置代理加密、後置代理加密、表空間透明數據加密、文件系統加密和磁碟加密。其中應用系統加密和前置代理加密技術會極大地影響資料庫性能,僅適用於小量數據加密場景;後置代理加密技術在某些場景上也會大幅影響資料庫性能,使用場景有明顯限制;所以,好的資料庫加密系統應該盡量使用後三種技術路線來實現。
2、保證數據安全
保存在資料庫中的數據是用戶的資產,因此,任何一個資料庫加密系統都需要保證在有密鑰的前提下能夠對由自己加密的數據進行無損解密。因此,一個好的資料庫加密系統應該具備密鑰備份和恢復功能,以便於在加密機故障不可用時能夠快速搭建新的加密機環境;另外,如果資料庫加密系統提供了獨立的工具或介面來實現加密機故障時用戶數據的解密,則是更好的選擇。
3、應用完全透明
資料庫系統是為業務系統提供數據服務的,一個好的資料庫加密系統應該對應用系統具備完全的透明性,這種透明性主要表現在:(1)部署資料庫加密系統時,應用系統不需要做任何改造,即使是連接字元串都不需要修改;(2)在部署了資料庫資料庫加密系統後,資料庫內部的存儲過程、用戶自定義函數、觸發器、SQL代碼段等可執行對象及主外鍵關系、各種索引、默認值、Check約束等均可以正常使用,也不需要做任何改變;(3)資料庫自身的外圍管理工具、第三方資料庫工具等在部署資料庫加密系統後仍然可以正常使用。
4、高可用性
資料庫加密系統自身應具備高可用能力,可以以主備或多機的方式提供資料庫加密服務,當其中的一台加密機發生故障時,其它加密機應可能快速接管加密服務,保證資料庫系統和用戶業務系統的可用性。