欢迎来到天天文库
浏览记录
ID:37863083
大小:1.05 MB
页数:13页
时间:2019-06-01
《ORACLE并行技术使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、ORACLE并行技术应用探讨前言ORACLE8i数据库及OPS选件是目前许多客户的首选,充分利用ORACLE8的新特性进行应用设计是客户的要求。本文简单介绍了ORACLE的并行技术,并对ORACLE并行服务器(OPS)技术、并行DML(PDML)技术以及分区(Partition)等技术在应用系统中的使用进行了简单的描述。(有关并行结构、OPS应用划分等请参见《宏智通讯》第一期)1.OPS1.1什么是OPSOPS(OracleParallelServer)――ORACLE并行服务器是为了满足人们对系统的高可靠性、高速性以及VLDB(大规模数据库)的
2、需求而开发设计的一项并行处理技术。对DLM的管理是影响OPS性能的重要指标,应用系统的设计是否合乎OPS的要求直接关系到应用系统的成败。OracleParallelServer支持cluster结构、NUMA结构和MPP结构。OPS的设计目标是:l提高系统性能l提高系统吞吐量l高可靠性l有效支持更多用户l均衡负载不是OPS的设计目的2.2OPS的结构整个系统中只有一套数据库,在这套数据库上可以运行多个实例(instance),所有节点的实例共享一套数据文件(datafiles)和控制文件(controlfiles),同时每个实例均有自己的重做日志
3、文件(redologfiles),且任何一个节点上的重做日志文件均能够为其他节点访问,这样保证在某个节点上实例宕掉后,其他节点上的实例能够利用宕掉节点上的重做日志文件进行数据库的恢复。2.3OPS中的基本概念1.iDLM(IntegratedDistributedlockmanager)是由ORACLE提供的一种对共享资源进行管理的机制。OPS使用两种类型的锁进行多个实例之间的同步,即PCM锁和非PCM锁(PCMlockandnon-PCMlock)2.PCM锁和非PCM锁PCMlock是实例级的锁,用来管理数据文件中的数据块之间的锁。PCM锁由
4、初始化参数中诸如GC_FILES_TO_LOCKS、GC_ROLLBACK_LOCKS等参数进行设置。Non-PCMlock控制对数据文件、控制文件、SGA区中字典缓冲及其在实例间的通讯。1.Ping和falsepingOracle并行服务器运行于同一个数据库,可以有多个实例同时运行,提供数据库服务,每个实例都有自己的数据缓冲区。由于每个实例都有自己的数据缓冲区,必须保持这些缓冲区的一致性:实例1对某一数据块进行写操作,一旦实例2也对它进行读写操作,则实例1需要将该数据块写入磁盘后实例2才能对该数据库进行操作(此时,实例1将对该数据块所拥有的ex
5、clusive锁降级为NULL锁)。这种情况称为一个ping。Ping使原来一个内存I/O可以完成的工作变成2个磁盘I/O和一个内存I/O才能完成的工作,如果系统中有过多的ping则将大大降低系统的性能。同时,由于系统的PCM锁的数量有限(一个PCM锁大概需要占用80Bytes的物理内存),因而每个PCM锁管理不止一个数据块,若实例1和实例2要操作不同的数据块,而这些数据块是由同一个PCM锁管理的,仍然也会发生ping。这些ping即称为falseping。2.PDMLPDML(ParallelDML)――并行DML语句加速了大批量数据更改并且提
6、供了事务处理的灵活性;同时也简化了DBA的任务,比如对数据仓库家里临时回滚表及在分区与非分区表之间交换数据等等;从开发人员分布和协调数据到执行PDML操作不需要额外的设置和干预。2.1系统需求具有下列特性的系统能充分体会PDML的益处:l具有高物理内存的SMP或MPP机器l较高的I/O带宽(多个磁盘、多个磁盘控制器)l足够的CPU和内存支持并行处理操作2.2可以并行执行的操作在ORACLE8i中下面的操作能够并行执行:lTABLESCANlPL/SQLfunctioncalledfromSQLlSortmergejoinl“Notin”lNest
7、edloopjoinlSelectdistinctlHashjoinlAggregationlGroupbylCubelUnionandunionalllCreatetableasselectlOrderbylRebuildindexpartitionlRolluplMovepartitionlCreateindexlUpdatelRebuildindexlInsert…selectlSplitpartitionlEnableconstraint(thetabledeletescanisparallelizedlStarttransformati
8、on2.3并行DML的约束l非分区的表不支持并行update/deletel对于分区列的修改是允许的,但仅仅在该修改不会导致记录被修改或
此文档下载收益归作者所有