Oracle SecureFile的功能第1/4頁(yè)
初始化參數(shù)
SecureFile功能在初始化參數(shù)COMPATIBLE設(shè)置我11.0.0.0.0或更高時(shí)可用。
DB_SECUREFILE初始化參數(shù)控制數(shù)據(jù)庫(kù)對(duì)LOB存儲(chǔ)格式的默認(rèn)行為,允許的值有:
◆ALWAYS - 在ASSM表空間中的所有LOB對(duì)象以SecureFile LOB的格式創(chuàng)建,在非ASSM表空間中的所有LOB對(duì)象以BasicFile LOB的格式創(chuàng)建(除非明確地指出要以SecureFile格式創(chuàng)建),在沒(méi)有指定選項(xiàng)的情況下,BasicFile存儲(chǔ)格式選項(xiàng)被忽略,SecureFile默認(rèn)存儲(chǔ)格式選項(xiàng)被使用。
◆ FORCE - 所有LOB對(duì)象都以SecureFile LOB格式創(chuàng)建,如果是在一個(gè)非ASSM表空間中創(chuàng)建LOB,會(huì)出現(xiàn)錯(cuò)誤,在沒(méi)有指定選項(xiàng)的情況下,BasicFile存儲(chǔ)格式選項(xiàng)被忽略,SecureFile默認(rèn)存儲(chǔ)格式選項(xiàng)被使用。
◆PERMITTED - 默認(rèn)設(shè)置,當(dāng)使用了SECUREFILE關(guān)鍵字時(shí)它允許SecureFile LOB存儲(chǔ)格式,默認(rèn)存儲(chǔ)方法是BASICFILE。
◆NEVER - 不允許創(chuàng)建SecureFile LOB對(duì)象。
◆IGNORE - 防止創(chuàng)建SecureFile LOB,使用SecureFile存儲(chǔ)選項(xiàng)時(shí)忽略所有錯(cuò)誤。
這個(gè)參數(shù)是動(dòng)態(tài)的,因此它可以使用ALTER SYSTEM命令設(shè)置。
SQL> ALTER SYSTEM SET db_securefile = 'FORCE'; System altered. SQL> ALTER SYSTEM SET db_securefile = 'PERMITTED'; System altered. SQL> |
下面的例子假設(shè)DB_SECUREFILE初始化參數(shù)設(shè)置為默認(rèn)值PERMITTED。
創(chuàng)建SecureFile LOB
基礎(chǔ)
SecureFile LOB通過(guò)在LOB存儲(chǔ)子句后添加SECUREFILE關(guān)鍵字來(lái)創(chuàng)建,下面的代碼顯示創(chuàng)建了兩個(gè)表,第一個(gè)使用的是原來(lái)的存儲(chǔ)格式,第二個(gè)使用的是SecureFile存儲(chǔ)格式。
CREATE TABLE bf_tab ( id NUMBER, clob_data CLOB ) LOB(clob_data) STORE AS BASICFILE; INSERT INTO bf_tab VALUES (1, 'My CLOB data'); COMMIT; CREATE TABLE sf_tab ( id NUMBER, clob_data CLOB ) LOB(clob_data) STORE AS SECUREFILE; INSERT INTO sf_tab VALUES (1, 'My CLOB data'); COMMIT; |
LOB重復(fù)消除
SecureFile的DEDUPLICATE選項(xiàng)允許在表或分區(qū)一級(jí)上的一個(gè)LOB內(nèi)消除重復(fù)數(shù)據(jù),正如你預(yù)料的那樣,這個(gè)技術(shù)與預(yù)防重寫(xiě)導(dǎo)致系統(tǒng)開(kāi)銷增大,KEEP_DUPLICATE選項(xiàng)明確地阻止重復(fù)消除,下面的例子對(duì)比了普通的SecureFile和重復(fù)消除SecureFile的空間使用情況。
CREATE TABLE keep_duplicates_tab ( id NUMBER, clob_data CLOB ) LOB(clob_data) STORE AS SECUREFILE keepdup_lob( KEEP_DUPLICATES ); CREATE TABLE deduplicate_tab ( id NUMBER, clob_data CLOB ) LOB(clob_data) STORE AS SECUREFILE dedup_lob ( DEDUPLICATE ); DECLARE l_clob CLOB := RPAD('X', 10000, 'X'); BEGIN FOR i IN 1 .. 1000 LOOP INSERT INTO keep_duplicates_tab VALUES (i, l_clob); END LOOP; COMMIT; FOR i IN 1 .. 1000 LOOP INSERT INTO deduplicate_tab VALUES (i, l_clob); END LOOP; COMMIT; END; / EXEC DBMS_STATS.gather_table_stats(USER, 'keep_duplicates_tab'); EXEC DBMS_STATS.gather_table_stats(USER, 'deduplicate_tab'); COLUMN segment_name FORMAT A30 SELECT segment_name, bytes FROM user_segments WHERE segment_name IN ('KEEPDUP_LOB', 'DEDUP_LOB'); SEGMENT_NAME BYTES ------------------------------ ---------- DEDUP_LOB 262144 KEEPDUP_LOB 19267584 2 rows selected. SQL> |
注意重復(fù)消除段要小很多,空間節(jié)約依賴于LOB段內(nèi)的重復(fù)程度,重復(fù)模式可以使用ALTER TABLE命令進(jìn)行重新設(shè)置。
相關(guān)文章
Oracle基礎(chǔ)多條sql執(zhí)行在中間的語(yǔ)句出現(xiàn)錯(cuò)誤時(shí)的控制方式
今天小編就為大家分享一篇關(guān)于Oracle基礎(chǔ)多條sql執(zhí)行在中間的語(yǔ)句出現(xiàn)錯(cuò)誤時(shí)的控制方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-12-12
Oracle EBS工具選項(xiàng):關(guān)閉其他表單修改方法
這篇文章主要介紹了Oracle EBS工具選項(xiàng)關(guān)閉其他表單修改方法,包括通過(guò)SQL語(yǔ)句永久打開(kāi)或關(guān)閉這個(gè)選項(xiàng)的方法,需要的朋友可以了解下。2017-09-09
oracle 存儲(chǔ)過(guò)程和觸發(fā)器復(fù)制數(shù)據(jù)
oracle 存儲(chǔ)過(guò)程和觸發(fā)器復(fù)制數(shù)據(jù)的代碼,需要的朋友可以參考下。2009-11-11
oracle關(guān)聯(lián)查詢報(bào)invalid number錯(cuò)誤的解決方法
這篇文章主要介紹了oracle關(guān)聯(lián)查詢報(bào)invalid number錯(cuò)誤的解決方法,文中通過(guò)代碼示例和圖文結(jié)合的方式講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-09-09
Oracle11g數(shù)據(jù)庫(kù)win8.1系統(tǒng)安裝配置圖文教程
這篇文章主要介紹了 Oracle11g數(shù)據(jù)庫(kù)win8.1系統(tǒng)安裝配置圖文教程的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-07-07
oracle 動(dòng)態(tài)AdvStringGrid完美示例 (AdvStringGrid使用技巧/Cells)
本方法實(shí)現(xiàn)用常量和常量數(shù)組完美創(chuàng)建和控制動(dòng)態(tài)TAdvStringGrid。2009-06-06

