在Oracle 11g之前, 普通的Insert不能使数据以Compress方式存贮, 你可以做实验对它进行验证, 只能通过将表移动一下, 或用CTAS或Bulk Insert的方式来进行表压缩. 最近也开始用Compress表存放一些几年前的数据了.
虽然有触目惊心的Bug, 但空间的节约却是可观的, 有时也得挺而走险(没有这么严重)一下.
在Oracle 11g中, 号称支持OLTP的Compress表, 并不是算法有什么改进(我用AUL 5去恢复11g中的压缩表, 也能恢复出来, 就说明了这一点), 也只是修复了一些Bug, 并且在普通的Insert语句下, 也可以进行压缩(还没有装11g进行验证). 如果这个功能安全可靠的话, 到是可以用于存放什么Log信息的表, 一个系统中总是不关键的数据占据了大多数存贮.
11g安装软件太大了, 我还没有下载Windows的版本呢? 谁下载了去拷一下算了.
留言 (2)
Update:
For 11g Database Servers another option is to create the compressed table using the additional clause "For all operations"
CREATE TABLE LEE COMPRESS FOR ALL OPERATIONS AS SELECT * FROM ALL_OBJECTS WHERE 1=0;
Posted by anysql | Nov 16, 2007 12:17 PM
我下载了11g for win32,并顺利安装在了Vista上,解压后1.79G。
Posted by edeed | Nov 18, 2007 9:41 AM