国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle SecureFile的功能第1/4頁

2020-07-26 14:34:41
字體:
供稿:網(wǎng)友
SecureFile功能是oracle 11g中對大對象(LOB)存儲格式的完全重新設(shè)計(jì)實(shí)現(xiàn),原來的LOB存儲格式現(xiàn)在通稱為BASIXFILE,它仍然是默認(rèn)的存儲方法,但是SECURFILE關(guān)鍵字開啟了新的存儲方法,它允許加密、利用壓縮節(jié)約空間和數(shù)據(jù)重復(fù)消除。

  初始化參數(shù)

  SecureFile功能在初始化參數(shù)COMPATIBLE設(shè)置我11.0.0.0.0或更高時(shí)可用。

  DB_SECUREFILE初始化參數(shù)控制數(shù)據(jù)庫對LOB存儲格式的默認(rèn)行為,允許的值有:

  ◆ALWAYS - 在ASSM表空間中的所有LOB對象以SecureFile LOB的格式創(chuàng)建,在非ASSM表空間中的所有LOB對象以BasicFile LOB的格式創(chuàng)建(除非明確地指出要以SecureFile格式創(chuàng)建),在沒有指定選項(xiàng)的情況下,BasicFile存儲格式選項(xiàng)被忽略,SecureFile默認(rèn)存儲格式選項(xiàng)被使用。

  ◆ FORCE - 所有LOB對象都以SecureFile LOB格式創(chuàng)建,如果是在一個(gè)非ASSM表空間中創(chuàng)建LOB,會出現(xiàn)錯(cuò)誤,在沒有指定選項(xiàng)的情況下,BasicFile存儲格式選項(xiàng)被忽略,SecureFile默認(rèn)存儲格式選項(xiàng)被使用。

  ◆PERMITTED - 默認(rèn)設(shè)置,當(dāng)使用了SECUREFILE關(guān)鍵字時(shí)它允許SecureFile LOB存儲格式,默認(rèn)存儲方法是BASICFILE。

  ◆NEVER - 不允許創(chuàng)建SecureFile LOB對象。

  ◆IGNORE - 防止創(chuàng)建SecureFile LOB,使用SecureFile存儲選項(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通過在LOB存儲子句后添加SECUREFILE關(guān)鍵字來創(chuàng)建,下面的代碼顯示創(chuàng)建了兩個(gè)表,第一個(gè)使用的是原來的存儲格式,第二個(gè)使用的是SecureFile存儲格式。


  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ū)一級上的一個(gè)LOB內(nèi)消除重復(fù)數(shù)據(jù),正如你預(yù)料的那樣,這個(gè)技術(shù)與預(yù)防重寫導(dǎo)致系統(tǒng)開銷增大,KEEP_DUPLICATE選項(xiàng)明確地阻止重復(fù)消除,下面的例子對比了普通的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è)置。

1234下一頁閱讀全文
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中西区| 上思县| 新平| 绵阳市| 沂水县| 东源县| 敦化市| 定远县| 若尔盖县| 潮州市| 四子王旗| 利辛县| 牙克石市| 沈阳市| 葵青区| 康定县| 邵阳市| 高青县| 伊春市| 卓尼县| 青州市| 页游| 潢川县| 贺兰县| 嘉荫县| 泰安市| 祥云县| 涿鹿县| 和龙市| 闽清县| 瑞金市| 库伦旗| 仙居县| 通许县| 寻乌县| 孟州市| 仁布县| 肃北| 安义县| 嘉峪关市| 皋兰县|