最近被骗了一次AUL的恢复, 想想也算了, 本来10月份我就宣布可以免费使用AUL的, 不过事后我加上了免费仅针对大陆企业和个人, 因为这次骗我的是台资的. 其实好好规划你的数据库, 对于大部份企业的数据库来说免费的许可证(同时最多打开4个文件, 最多读取文件前面512M)足够了.
在AnySQL中恢复是一个表空间的所有文件来操作的, 在默认的限制中, 每个表空间的前2G是免费的, 实际上我过去做的恢复中, 有一半的情况是只有一个1G大小的文件. 所以只要规划好, 对于大部份企业够用了. 可以从以下几方面来考虑:
- 将表和索引分开表空间存贮
- 设计好Extent的大小, 如果是字典管理(DMT), 注意INITIAL EXTENT, NEXT EXTENT的大小设置, 特别要注意PCTINCREASE的设置; 如果是本地管理的表空间, 设置合理的UNIFORM SIZE, 或采用自动分配.
- 对于不同大小的表分开表空间存贮, 小表放一个表间表, 中等大小的表放一个表空间, 很大的表或分区可以分开放一个表空间, 只要每个表空间不超过2G, 则所有的数据都可以免费用AUL来恢复.
- 禁用数据文件的自动扩展, 通过增加文件来扩展表空间的空间.
象这次被骗的例子中, 数据文件就一个, 大小有16G, 通过好好考虑上面的因素, 其实数据没有多少. 只是很多出事的公司的DBA是低价招聘来的, 不是很懂, 或者是什么也没有做而已.
最好还是做好备份, 不要用寄希望于这种工具, 就象这次的那样, 因为只能用一次也成为减价的理由, Oracle去给他做恢复, 会拷一个DUL给他吗?