Oracle中文培训教程-其它新增功能.ppt_第1页
Oracle中文培训教程-其它新增功能.ppt_第2页
Oracle中文培训教程-其它新增功能.ppt_第3页
Oracle中文培训教程-其它新增功能.ppt_第4页
Oracle中文培训教程-其它新增功能.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

其它新增功能,课程目标,学完本课后,应能完成以下工作:描述锁定机制的增强功能使用SQL查询结果高速缓存使用增强的PL/SQL重新编译机制创建和使用不可见的索引描述自适应游标共享管理SPFILE,前台统计信息,仅报告前台统计信息的新列:V$SYSTEM_EVENT:TOTAL_WAITS_FGTOTAL_TIMEOUTS_FGTIME_WAITED_FGAVERAGE_WAIT_FGTIME_WAITED_MICRO_FGV$SYSTEM_WAIT_CLASS:TOTAL_WAITS_FGTIME_WAITED_FG,联机重新定义增强功能,联机表重新定义支持以下对象:包含实体化视图和视图日志的表具有排序依赖性的触发器联机重新定义不会系统地使从属对象失效。,将相关重新编译减至最少,向表添加列不会使其从属对象失效。向程序包添加PL/SQL单元不会使从属对象失效。自动跟踪细粒度依赖性。不需要进行配置。,锁定增强功能,DDL命令现在可以等待DML锁定被释放:DDL_LOCK_TIMEOUT初始化参数LOCKTABLE命令新增了WAIT子句下列命令不再需要排它锁(X),而需要共享排它锁(SX):CREATEINDEXONLINECREATEMATERIALIZEDVIEWLOGALTERTABLEENABLECONSTRAINTNOVALIDATE,不可见的索引:概览,不可见的索引:示例,将索引改为对优化程序不可见:优化程序不考虑此索引:优化程序始终考虑索引:创建最初不可见的索引:,SQL查询结果高速缓存:概览,高速缓存查询或查询块的结果以供将来重用。可跨语句和会话使用高速缓存,除非该高速缓存已过时。优点:可扩展性降低内存使用量适用的语句:访问多行返回少数行,设置SQL查询结果高速缓存,使用RESULT_CACHE_MODE初始化参数在数据库级别设置。值:AUTO:优化程序根据重复的执行操作确定需要存储在高速缓存中的结果。MANUAL:使用result_cache提示指定要存储在高速缓存中的结果。FORCE:所有结果都存储在高速缓存中。,管理SQL查询结果高速缓存,使用以下初始化参数:RESULT_CACHE_MAX_SIZE此参数设置分配给结果高速缓存的内存。如果将其值设为0,则会禁用结果高速缓存。默认值取决于其它内存设置(memory_target的0.25%或sga_target的0.5%或shared_pool_size的1%)不能大于共享池的75%RESULT_CACHE_MAX_RESULT设置单个结果的最大高速缓存默认值为5%RESULT_CACHE_REMOTE_EXPIRATION根据远程数据库对象设置高速缓存结果的过期时间默认值为0,使用RESULT_CACHE提示,内嵌视图:示例,SELECTprod_subcategory,revenueFROM(SELECT/*+RESULT_CACHE*/d_category,d_subcategory,sum(s.amount_sold)revenueFROMproductsp,salessWHEREd_id=d_idands.time_idBETWEENto_date(01-JAN-2006,dd-MON-yyyy)andto_date(31-DEC-2006,dd-MON-yyyy)GROUPBYROLLUP(d_category,d_subcategory)WHEREprod_category=Women;,使用DBMS_RESULT_CACHE程序包,DBMS_RESULT_CACHE程序包用于:管理查询结果高速缓存的内存分配查看高速缓存的状态:检索有关高速缓存内存使用量的统计信息:删除所有现有结果并清空高速缓存:使依赖于指定对象的高速缓存结果失效:,查看SQL结果高速缓存字典信息,下列视图提供了有关查询结果高速缓存的信息:,SQL查询结果高速缓存:注意事项,对包含以下内容的查询禁用结果高速缓存:临时表或字典表不确定的PL/SQL函数CURRVAL和NEXTVAL序列current_date、sysdate和sys_guid等SQL函数远程数据库上的DML/DDL不会使高速缓存结果过期。可高速缓存闪回查询。,SQL查询结果高速缓存:注意事项,结果高速缓存不会自动释放内存。它将不断增长,直到达到最大大小。DBMS_RESULT_CACHE.FLUSH会清除内存。绑定变量将使用变量值对高速缓存结果进行参数化。只能找到相同变量值的高速缓存结果。对于以下情况,不会生成高速缓存结果:查询是基于数据的非当前版本构建的(强制实施读取一致性)当前会话在查询的表中存在未完成的事务处理,OCI客户机查询高速缓存,将服务器端查询高速缓存扩展到客户端内存通过消除客户机与服务器之间的往返可以提高性能利用客户端内存通过节省服务器CPU资源提高服务器的可扩展性服务器上的结果集发生更改时会自动刷新结果高速缓存尤其适用于查找表,使用客户端查询高速缓存,可通过以下方式使用客户端查询高速缓存:设置初始化参数CLIENT_RESULT_CACHE_SIZECLIENT_RESULT_CACHE_LAG使用客户机配置文件OCI_RESULT_CACHE_MAX_SIZEOCI_RESULT_CACHE_MAX_RSET_SIZEOCI_RESULT_CACHE_MAX_RSET_ROWS根据以下项使用客户机结果高速缓存:表结果高速缓存模式SQL语句中的RESULTCACHE提示,PL/SQL函数高速缓存,在高速缓存中存储函数结果以供其它会话使用使用查询结果高速缓存,使用PL/SQL函数高速缓存,在程序包的函数声明部分或函数定义中包括RESULT_CACHE选项。可以选择包括RELIES_ON子句,以指定函数结果依赖的任何表或视图。,CREATEORREPLACEFUNCTIONproductName(prod_idNUMBER,lang_idVARCHAR2)RETURNNVARCHAR2RESULT_CACHERELIES_ON(product_descriptions)ISresultVARCHAR2(50);BEGINSELECTtranslated_nameINTOresultFROMproduct_descriptionsWHEREproduct_id=prod_idANDlanguage_id=lang_id;RETURNresult;END;,PL/SQL函数高速缓存:注意事项,PL/SQL函数高速缓存不适用于以下情况:函数是在具有调用者权限的模块中或匿名块中定义的。函数是用管道传输的表函数。该函数包含OUT或INOUT参数。该函数包含下列类型的IN参数:BLOB、CLOB、NCLOB、REFCURSOR、集合、对象或记录。该函数的返回类型为:BLOB、CLOB、NCLOB、REFCURSOR、对象、记录或包含上述不受支持的某个返回类型的集合。,PL/SQL和Java本机编译增强功能,对于纯PL/SQL或Java代码,速度可提高100%以上对于SQL的典型事务处理,速度可提高10-30%PL/SQL只有一个参数:NATIVE/INTERPRETED不需要C编译器没有文件系统DLLJava只有一个参数:TRUE/FALSEJIT“即时”编译对用户透明(异步,在后台中执行)存储代码以避免重新编译,设置和测试PL/SQL本机编译,将PLSQL_CODE_TYPE设置为NATIVE:ALTERSYSTEM|ALTERSESSION|ALTERCOMPILE编译PL/SQL单元(示例):确保成功:,为PL/SQL本机编译重新编译整个数据库,关闭数据库。将PLSQL_CODE_TYPE设置为NATIVE。在UPGRADE模式下启动数据库。执行dbmsupgnv.sql脚本。在受限模式下关闭/启动数据库。执行utlrp.sql脚本。禁用受限模式。,自适应游标共享:概览,通过自适应游标共享,可以仅针对使用绑定变量的语句智能地共享游标。自适应游标共享用于协调游标共享和优化之间的矛盾。自适应游标共享具有如下优点:自动检测不同执行受益于不同执行计划的时间将生成的子游标数限制到最小是自动机制,无法关闭,一个计划并不总是适用于所有绑定值,自适应游标共享:体系结构,自适应游标共享视图,下列视图提供有关自适应游标共享使用率的信息:,与自适应游标共享交互,CURSOR_SHARING:如果CURSOR_SHARINGEXACT,则可能会使用绑定变量重写包含文字的语句。如果语句被重写,则可能会对其应用自适应游标共享。SQL计划管理(SPM):如果将OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES设置为TRUE,则仅使用生成的第一个计划。一种解决方法是:将此参数设置为FALSE,然后运行您的应用程序,直到将所有计划都加载到游标高速缓存中。手动将游标高速缓存加载到相应的计划基线中。,临时表空间收缩,对排序区进行了物理分配后,会在内存中管理它们。进行大量排序后,使用此方法可能会有问题。要从磁盘中释放物理空间,可以收缩临时表空间:本地管理的临时表空间联机操作,DBA_TEMP_FREE_SPACE,列出临时空间使用率信息临时表空间使用率中心点,用于创建临时表的表空间选项,指定全局临时表使用的临时表空间。确定适当的临时区大小。,CREATETEMPORARYTABLESPACEtempTEMPFILEtbs_temp.dbfSIZE600mREUSEAUTOEXTENDONMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCALUNIFORMSIZE1m;,CREATEGLOBALTEMPORARYTABLEtemp_table(cvarchar2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论