ImageVerifierCode 换一换
格式:PPT , 页数:89 ,大小:1.11MB ,
资源ID:5439035      下载积分:16 金币
验证码下载
登录下载
邮箱/手机:
图形码:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/5439035.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请。


权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4009-655-100;投诉/维权电话:18658249818。

注意事项

本文(Exadata一体机最佳实践PPT.ppt)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Exadata一体机最佳实践PPT.ppt

1、娄恒娄恒:APAC Exadata specialistBOC ACRM数据库物理模型数据库物理模型和开发最佳实践和开发最佳实践提纲提纲提纲提纲数据库空间管理数据库空间管理数据仓库物理表设计(表压缩、表分区)数据仓库物理表设计(表压缩、表分区)数据加载数据加载并行执行并行执行开发注意事项(集合、关联操作)开发注意事项(集合、关联操作)索引管理索引管理统计信息收集统计信息收集22010OracleCorporationProprietaryandConfidentialTips 1:Tips 1:设置合适的设置合适的设置合适的设置合适的DB_Block_SizeDB_Block_Size对Exa

2、data而言,MAX_IO_SIZE缺省为1MB所以推荐DB_BLOCK_SIZE设置为8192同时推荐DB_FILE_MULTI_BLOCK_READ_COUNT设置为128因为_MAX_IO_SIZE=DB_FILE_MULTI_BLOCK_READ_COUNT*DB_block_size。32010OracleCorporationProprietaryandConfidentialTipsTips:采用采用采用采用locally managed,Bigfilelocally managed,Bigfile创建表空间创建表空间创建表空间创建表空间4TipsTips:选择表空间选择表空间选

3、择表空间选择表空间合适的合适的合适的合适的ExtentExtent管理方法管理方法管理方法管理方法采用Auto-Allocate方式,Oracle自动管理表的Extent的大小,开始时初始的Extent大小为64KB(除Partition表外),当表或索引的段(Segment)大小超过1MB,Extent以1MB为单位增长段空间,一旦段大小超过64MB,Extent以8MB为单位增长段空间。采用Uniform方式,所有段的Extent大小都是统一大小。对于Auto-Allocate方式和Uniform方式的选择,Oracle推荐采用推荐采用Auto-Allocate作为作为Extent的管理方

4、式。的管理方式。52010OracleCorporationProprietaryandConfidentialSalesTableSalesTableUniform ExtentUniform Extent:数据并行加载特点:数据并行加载特点:数据并行加载特点:数据并行加载特点假设有4个并行进程进行数据加载,Uniformextend大小为8MB当多块加载后,将会有很多未被填满的Extent存在,也就是说Extent中可能会有很多空间空洞在表扫描时,每个空间空洞会被扫描到,造成IO的浪费62010OracleCorporationProprietaryandConfidentialAuto-

5、Allocate ExtentAuto-Allocate Extent:数据并行加载特点:数据并行加载特点:数据并行加载特点:数据并行加载特点假设有4个并行进程进行数据加载,initial&nextextend大小为8MBSalesTableSalesTable当加载完成后,最后一些Extent大小会比其他Extent小,但是所有Extent都会被填满每个表或分区扫描将至扫描数据,而没有空闲空间被扫描采用Auto-allocate的优点在于大数据加载时,有最少的空间浪费,因为最后加载的Extent会被Trim到64KB的整数倍的大小,所以几乎没有太大的空间浪费,同时表扫描时也可以提高IO效率采

6、用Auto-Allocate方式时,在创建分区表时,可以自动支持Large Extent(8MB Extent),而对于uniform方式,则无法支持72010OracleCorporationProprietaryandConfidentialTipsTips:创建多个创建多个创建多个创建多个BigfileBigfile表空间存储不同的分区表空间存储不同的分区表空间存储不同的分区表空间存储不同的分区在对大的在对大的Partition表进行并行数据加载时,应该尽可能避免文件头块争用(表进行并行数据加载时,应该尽可能避免文件头块争用(File Header Blocker contention)

7、情况出现。文件头块争用()情况出现。文件头块争用(File Header Blocker contention)可以在)可以在AWR报告中检查报告中检查“gc buffer busy enqueue wait event”。或者检查。或者检查“buffer busy waits”的统的统计信息,以判断是否存在计信息,以判断是否存在File Header Blocker contention,可以使用如下,可以使用如下SQL:CREATETABLEsales_composite(salesman_idNUMBER(5),salesman_nameVARCHAR2(30),sales_amount

8、NUMBER(10),sales_dateDATE)PARTITIONBYRANGE(sales_date)SUBPARTITIONBYHASH(salesman_id)subpartitions128storein(ts1,ts2,ts3,ts4)(PARTITIONsales_jan2000VALUESLESSTHAN(TO_DATE(02/01/2000,MM/DD/YYYY),PARTITIONsales_feb2000VALUESLESSTHAN(TO_DATE(03/01/2000,MM/DD/YYYY),PARTITIONsales_mar2000VALUESLESSTHAN(T

9、O_DATE(04/01/2000,MM/DD/YYYY),PARTITIONsales_apr2000VALUESLESSTHAN(TO_DATE(05/01/2000,MM/DD/YYYY),PARTITIONsales_may2000VALUESLESSTHAN(TO_DATE(06/01/2000,MM/DD/YYYY);selectp1File#,p2Block#,p3ReasonCodefromv$session_waitwhereevent=bufferbusywaits;为了避免文件头争用情况,可以采用多个为了避免文件头争用情况,可以采用多个Big file tablespac

10、e来均匀存放来均匀存放Partition table。例如:下面语句使用例如:下面语句使用4个表空间来均匀存放个表空间来均匀存放128个个Subpartition表:表:82010OracleCorporationProprietaryandConfidentialTipsTips:对于分区表(对于分区表(对于分区表(对于分区表(PartitionPartition)加载,启用)加载,启用)加载,启用)加载,启用Large ExtentLarge Extent推荐大的对象使用推荐大的对象使用Large Extent方式,以便减少方式,以便减少Extent的数量。当设置的数量。当设置CELL_P

11、ARTITION_LARGE_EXTENTS=TRUE时,所有分区表在创建时,将自动启时,所有分区表在创建时,将自动启动动Large Extent模式(模式(8MB),即创建时即创建时Initial Extent大小为大小为8MB。限制条件:限制条件:-CELL_PARTITION_LARGE_EXTENTS仅适用于:分区表、locallymanaged和AUTO-ALLOCATE的表空间。-不适合于:非分区表、Uniform的表空间的对象。92010OracleCorporationProprietaryandConfidentialTipsTips:针对非分区表(针对非分区表(针对非分区表

12、针对非分区表(Non-PartitionNon-Partition)加载,使用)加载,使用)加载,使用)加载,使用Large ExtentLarge Extent如果对于非分区表,想使用LargeExtent(8MB)。需要在Createtable的DDL中设置INITIAL和NEXT子句。当对非分区表进行并行数据加载时,数据在Temp段中被生成,然后再合并到要加载的数据表的Extent中,缺省按照64KBExtent大小进行数据增长。但从11.1.0.7开始,在加载数据时(Load),NEXT用来控制新的Extent的大小。所以对于大的非分区表加载,可以直接将INITIAL和NEXT都设置

13、为8MB。SQL如下:CreateTablesales(.)parallelstorage(INITIAL8MNEXT8M)(.)102010OracleCorporationProprietaryandConfidentialTipsTips:关闭关闭关闭关闭deferred_segment_creationdeferred_segment_creation(段延迟创建)功能(段延迟创建)功能(段延迟创建)功能(段延迟创建)功能从从11g R2开始,当在开始,当在Locally Managed Tablespace上,创建一个非分区表上,创建一个非分区表时,缺省情况表的空间分配会启用延迟分配

14、方式,即当首行被时,缺省情况表的空间分配会启用延迟分配方式,即当首行被Insert到到表中时,表的表中时,表的Extent才会被逐渐分配。建议关闭延迟空间空间分配,才会被逐渐分配。建议关闭延迟空间空间分配,可以通过如下可以通过如下SQL关闭:关闭:Altersystemsetdeferred_segment_creation=FALSEscope=both112010OracleCorporationProprietaryandConfidentialTips:Tips:空间回收空间回收空间回收空间回收Shrinking SegmentsShrinking SegmentsHWMHWMHWMA

15、LTER TABLE employees SHRINK SPACE COMPACT;1ALTER TABLE employees SHRINK SPACE;2DMLoperationsandqueriescanbeissuedduringcompaction.DMLoperationsareblockedwhentheHWMisadjusted.122010OracleCorporationProprietaryandConfidential提纲提纲提纲提纲数据库空间管理数据库空间管理数据仓库物理表设计(表压缩、表分区)数据仓库物理表设计(表压缩、表分区)数据加载数据加载并行执行并行执行开发注

16、意事项(集合、关联操作)开发注意事项(集合、关联操作)索引管理索引管理统计信息收集统计信息收集142010OracleCorporationProprietaryandConfidentialTipsTips:数据仓库设计:数据仓库设计:数据仓库设计:数据仓库设计一个典型的数据仓库是一个一个典型的数据仓库是一个Many Rows System,但经常会但经常会被用被用Few Rows System的方式来开发的方式来开发(Row By Row)在大多数情况下,在大多数情况下,Many Rows System还是还是Few Rows System可以通过可以通过SQL语句的执行频度决定:语句的执

17、行频度决定:-1/Sec代表manyrows-1000/Sec代表fewrows-备注:在ManyRowsSystem中,可能存在一种误导:批量集合操作(SetBasedOperation)通过RowByRow的操作方式开发效率更高152010OracleCorporationProprietaryandConfidentialTipsTips:数据仓库物理模型设计原则:数据仓库物理模型设计原则:数据仓库物理模型设计原则:数据仓库物理模型设计原则Many Rows-并行(Parallelism)-分区(Partitioning)-压缩(Compression)-集合批量操作(Set-based

18、techniques)-通过数据转换代替实现数据更新(Datamodifiedbytransformation)Few Rows-索引(Indexdesign)-物化视图(Materializedviewsandaggregates)162010OracleCorporationProprietaryandConfidentialTipsTips:数据压缩考虑:数据压缩考虑:数据压缩考虑:数据压缩考虑压缩技术是数据仓库物理设计最重要的因素之一压缩技术是数据仓库物理设计最重要的因素之一压缩的影响压缩的影响:-极大加速表扫描速度、减少磁盘空间占用、加速数据备份-但是,压缩对大大降低UPDATE和D

19、ELETE的效率一个好的数据仓库模型,对于压缩表而言,将只采用一个好的数据仓库模型,对于压缩表而言,将只采用Append方式操作,方式操作,避免采用修改(避免采用修改(Update、Delete、Merge)方式对数据的操作,以保证)方式对数据的操作,以保证对压缩表操作的效率对压缩表操作的效率但是如果一些经常更新的大表确实有压缩的需求,可以考虑使用但是如果一些经常更新的大表确实有压缩的需求,可以考虑使用OLTPOLTP压缩技术。压缩技术。无论无论HCCHCC压缩还是压缩还是OLTPOLTP压缩,其本质都是去重,只是其算法上有些差压缩,其本质都是去重,只是其算法上有些差异。因而异。因而如果在数据

20、加载时,对数据预先排序,那么可带来明显的压如果在数据加载时,对数据预先排序,那么可带来明显的压缩比率的提升。缩比率的提升。一般来说,一般来说,压缩级别压缩级别QUERY HIGHQUERY HIGH既可以得到一个理想的压缩比率,也既可以得到一个理想的压缩比率,也能提供很好的查询性能,可以考虑作为初始测试的压缩级别能提供很好的查询性能,可以考虑作为初始测试的压缩级别.172010OracleCorporationProprietaryandConfidentialTipsTips:EHCC EHCC 混合列压缩混合列压缩混合列压缩混合列压缩EHCC(Exadata Hybrid Columnar

21、 Compression)不是完全的列压缩,而是混不是完全的列压缩,而是混合列存储合列存储EHCC具备多种压缩类型具备多种压缩类型-Querylow-Queryhigh-Archivelow-Archivehigh设计用于不频繁修改的数据设计用于不频繁修改的数据设计用于低并发的场景设计用于低并发的场景支持数据库各种功能支持数据库各种功能-DMLs/DDLs,Partitioning,PQ,PDML,Onlineredefinition,CTAS,IAS,SQLLoader,Externaltables,Context,MVsetc.支持索引支持索引只有在数据批量加载时被压缩只有在数据批量加载时

22、被压缩182010OracleCorporationProprietaryandConfidentialTipsTips:如何创建:如何创建:如何创建:如何创建EHCCEHCC表表表表lCTAS(create table as select)-createtablefoocompressforqueryasselect*frombar1;lIDL(insert direct load)-createtablefoocompressforarchivelow;-insert/*+APPEND*/intofooselect*frombar2;l压缩可以在压缩可以在Segment一级指定:一级指定:

23、每个分区可以有不同的压缩类型-例如:createtableorders(cid,pid,sid,price,discount,odate)partitionbyrange(cid)(partitionp1valueslessthan(100000)nocompress,partitionp2valueslessthan(200000)compressforarchivelow,partitionp3valueslessthan(300000)compressforqueryhigh,partitionp4valueslessthan(maxvalue)compressforquerylow)

24、enablerowmovementasselect*fromprev_orders;192010OracleCorporationProprietaryandConfidentialTipsTips:动态启用或停用表的:动态启用或停用表的:动态启用或停用表的:动态启用或停用表的EHCCEHCC-Existingtables/partitionscanbeconvertedtouseEHCC-altertablebarmove compress for query high-altertableordersmodifypartitionp1move compress for archive lo

25、w-Newdataloadedinexistingtables/partitionscangotoEHCCblocks,keepingtheexistingdataasis-altertablebarcompressforqueryhigh-altertableordersmodifypartitionp3compressforquerylow-EHCCcanbedisabled-altertablebarnocompress-altertablebarmovenocompress-Onlineredefinitionpackagecanbeusedforenabling/disablingE

26、HCC202010OracleCorporationProprietaryandConfidentialTipsTips:分区:分区:分区:分区(Partition)(Partition)设计目的设计目的设计目的设计目的数据管理数据管理-Exchangedatain/out-Breakdownoperationsintosmallerpieces查询优化查询优化-Partitionpruning-Hashbasedjoinsandsorts212010OracleCorporationProprietaryandConfidentialTips Tips:数据仓库分区(:数据仓库分区(:数据仓

27、库分区(:数据仓库分区(PartitionPartition)策略)策略)策略)策略一级分区:首先按日期对大表进行分区一级分区:首先按日期对大表进行分区-主要目标是启动分区修剪(PartitionPruning),简化数据管理-主要对于日期字段进行Range或interval分区-选择大部分查询查询用到的日期字段作为分区列-这个日期字段(用于分区列)应该是不易变(不被更新)二级子分区(二级子分区(Subpartition)可以按照:)可以按照:-Hash分区,更好地支持join和Sort-RANGE或LIST分区,更好的支持分区修剪(PartitionPruning)222010OracleC

28、orporationProprietaryandConfidentialTips:Tips:Tips:Tips:定义合理的定义合理的定义合理的定义合理的HashHashHashHash分区数量分区数量分区数量分区数量Oracle推荐大的分区表使用推荐大的分区表使用Hash分区作为分区方法,为了保证数据在分区作为分区方法,为了保证数据在Hash Partition间均匀分布,间均匀分布,Hash分区的数量建议是分区的数量建议是2的指数幂,或者设置的指数幂,或者设置Partition数量为数量为CPU数量的数量的2倍。倍。然而每个然而每个hash Partition应该至少不小于应该至少不小于16

29、MB。小于。小于16MB将在并行执行下不会有较好的扫描效率将在并行执行下不会有较好的扫描效率。首先考虑分区数是首先考虑分区数是2的整数幂的情况:当的整数幂的情况:当Oracle的分区数从的分区数从2个变为个变为4个,个,Oracle并不需要将所有数据重新打乱,而是将原有的并不需要将所有数据重新打乱,而是将原有的2个分区每个都一分个分区每个都一分为二。同样的道理,如果将分区数设置为为二。同样的道理,如果将分区数设置为8,Oracle会将原有的会将原有的4个分区个分区一分为二。一分为二。Oracle的的HASH分区就像是一棵大的二叉树。每个分区就相当于二叉树的分区就像是一棵大的二叉树。每个分区就相

30、当于二叉树的一个叶节点。二叉树的第一层,只有一个根节点,对应只有一个叶节点。二叉树的第一层,只有一个根节点,对应只有1个分区的个分区的情况。二叉树的第二层,两个叶节点,对应情况。二叉树的第二层,两个叶节点,对应2个分区的情况。二叉树的个分区的情况。二叉树的第三层,第三层,4个叶节点,对应个叶节点,对应4个分区的情况。二叉树的第个分区的情况。二叉树的第n层,层,2(n-1)个叶个叶节点,对应节点,对应2(n-1)个分区情况。个分区情况。232010OracleCorporationProprietaryandConfidentialTipsTips:使用使用使用使用Partition-wise

31、joinsPartition-wise joins对于两个大表关联操作,推荐使用partiton-wisejoins来减少并行进程间数据交换,减少查询的执行时间。对于使用对于使用full partition-wise join,两个关联的表必须是相,两个关联的表必须是相同的同的Partition键值(即两个表必须有相同的键值(即两个表必须有相同的Partition列、相同的列、相同的Partition方法、方法、相同的相同的Partition数量)数量)。如下是采用partiton-wisejoins的两个表关联的执行计划,Sales表和Customers表具有相同的并行度、HashParti

32、tion方法(Cust_id列作为HashPartitionKey)、Join列是PartitionKey。PartitionHashAllPartitionHashAllaboveabove在在JoinJoin方法之上,方法之上,说说明明这这是一个是一个partition-wisejoinpartition-wisejoin242010OracleCorporationProprietaryandConfidentialSELECT sum(amount_sold)FROM sales s,customer cWHERE s.cust_id=c.cust_id;Bothtableshavet

33、hesamedegreeofparallelismandarepartitionedthesamewayonthejoincolumn(cust_id)SalesSalesRangepartitionMay18th2008CustomerCustomerHashPartitionedSubpart1Alargejoinisdividedintomultiplesmallerjoins,eachjoinsapairofpartitionsinparallelPart1Subpart2Subpart3Subpart4Part2Part3Part4Subpart2Subpart3Subpart4Su

34、bpart1Part1Part2Part3Part4Partition Wise joinPartition Wise join对于partition-wisejoin而言,查询的并行度必须是等于或成倍于表分区的数量25SalesTableSalesTableSALES_Q3_1998SALES_Q3_1998SELECT sum(s.amount_sold)FROM sales sWHERE s.time_id BETWEENto_date(01-JAN-1999,DD-MON-YYYY)ANDto_date(31-DEC-1999,DD-MON-YYYY);Q:Whatwasthetota

35、lsalesfortheyear1999?TipsTips:分区裁剪(:分区裁剪(:分区裁剪(:分区裁剪(Partition PruningPartition Pruning)SALES_Q4_1998SALES_Q4_1998SALES_Q1_1999SALES_Q1_1999SALES_Q2_1999SALES_Q2_1999SALES_Q3_1999SALES_Q3_1999SALES_Q4_1999SALES_Q4_1999SALES_Q1_2000SALES_Q1_2000Onlythe4relevantpartitionsareaccessedOnlythe4relevantpar

36、titionsareaccessed26TipsTips:如何检查分区修剪是否生效:如何检查分区修剪是否生效:如何检查分区修剪是否生效:如何检查分区修剪是否生效SampleplanOnly4partitionsaretouched9,10,11,&12SALES_Q1_1999,SALES_Q2_1999SALES_Q1_1999,SALES_Q2_1999,SALES_Q3_1999SALES_Q3_1999,SALES_Q4_1999SALES_Q4_1999272010OracleCorporationProprietaryandConfidentialTableTablePartiti

37、on1Partition5Partition10Sub-part1Sub-part1Sub-part2Sub-part2Sub-part1Sub-part1Sub-part2Sub-part2Sub-part1Sub-part1Sub-part2Sub-part2:129101920TipsTips:如何检查分区修剪是否生效:如何检查分区修剪是否生效:如何检查分区修剪是否生效:如何检查分区修剪是否生效SimpleQuery:SELECTCOUNT(*)FROMRHP_TABWHERECUST_ID=9255ANDTIME_ID=2008-01-01;Overallpartition#range

38、partition#Sub-partition#282010OracleCorporationProprietaryandConfidential提纲提纲提纲提纲数据库空间管理数据库空间管理数据仓库物理表设计(表压缩、表分区)数据仓库物理表设计(表压缩、表分区)数据加载数据加载并行执行并行执行开发注意事项(集合、关联操作)开发注意事项(集合、关联操作)索引管理索引管理统计信息收集统计信息收集292010OracleCorporationProprietaryandConfidentialTipsTips:使用使用使用使用External TableExternal Table进行数据加载进行数

39、据加载进行数据加载进行数据加载Oracle推荐使用推荐使用External Table方式加载数据,而不第一推荐方式加载数据,而不第一推荐SQL*Loader,因为,因为SQL*Loader做并行数据加载时,数据首先被加载到做并行数据加载时,数据首先被加载到TEMP Extent中,只有在中,只有在transaction 被被Commit时,时,Temp Extent会被合并到实体表的会被合并到实体表的段(段(Segment)中,而在原来表中的部分满的)中,而在原来表中的部分满的Extent(partially full extents)会被跳过,所以到导致空间浪费和性能浪费。所以对于大量)会

40、被跳过,所以到导致空间浪费和性能浪费。所以对于大量加载的加载的Partition表,这样可能会导致较大的空间浪费情况。表,这样可能会导致较大的空间浪费情况。采用采用External Table方式加载时,会有如下好处:方式加载时,会有如下好处:-FullusageofSQLcapabilitiesdirectlyonthedata-Automaticuseofparallelcapabilities-Noneedtostagethedataagaininthedatabase-Betterallocationofspacewhenstoringdata-Highwatermarkbrokeri

41、ng-Autoallocate tablespace will trim extents after the load-Additionalcapabilitieslike-Theusageofdatapumpfiles-Theusageofpre-processing302010OracleCorporationProprietaryandConfidentialExternal Table External Table 312010OracleCorporationProprietaryandConfidentialTipsTips:External TableExternal Table

42、预处理预处理预处理预处理允许文件在加载过程中被自动化预处理允许文件在加载过程中被自动化预处理-例如:对压缩文件进行解压缩、排序等预处理不支持对文件的自动的小颗粒化预处理不支持对文件的自动的小颗粒化-需要提供多份文件,文件的数量决定了处理的并行度需要授权对目录的读和执行的权限(需要授权对目录的读和执行的权限(Grant read,execute privileges directories)CREATE TABLE sales_external()ORGANIZATION EXTERNAL(TYPE ORACLE_LOADER DEFAULT DIRECTORY data_dir1 ACCESS

43、 PARAMETERS (RECORDS DELIMITED BY NEWLINE PREPROCESSOR exec_dir:gunzip OPTIONS-c FIELDS TERMINATED BY|)LOCATION();322010OracleCorporationProprietaryandConfidentialTipsTips:直接路径加载(:直接路径加载(:直接路径加载(:直接路径加载(Direct Path LoadDirect Path Load)在每次在每次IO异步请求时,数据被直接写入数据库存储异步请求时,数据被直接写入数据库存储CTAS 语句总是使用语句总是使用 Di

44、rect Path 在在Insert As Select 语句中使用语句中使用 APPEND暗示方法也是暗示方法也是Direct PathInsert/*+APPEND*/intoSalespartition(p2)Select*Fromext_tab_for_sales_data;在一个对象上,只有一个在一个对象上,只有一个direct path 操作能够起作用操作能够起作用-通过指定一个表的分区表的名字方法,可以同时将多个DirectPach加载操作到一个表332010OracleCorporationProprietaryandConfidentialTipsTips:并行加载(:并行加

45、载(:并行加载(:并行加载(Parallel LoadParallel Load)为了确保为了确保Direct Path加载成为并行操作,需要通过如下加载成为并行操作,需要通过如下方式:方式:-在Hint中指定并行度、或者在表上指定并行度-通过AlterSession语句启动会话级并行当并行度被指定后,当并行度被指定后,CTAS 会自动并行化加载会自动并行化加载IAS 不会自动并行化,他需要不会自动并行化,他需要parallel DML的支持:的支持:ALTERSESSIONENABLEPARALLELDML;342010OracleCorporationProprietaryandConfi

46、dentialTipsTips:使用使用使用使用Parallel direct path Parallel direct path 数据加载数据加载数据加载数据加载使用使用“direct path load”可以带来很好的数据加载性能,因为数据会绕过可以带来很好的数据加载性能,因为数据会绕过Buffer Cache,直接写入数据库存储。,直接写入数据库存储。CTAS总会使用总会使用“direct path load”,但是,但是Insert As Select(IAS)并不是总会使用并不是总会使用“direct path load”,为了使,为了使IAS使用使用“direct path loa

47、d”,需要在,需要在IAS中加入中加入APPEND hint,SQL如下:如下:Insert/*+APPEND*/intoSalespartition(p2)Select*Fromext_tab_for_sales_data;ALTERSESSIONENABLEPARALLELDML;Insert/*+APPEND*/intoSalespartition(p2)Select*fromext_tab_for_sales_data;为了让为了让“direct path load”以并行方式运行,可以以下两种方式设置并行度:以并行方式运行,可以以下两种方式设置并行度:1)在)在CTAS和和IAS中加

48、入中加入PARALLEL hint;2)在)在External table和目标加载和目标加载Table上,上,设置设置PARALLEL子句。一旦设置了并行度,子句。一旦设置了并行度,CTAS将自动执行并行化的将自动执行并行化的“direct path load”,而,而IAS将不会。为了让将不会。为了让IAS能够并行化执行能够并行化执行“direct path load”,出了,出了设置并行度外,还必须通过设置并行度外,还必须通过alter the session to enable parallel DML。SQL如下:如下:352010OracleCorporationProprieta

49、ryandConfidentialTipsTips:在数据加载时,对于常访问的字段,可以进行排序,以在数据加载时,对于常访问的字段,可以进行排序,以在数据加载时,对于常访问的字段,可以进行排序,以在数据加载时,对于常访问的字段,可以进行排序,以便增加便增加便增加便增加Storage indexStorage index的效率的效率的效率的效率对在使用对在使用 INSERT/*+APPEND*/做数据加载时,可以对查询中做数据加载时,可以对查询中Where条条件中使用较多的列进行件中使用较多的列进行Order By排序,以便增加数据压缩率和排序,以便增加数据压缩率和Storage index查询

50、效率。查询效率。Selectname,value/1024/1024asstat_valuefromv$mystats,v$statnamenWhereS.Statistic#=n.statistic#andnamelike%cellphysical%Insertintotableaselect*fromext_tableaorderbycol1,col2可以通过查询可以通过查询v$mystat,v$statname视图,通过看视图,通过看cell physical I0 bytes saved by storage index统计值,来检查多少统计值,来检查多少I/O被减少。被减少。SQL如

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服