您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > Oracle 11g 面向DBA的新功能学习指南less15_securefiles
OracleDatabase11g:面向管理员的新增功能15-2OracleDatabase11g:面向管理员的新增功能15-3管理企业信息如今,应用程序必须处理多种类型的数据,这些数据主要分为结构化、半结构化和非结构化数据。使用大对象(LOB)的功能,可以将所有这些类型的数据存储在数据库中以及可从该数据库进行访问的操作系统(OS)文件中。在关系数据库中保存对象关系数据时,文件系统所具有的简单性和性能使其非常适合于存储文件数据。OracleDatabase11g:面向管理员的新增功能15-4现有LOB实施中的问题在Oracle8i中,LOB设计是基于下列假设做出的:•LOB实例化的大小预计为几个兆字节。•LOB通常被视为“单写多读”类型的数据。很少进行更新,所以可以为所有类型的更新(大型或小型)对整个块进行版本化。•预计很少有批处理会流式处理数据。预计不会出现联机事务处理(OLTP)类型的工作量。•保留的还原量由用户使用PCTVERSION和RETENTION参数进行控制。这是额外的管理工作。•在假设LOB大小通常是统一的前提下,CHUNK大小是一个静态参数。CHUNK大小的上限是32KB。•预计OracleRAC中不会出现高并发性的写入。自首次实施后,业务要求已发生了显著变化。现在LOB的使用方式与关系数据的相似,用于存储各种大小的半结构化和非结构化数据。数据大小可以从几千字节(用于HTML链接)到几兆兆字节(用于流视频)不等。在LOB中存储所有文件系统数据的Oracle文件系统会遇到类似OLTP的高并发性访问。随着OracleRAC日益广泛的应用,必须解决OracleRAC的可扩展性问题。LOB空间结构的现有设计不能满足这些新要求。OracleDatabase11g:面向管理员的新增功能15-5OracleSecureFilesOracleDatabase11g将LOB数据类型作为OracleSecureFiles进行了完全重新设计,显著改进了应用程序开发的性能、可管理性和易用性。新实施也提供了下一代高级功能,如智能压缩和透明加密。使用SecureFiles时,块大小介于Oracle数据块大小到64MB之间。OracleDB尝试使数据集中在磁盘的相邻物理位置,从而将内部碎片降到最低。通过使用可变的块大小,SecureFiles避免对不必要的大型LOB数据块进行版本化。SecureFiles还提供了新的客户机/服务器网络层,从而允许在支持更高读写性能的服务器和客户机之间进行高速数据传输。SecureFiles自动确定生成重做和还原的最有效方法,因而不需要用户定义参数。SecureFiles自动确定是仅为更改生成重做和还原,还是通过生成完整的重做记录创建新版本。由于SecureFiles需要维护各种内存中统计信息以帮助有效地分配内存和空间,所以将其设计为可自适应的智能工具。这样,由于减少了很难使用不可预测的负荷进行优化的可优化参数数量,可管理性有所提高。OracleDatabase11g:面向管理员的新增功能15-6启用SecureFiles存储使用DB_SECUREFILE初始化参数,数据库管理员(DBA)可确定SecureFiles的使用情况,其中有效值为:•ALWAYS:尝试将所有LOB创建为SecureFileLOB,但是仅可将自动段空间管理(ASSM)表空间外的任何LOB创建为BasicFileLOB•FORCE:强制将所有LOB创建为SecureFileLOB•PERMITTED:允许创建SecureFiles(默认值)•NEVER:禁止创建SecureFiles•IGNORE:禁止创建SecureFiles,并忽略使用SecureFiles选项强制创建BasicFiles而导致的任何错误如果指定了NEVER,则任何指定为SecureFiles的LOB均被创建为BasicFiles。如果对BasicFiles使用任何SecureFiles特定的存储选项和功能(如压缩、加密和取消重复),则会导致异常错误。将对任何未指定的存储选项使用BasicFiles默认值。如果指定了ALWAYS,则系统中创建的所有LOB均会被创建为SecureFiles。必须在ASSM表空间中创建LOB,否则会发生错误。将忽略所有指定的BasicFiles存储选项。可以使用ALTERSYSTEM命令更改所有存储的SecureFiles默认值,如幻灯片中所示。也可以通过单击“Server(服务器)”选项卡中的“InitializationParameters(初始化参数)”链接来使用EnterpriseManager设置参数。OracleDatabase11g:面向管理员的新增功能15-6OracleDatabase11g:面向管理员的新增功能15-7SecureFiles:高级功能OracleSecureFiles实施也提供了下一代高级功能,如智能压缩和透明加密。压缩功能支持显式压缩SecureFiles。SecureFiles仅为随机读取或写入访问透明解压缩所需的数据块集,从而自动维护未压缩和已压缩的偏移量之间的映射。如果将压缩级别从MEDIUM更改为HIGH,则映射会自动进行更新以反映新的压缩算法。取消重复可自动检测重复的SecureFileLOB数据,并通过仅存储一个副本来节省空间-减少磁盘存储空间、I/O和重做事件记录。可在表级别或分区级别指定取消重复,但不能跨越分区的LOB。取消重复需要使用高级压缩选项。现在可以在适当位置存储加密的LOB数据,并对其进行随机读取和写入,因而提高了数据的安全性。只能按列加密SecureFileLOB(与透明数据加密相同)。将使用相同的加密算法对LOB列中的所有分区进行加密。无法对BasicFiles数据进行加密。SecureFiles支持行业标准加密算法:3DES168、AES128、AES192(默认)和AES256。加密是高级安全选项的一部分。注:必须将COMPATIBLE初始化参数设置为11.0.0.0.0或更高,才能使用SecureFiles。在11.1.0.0.0兼容性下BasicFiles(以前的LOB)格式仍然受支持。设置11.0.0.0.0后不会出现功能降低。OracleDatabase11g:面向管理员的新增功能15-8SecureFiles:存储选项MAXSIZE是新的存储子句,用于控制SecureFiles的物理存储属性。MAXSIZE指定与存储子句级别相关的最大段大小。RETENTION指定SecureFiles的以下项:•MAX在达到段MAXSIZE后重新使用旧版本。•MIN在指定的最短时间内保留旧版本。•AUTO是默认设置,主要对空间和时间进行折中使之达到平衡。这是自动确定的。•NONE尽可能重用旧版本。使用ALTERTABLE语句更改RETENTION仅影响该语句执行后创建的空间。对于SecureFiles,不再需要指定CHUNK、PCTVERSION、FREEPOOLS、FREELISTS和FREELISTGROUPS。为了与现有脚本相兼容,将对这些子句进行分析但不解释它们。OracleDatabase11g:面向管理员的新增功能15-9创建SecureFiles可使用CREATETABLE语句中的存储关键字SECUREFILE创建带有LOB列的SecureFiles。早期数据库版本中的LOB实施现在被称为BasicFiles。将LOB列添加到表时,可以指定是将其创建为SecureFiles还是BasicFiles。如果没有指定存储类型,LOB将创建为BasicFiles以确保向后兼容性。在幻灯片的第一个示例中,创建了一个名为FUNC_SPEC的表,用于将文档存储为SecureFiles。在该示例中您指定不希望存储LOB的重复内容、读取时将高速缓存LOB,并且对LOB执行更新时不生成还原。此外,您还指定将使用AES128加密算法对存储在doc列中的文档进行加密。与DEDUPLICATE相反,KEEP_DUPLICATES可用在ALTER语句中。第二个示例中,您要创建一个名为TEST_SPEC的表,用于将文档存储为SecureFiles。对于此表,您指定可以存储重复内容、LOB将以压缩格式存储,并且将高速缓存LOB而不进行记录。HIGH压缩设置需要进行更多的工作,但可提供更有效的数据压缩。默认压缩是MEDIUM。压缩算法在服务器端实施,允许对LOB数据进行随机读取和写入,可以通过ALTER语句对其进行更改。上面的第三和第四个示例会产生相同结果:使用默认的AES192加密创建具有SecureFilesLOB列的表。OracleDatabase11g:面向管理员的新增功能15-9OracleDatabase11g:面向管理员的新增功能15-10使用EnterpriseManager创建SecureFiles可以使用EnterpriseManager通过“Schema(方案)”选项卡中的“Tables(表)”链接创建SecureFiles。单击“Create(创建)”按钮后,可以针对要存储为SecureFile的列单击“AdvancedAttributes(高级属性)”按钮输入任一SecureFiles选项。考虑到向后兼容性,仍然支持早期版本中的LOB实施,现在将其称为BasicFiles。如果将LOB列添加到表中,则可以指定是将其创建为SecureFile还是BasicFile。如果没有指定存储类型,LOB将创建为BasicFiles以确保向后兼容性。可以为高速缓存选项选择下列值:•CACHE:为了提高访问速度,Oracle将LOB页置于缓冲区高速缓存中。•NOCACHE:作为STOREAS子句中的参数,NOCACHE指定不将LOB值置于缓冲区高速缓存中。•CACHEREADS:仅在读取操作期间(而非写入操作期间),才将LOB值置于缓冲区高速缓存中。NOCACHE是SecureFile和BasicFileLOB的默认值。OracleDatabase11g:面向管理员的新增功能15-11共享I/O池为了支持共享内存(与程序全局区(PGA)相对)的大型I/O,OracleDatabase11g中新增了共享I/O池内存组件,用于进行直接路径访问。这种情况仅适用于将SecureFiles创建为NOCACHE时(默认)。共享I/O池默认大小为零,仅当存在SecureFilesNOCACHE工作量时,系统才会将其大小增加到高速缓存的4%。由于这是共享资源,因此可由大型并发SecureFiles工作量使用。与其它池(如大型池或共享池)不同,用户进程不会生成ORA-04031错误,但在释放更多共享I/O池缓冲区之前会临时退回到PGA。LOB高速缓存是SecureFiles体系结构中的新组件,通过收集和批处理数据以及重叠网络和磁盘I/O改进了LOB访问性能。LOB高速缓存从缓冲区高速缓存(常规缓冲区或共享I/O池的内存)借用内存。由于从缓冲区高速缓存借用的内存实质上适合于执行数据库I/O,并且适合在I/O完成后回退到该缓冲区高速缓存,因此可以避免不必要的内存复制。在多实例OracleRealApplicationClusters中,LOB高速缓存为每个已访问的LOB保留一个锁定。OracleDatabase11g:面向管理员的新增功能15-12更改SecureFiles使用DEDUPLICATE选项,可以指定在LOB列的两行或多行中相同的LOB数据共享同一数据块。KEEP_DUPLICATES与此相反。Oracle使用安全的散列索引检测重复,并且将具有相同内容的LOB合并到一个副本中,从而降低存储空间并简化存储管理。LOB关键字是可选的,它可以使语法变得更清楚。COMPRESS或NOCOMPRESS关键字分别启用或禁用LOB压缩。新的压缩设置会更改LOB段中的所有LOB。ENCRYPT或DECRYPT关键字可使用透明数据加密(TDE)打开或关闭LOB加密。新设置会更改LOB段中的
本文标题:Oracle 11g 面向DBA的新功能学习指南less15_securefiles
链接地址:https://www.777doc.com/doc-5856780 .html