Oracle SecureFile的功能第1/4页
初始化参数
SecureFile功能在初始化参数COMPATIBLE设置我11.0.0.0.0或更高时可用。
DB_SECUREFILE初始化参数控制数据库对LOB存储格式的默认行为,允许的值有
◆ALWAYS - 在ASSM表空间中的所有LOB对象以SecureFile LOB的格式创建,在非ASSM表空间中的所有LOB对象以BasicFile LOB的格式创建(除非明确地指出要以SecureFile格式创建),在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。
◆ FORCE - 所有LOB对象都以SecureFile LOB格式创建,如果是在一个非ASSM表空间中创建LOB,会出现错误,在没有指定选项的情况下,BasicFile存储格式选项被忽略,SecureFile默认存储格式选项被使用。
◆PERMITTED - 默认设置,当使用了SECUREFILE关键字时它允许SecureFile LOB存储格式,默认存储方法是BASICFILE。
◆NEVER - 不允许创建SecureFile LOB对象。
◆IGNORE - 防止创建SecureFile LOB,使用SecureFile存储选项时忽略所有错误。
这个参数是动态的,它可以使用ALTER SYSTEM命令设置。
SQL> ALTER SYSTEM SET db_securefile = 'FORCE'; System altered. SQL> ALTER SYSTEM SET db_securefile = 'PERMITTED'; System altered. SQL> |
狼蚁网站SEO优化的例子假设DB_SECUREFILE初始化参数设置为默认值PERMITTED。
创建SecureFile LOB
基础
SecureFile LOB通过在LOB存储子句后添加SECUREFILE关键字来创建,狼蚁网站SEO优化的代码显示创建了两个表,第一个使用的是原来的存储格式,第二个使用的是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重复消除
SecureFile的DEDUPLICATE选项允许在表或分区一级上的一个LOB内消除重复数据,正如你预料的那样,这个技术与预防重写导致系统开销增大,KEEP_DUPLICATE选项明确地阻止重复消除,狼蚁网站SEO优化的例子对比了普通的SecureFile和重复消除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> |
注意重复消除段要小很多,空间节约依赖于LOB段内的重复程度,重复模式可以使用ALTER TABLE命令进行重新设置。
编程语言
- 甘肃哪有关键词排名优化购买方式有哪些
- 甘肃SEO如何做网站优化
- 河南seo关键词优化怎么做电话营销
- 北京SEO优化如何做QQ群营销
- 来宾百度关键词排名:提升您网站曝光率的关键
- 卢龙关键词优化:提升您网站排名的策略与技巧
- 山东网站优化的注意事项有哪些
- 四川整站优化怎样提升在搜索引擎中的排名
- 疏附整站优化:提升网站性能与用户体验的全新
- 海南seo主要做什么工作售后服务要做到哪些
- 荣昌百度网站优化:提升您网站的搜索引擎排名
- 河北seo网站排名关键词优化如何做SEO
- 江西优化关键词排名推广售后保障一般有哪些
- 古浪SEO优化:提升你的网站可见性
- 西藏网站排名优化怎么把网站排名在百度首页
- 如何提升阳东百度快照排名:详尽指南