securefiles:新lob

securefiles:新lob

ID:6684727

大小:165.50 KB

页数:16页

时间:2018-01-22

securefiles:新lob_第1页
securefiles:新lob_第2页
securefiles:新lob_第3页
securefiles:新lob_第4页
securefiles:新lob_第5页
资源描述:

《securefiles:新lob》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、OracleDatabase11g:面向DBA和开发人员的重要特性作者:ArupNandaSecureFiles:新LOB了解如何使用新一代LOB:SecureFiles。SecureFiles集外部文件与数据库LOB方法的优点于一身,可以存储非结构化数据,允许加密、压缩、重复消除等。参见系列目录数据库驻留BLOB或操作系统文件您在Oracle数据库中存储什么?通常,您会以关系格式存储数据以便映射到某些定义模式的类型,或者以客户姓名、帐户余额、状态代码等定义的数据类型存储数据。但是,以非结构化或半结构化形式存储信息的需求也日益增加。例如,照片、

2、字处理文档、电子表格、XML文件等等。这些类型的数据如何存储?通常有两种方法:这些数据作为LOB字段(BLOB用于存储二进制数据,CLOB用于存储字符数据)存储在数据库中,或者通过引用存储在数据库中的文件存储在操作系统文件中。每种方法都有优缺点。操作系统文件可以由操作系统和日志文件系统缓存以加速崩溃后的恢复。由于可进行压缩,因此操作系统文件占用的空间通常也比数据库中的数据要少。还有一些工具可以智能地识别文件模式并消除重复从而提高存储效率;但是操作系统文件位于数据库外部,因此数据库属性不适用于它们。这些文件不进行备份,细粒度安全性不适用于它们,此

3、类文件不是事务的一部分—因此Oracle数据库固有的读取一致性等概念不适用于它们。如果能集两种方法的优点于一身会怎样?OracleDatabase11g中的SecureFiles为您提供了答案。SecureFiles是数据库中一个全新的基础架构,可提供最佳的数据库驻留LOB和操作系统文件性能。让我们看一看这种方案的实现方式。(顺便说明的是,传统LOB仍然以BasicFiles格式提供。)实际示例通过一个简单的示例来介绍SecureFiles概念或许是一种最佳方式。假设您要开发一个合同管理系统,在该系统中您希望将所有合同的副本都放在一个表中。扫描

4、的文档通常是PDF文件而非文本。某些可能是MSWord文档,甚至是扫描的照片。这是BLOB的最佳使用案例,因为列必需能够支持二进制数据。过去,在OracleDatabase11g推出之前,您可能会按照以下方式定义表:createtablecontracts_basic(contract_idnumber(12),contract_namevarchar2(80),file_sizenumber,orig_fileblob)tablespaceuserslob(orig_file)(tablespaceusersenablestorageinro

5、wchunk4096pctversion20nocachenologging);实际的文件以二进制格式存储在ORIG_FILE列中。各种参数指明在操作期间不应对LOB进行缓存并记入日志中,应按表行存储,块大小应为4KB并存储在表空间USERS中。由于您没有明确指定,因此LOB在OracleDatabase11g中以常规格式(BasicFiles)存储。如果您希望将LOB存储为SecureFile,只需在创建表时放入一个子句storeassecurefile,如下所示:createtablecontracts_sec(contract_idnu

6、mber(12),contract_namevarchar2(80),file_sizenumber,orig_fileblob)tablespaceuserslob(orig_file)storeassecurefile(tablespaceusersenablestorageinrowchunk4096pctversion20nocachenologging)/要创建SecureFileLOB,您需要满足两个条件,而这两个条件都是默认设置,因此您可能已经满足。§初始化参数db_securefile应设为permitted(默认设置)。我会在

7、后面解释该参数的作用。§在其中创建securefile的表空间应启用自动段空间管理(ASSM)。在OracleDatabase11g中,表空间创建的默认模式为ASSM,因此该表空间可能已经这样设置。如果没有,则需要在一个新的ASSM表空间上创建SecureFile。表创建完成后,您可以加载数据,方式与11g之前的常规LOB(BasicFile)相同。不需要更改应用程序,也不需要记住某些特殊的语法。下面是一个载入该表的小程序。declarel_sizenumber;l_file_ptrbfile;l_blobblob;beginl_file_pt

8、r:=bfilename('SECFILE','contract.pdf');dbms_lob.fileopen(l_file_ptr);l_size

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。