我们可以看到压缩的lob段比没有压缩的lob段明显要小得多,空间节约的程度依赖于lob段数据的存储类型。
可以使用alter table命令重新设置压缩模式。
alter table compress_tab modify lob(clob_data) ( nocompress ); exec dbms_stats.gather_table_stats(user, 'compress_tab'); column segment_name format a30 select segment_name, bytes from user_segments where segment_name in ('compress_lob', 'nocompress_lob'); segment_name bytes ------------------------------ ---------- compress_lob 76808192 nocompress_lob 71630848 2 rows selected. sql> |
lob加密
securefile lob的加密功能依赖于钱夹或硬件安全模型(hsm)掌管加密密钥,钱夹设置与透明数据加密(tde)和表空间加密描述的一样,因此在尝试下面的例子前先完成那两个实验。
securefile的encrypt选项执行块级别的lob内容加密,一个可选的using子句定义了使用哪种加密算法(3des168, aes128, aes192, 或aes256),默认使用aes192算法,no salt选项对于securefile加密不可用,加密是应用在每一列上的,因此它会影响所有使用lob的分区,decrpt选项用于明确地阻止加密,下面的例子显示了使用加密的securefile lob数据类型创建表。
create table encrypt_tab ( id number, clob_data clob ) lob(clob_data) store as securefile encrypt_lob( encrypt using 'aes256' ); |
alter table命令可以用于加密或解密现有的列,要切换加密算法你必须使用rekey选项。
alter table encrypt_tab modify ( clob_data clob decrypt ); alter table encrypt_tab modify ( clob_data clob encrypt using '3des168' ); alter table encrypt_tab rekey using 'aes192'; |
加密是不受原来的导入导出工具或表空间传输支持的,因此必须使用数据泵导入导出工具来传输数据。
lob缓存和日志
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合在一起使用。
下面的代码显示了一个在表创建过程中和创建后明确设置了缓存和日志选项的例子。
create table caching_and_logging_tab ( id number, clob_data clob ) lob(clob_data) store as securefile( nocache filesystem_like_logging ); alter table caching_and_logging_tab modify lob(clob_data) ( cache ); pl/sql api |
如对本文有疑问, 点击进行留言回复!!
oracle数据库imp导入失败提示:“不是有效的导出文件, 标头验证失败”解决方法,修改dmp文件里oracle数据库版本号方法
Oracle DataGuard故障转移(failover)后使用RMAN还原失败的主库
Oracle Dataguard故障转移(failover)操作
Oracle之 LISTAGG () OVER(PARTITION BY)函数
网友评论