1、调整数据结构的设计
这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。
2、调整应用程序结构设计
这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同的应用程序体系结构要求的数据库资源是不同的。
3、调整数据库SQL语句
应用程序的执行最终将归结为数据库中的SQL语句执行,因此SQL语句的执行效率最终决定了ORACLE数据库的性能。ORACLE公司推荐使用ORACLE语句优化器(OracleOptimizer)和行锁管理器(row-levelmanager)来调整优化SQL语句。
4、调整服务器内存分配
内存分配是在信息系统运行过程中优化配置的,数据库管理员可以根据数据库运行状况调整数据库系统全局区(SGA区)的数据缓冲区、日志缓冲区和共享池的大小;还可以调整程序全局区(PGA区)的大小。需要注意的是,SGA区不是越大越好,SGA区过大会占用 *** 作系统使用的内存而引起虚拟内存的页面交换,这样反而会降低系统。
5、调整硬盘I/O
这一步是在信息系统开发之前完成的。数据库管理员可以将组成同一个表空间的数据文件放在不同的硬盘上,做到硬盘之间I/O负载均衡。
6、调整 *** 作系统参数
例如:运行在UNIX *** 作系统上的ORACLE数据库,可以调整UNIX数据缓冲池的大小,每个进程所能使用的内存大小等参数。
实际上,上述数据库优化措施之间是相互联系的。ORACLE数据库性能恶化表现基本上都是用户响应时间比较长,需要用户长时间的等待。但性能恶化的原因却是多种多样的,有时是多个因素共同造成了性能恶化的结果,这就需要数据库管理员有比较全面的计算机知识,能够敏感地察觉到影响数据库性能的主要原因所在。另外,良好的数据库管理工具对于优化数据库性能也是很重要的。
一、ORACLE数据库性能优化工具
常用的数据库性能优化工具有:
ORACLE数据库在线数据字典,ORACLE在线数据字典能够反映出ORACLE动态运行情况,对于调整数据库性能是很有帮助的。
*** 作系统工具,例如UNIX *** 作系统的vmstat,iostat等命令可以查看到系统系统级内存和硬盘I/O的使用情况,这些工具对于管理员弄清出系统瓶颈出现在什么地方有时候很有用。
SQL语言跟踪工具(SQLTRACEFACILITY),SQL语言跟踪工具可以记录SQL语句的执行情况,管理员可以使用虚拟表来调整实例,使用SQL语句跟踪文件调整应用程序性能。SQL语言跟踪工具将结果输出成一个 *** 作系统的文件,管理员可以使用TKPROF工具查看这些文件。
ORACLEEnterpriseManager(OEM),这是一个图形的用户管理界面,用户可以使用它方便地进行数据库管理而不必记住复杂的ORACLE数据库管理的命令。
EXPLAINPLAN——SQL语言优化命令,使用这个命令可以帮助程序员写出高效的SQL语言。
二、ORACLE数据库的系统性能评估
信息系统的类型不同,需要关注的数据库参数也是不同的。数据库管理员需要根据自己的信息系统的类型着重考虑不同的数据库参数。
1、在线事务处理信息系统(OLTP),这种类型的信息系统一般需要有大量的Insert、Update *** 作,典型的系统包括民航机票发售系统、银行储蓄系统等。OLTP系统需要保证数据库的并发性、可靠性和最终用户的速度,这类系统使用的ORACLE数据库需要主要考虑下述参数:
数据库回滚段是否足够
是否需要建立ORACLE数据库索引、聚集、散列
系统全局区(SGA)大小是否足够
SQL语句是否高效
2、数据仓库系统(DataWarehousing),这种信息系统的主要任务是从ORACLE的海量数据中进行查询,得到数据之间的某些规律。数据库管理员需要为这种类型的ORACLE数据库着重考虑下述参数:
是否采用B-索引或者bitmap索引
是否采用并行SQL查询以提高查询效率
是否采用PL/SQL函数编写存储过程
有必要的话,需要建立并行数据库提高数据库的查询效率
三、SQL语句的调整原则
SQL语言是一种灵活的语言,相同的功能可以使用不同的语句来实现,但是语句的执行效率是很不相同的。程序员可以使用EXPLAINPLAN语句来比较各种实现方案,并选出最优的实现方案。总得来讲,程序员写SQL语句需要满足考虑如下规则:
1、尽量使用索引。试比较下面两条SQL语句:
语句A:SELECTdname,deptnoFROMdeptWHEREdeptnoNOTIN
(SELECTdeptnoFROMemp);
语句B:SELECTdname,deptnoFROMdeptWHERENOTEXISTS
(SELECTdeptnoFROMempWHEREdeptdeptno=empdeptno);
这两条查询语句实现的结果是相同的,但是执行语句A的时候,ORACLE会对整个emp表进行扫描,没有使用建立在emp表上的deptno索引,执行语句B的时候,由于在子查询中使用了联合查询,ORACLE只是对emp表进行的部分数据扫描,并利用了deptno列的索引,所以语句B的效率要比语句A的效率高一些。
2、选择联合查询的联合次序。考虑下面的例子:
SELECTstuffFROMtabaa,tabbb,tabcc
WHEREaacolbetween:alowand:ahigh
ANDbbcolbetween:blowand:bhigh
ANDcccolbetween:clowand:chigh
ANDakey1=bkey1
AMDakey2=ckey2;
这个SQL例子中,程序员首先需要选择要查询的主表,因为主表要进行整个表数据的扫描,所以主表应该数据量最小,所以例子中表A的acol列的范围应该比表B和表C相应列的范围小。
3、在子查询中慎重使用IN或者NOTIN语句,使用where(NOT)exists的效果要好的多。
4、慎重使用视图的联合查询,尤其是比较复杂的视图之间的联合查询。一般对视图的查询最好都分解为对数据表的直接查询效果要好一些。
5、可以在参数文件中设置SHARED_POOL_RESERVED_SIZE参数,这个参数在SGA共享池中保留一个连续的内存空间,连续的内存空间有益于存放大的SQL程序包。
6、ORACLE公司提供的DBMS_SHARED_POOL程序可以帮助程序员将某些经常使用的存储过程“钉”在SQL区中而不被换出内存,程序员对于经常使用并且占用内存很多的存储过程“钉”到内存中有利于提高最终用户的响应时间。
四、CPU参数的调整
CPU是服务器的一项重要资源,服务器良好的工作状态是在工作高峰时CPU的使用率在90%以上。如果空闲时间CPU使用率就在90%以上,说明服务器缺乏CPU资源,如果工作高峰时CPU使用率仍然很低,说明服务器CPU资源还比较富余。
使用 *** 作相同命令可以看到CPU的使用情况,一般UNIX *** 作系统的服务器,可以使用sar_u命令查看CPU的使用率,NT *** 作系统的服务器,可以使用NT的性能管理器来查看CPU的使用率。
数据库管理员可以通过查看v$sysstat数据字典中“CPUusedbythissession”统计项得知ORACLE数据库使用的CPU时间,查看“OSUserlevelCPUtime”统计项得知 *** 作系统用户态下的CPU时间,查看“OSSystemcallCPUtime”统计项得知 *** 作系统系统态下的CPU时间, *** 作系统总的CPU时间就是用户态和系统态时间之和,如果ORACLE数据库使用的CPU时间占 *** 作系统总的CPU时间90%以上,说明服务器CPU基本上被ORACLE数据库使用着,这是合理,反之,说明服务器CPU被其它程序占用过多,ORACLE数据库无法得到更多的CPU时间。
数据库管理员还可以通过查看v$sesstat数据字典来获得当前连接ORACLE数据库各个会话占用的CPU时间,从而得知什么会话耗用服务器CPU比较多。
出现CPU资源不足的情况是很多的:SQL语句的重解析、低效率的SQL语句、锁冲突都会引起CPU资源不足。
1、数据库管理员可以执行下述语句来查看SQL语句的解析情况:
SELECTFROMV$SYSSTATWHERENAMEIN
('parsetimecpu','parsetimeelapsed','parsecount(hard)');
这里parsetimecpu是系统服务时间,parsetimeelapsed是响应时间,用户等待时间,waitetime=parsetimeelapsed_parsetimecpu
由此可以得到用户SQL语句平均解析等待时间=waitetime/parsecount。这个平均等待时间应该接近于0,如果平均解析等待时间过长,数据库管理员可以通过下述语句
SELECTSQL_TEXT,PARSE_CALLS,EXECUTIONSFROMV$SQLAREA
ORDERBYPARSE_CALLS;
来发现是什么SQL语句解析效率比较低。程序员可以优化这些语句,或者增加ORACLE参数SESSION_CACHED_CURSORS的值。
2、数据库管理员还可以通过下述语句:
SELECTBUFFER_GETS,EXECUTIONS,SQL_TEXTFROMV$SQLAREA;
查看低效率的SQL语句,优化这些语句也有助于提高CPU的利用率。
3、数据库管理员可以通过v$system_event数据字典中的“latchfree”统计项查看ORACLE数据库的冲突情况,如果没有冲突的话,latchfree查询出来没有结果。如果冲突太大的话,数据库管理员可以降低spin_count参数值,来消除高的CPU使用率。
五、内存参数的调整
内存参数的调整主要是指ORACLE数据库的系统全局区(SGA)的调整。SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。
1、共享池由两部分构成:共享SQL区和数据字典缓冲区,共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。数据库管理员通过执行下述语句:
select(sum(pins-reloads))/sum(pins)"LibCache"fromv$librarycache;
来查看共享SQL区的使用率。这个使用率应该在90%以上,否则需要增加共享池的大小。数据库管理员还可以执行下述语句:
select(sum(gets-getmisses-usage-fixed))/sum(gets)"RowCache"fromv$rowcache;
查看数据字典缓冲区的使用率,这个使用率也应该在90%以上,否则需要增加共享池的大小。
2、数据缓冲区。数据库管理员可以通过下述语句:
SELECTname,valueFROMv$sysstatWHEREnameIN('dbblockgets','consistentgets','physicalreads');
来查看数据库数据缓冲区的使用情况。查询出来的结果可以计算出来数据缓冲区的使用命中率=1-(physicalreads/(dbblockgets+consistentgets))。
这个命中率应该在90%以上,否则需要增加数据缓冲区的大小。
3、日志缓冲区。数据库管理员可以通过执行下述语句:
selectname,valuefromv$sysstatwherenamein('redoentries','redologspacerequests');
查看日志缓冲区的使用情况。查询出的结果可以计算出日志缓冲区的申请失败率:
申请失败率=requests/entries,申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加ORACLE数据库的日志缓冲区。
昌平北大青鸟java培训班转载自网络如有侵权请联系我们感谢您的关注谢谢支持
BIND
DIP
IntAct
InterDom
MINT
STRING
HPRD
HPID
MPPI
蛋白质相互作用的预测方法很非常多,以下作了简单的介绍
1)系统发生谱
这个方法基于如下假定:功能相关的(related)基因,在一组完全测序的基因组中预期同时存在或不存在,这种存在或不存在的模式(pattern)被称作系统发育谱;如果两个基因,它们的序列没有同源性,但它们的系统发育谱一致或相似.可以推断它们在功能上是相关的。
2
2)基因邻接
这个方法的依据是,在细菌基因组中,功能相关的基因紧密连锁地存在于一个特定区域,构成一个 *** 纵子,这种基因之间的邻接关系,在物种演化过程种具有保守性,可以作为基因产物之间功能关系的指示。这个方法似乎只能适用于进化早期的结构简单的微生物。所以在人的蛋白质相互作用预测时不采用这个方法。
3)基因融合事件
这个方法基于如下假定:由于在物种演化过程中发生了基因融合事件,一个物种的两个(或多个)相互作用的蛋白,在另一个物种中融合成为一条多肽链,因而基因融合事件可以作为蛋白质功能相关或相互作用的指示。
4)镜像树
这个方法的思想是,功能相关的蛋白质或同一个蛋白的域之间,受功能约束,其进化过程应该保持一致,即呈现共进化(CO—evolution)特征,通过构建和比较它们的系统发育树,如果发现树的拓扑结构显示相似性,这种相似的树被称作镜像树,那么,可以推测建树基因的功能是相关的。
5)突变关联
物理上相互接触的蛋白质,比如处在同一个结构复合物中的蛋白质,其中一个蛋白质在进化过程中累计的残基变化,通过在另一个蛋白质中发生相应的变化予以补偿,这种现象被称作关联突变。
6)
序列信号关联
3
通过检查实验上已经证实的相互作用蛋白质对,发现序列特征信号
(sequence-signatures)在不同对的相互作用蛋白中重复地出现,这一现象被称作序列信号关联。利用序列域信号关联作为相互作用蛋白质的识别指示,可以预测未知功能蛋白与已知蛋白的相互作用,减少直接实验的搜索空间。
7)保守的蛋白间相互作用
相互作用的蛋白质在物种演化过程中具有保守性,因此,可以通过在一个物种中建立的蛋白质相互作用网络,预测其它物种的蛋白质间相互作用。这是后基因组时代产生的一个分子进化概念,使人们联想到直系同源基因(orthologs)和平行同源基因(paralogs)两个概念。Walhout首先提出了”interologs”这个新概念,后由Matthews等利用酵母双杂交法分析了1195个酿酒酵母相互作用蛋白在线虫(Celegans)中的保守性,获得了
16%-31%线虫保守相互作用蛋白,它们主要集中在核心代谢过程(coremetabolicprocesses)并预期随着亲缘关系的远近,保守性作相应变化。
8)同源结构复合物
设想三维结构已知的蛋白质复合物,各自的同家族成员以同样的方式发生相互作用
9)进化速率关联
蛋白质的进化速率由这个蛋白质同其它蛋白质发生相互作用的数量决定,并呈负相关,即相互作用的数量越多进化速率越低,而不是通常设想的蛋白质的进化速率由这个蛋白质对机体的重要性决定,这是一个极重要的概念。Fraser等13Ol利用一组实验上证实的酵母相互作用蛋白,量化分析了进化速率、适合度(fitness)和序列共进化(sequenceCO—evolution)之间的关系;统计分析显示,在酵母蛋白质相互作用网络中,连接点越多的蛋白质进化速率进化越低,可能的原因是,这些蛋白质需要与更多的相互作用伴体(partner)共进化。
10)共鸣识别模型MRRM预测蛋白质相互作用
从蛋白质一级结构预测蛋白质相互作用,它假设生物分子(包括蛋白质和DNA)之间的相互作用是通过共鸣能量的传递来实现的,RRM恰当地引入了一些蛋白质的物理参数,并且运用了信号分析方法(DigitalSignalAnalysis,DSP)使得对于蛋白质和基因的分析脱离了局部性。
11)通过Domain相互作用来预测蛋白质相互作用
Domain是蛋白质最小的功能单元,它们之间的相互作用一定程度上就决定了蛋白质之间的相互作用。按照这个方法将所有的氨基酸序列进行聚类,如果类与类之间的相互作用的序列对的个数超过了一定阈值,则表示与两个类的代表序列同源的蛋白质之间都可能会发生相互作用。
12)根据蛋白结构来预测蛋白相互作用
Lappe等人认为,虽然蛋白质之间的相互作用并不能直接用作预测,但是在结构上相似的蛋白质将有可能具有相似的功能,至少会给出一定的功能提示。分类的原则可按照SCOP给出的层次进行,分类方法是将已知序列的蛋白质相互作用对分别与SCOP的典型结构进行匹配,使之对应到每一个类中。预测已知与其他蛋白相互作用关系的蛋白的序列结构可以列出该蛋白结构组成的最大可能情况。
相比甲骨文中国在中国市场的裁员风波,同为数据库服务的MongoDB显得更为乐观。“MongoDB是中国开发者最喜欢用的一个数据库。”MongoDB全球渠道及亚太区销售高级副总裁Alan Chhabra带着一点自信和骄傲在媒体面前宣称。
中国企业的数字化转型正进入关键期,在打造开放、高效、灵活、共享的云计算基础设施的同时,数据库的更新换代也被提上了日程。
日前,非结构化数据库平台提供商MongoDB在上海举办用户大会,MongoDB全球渠道及亚太区销售高级副总裁Alan Chhabra接受了亿欧企业服务频道的采访, 并针对去年修改开源协议,在SSPL的不同许可机制下授权服务器软件的争议以及其他疑问作出回应。
数据库的本质是解决数据的存储和管理问题。 Alan Chhabra表示,对企业发展具有战略意义的数据库正在催生巨大的市场。
在这些潜力颇大的数据库中,市场上目前存在着的是关系型的传统数据库和以Mongo DB为代表的非关联式新型数据库。传统数据库比较典型的是甲骨文旗下的Oracle数据库、IBM推出的大数据平台Hadoop和Stream Computing、微软的SQL Server、SAP以及EMC Greenplum。 他们的主要差别在于数据库的结构化和非结构化。
结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据,存储和排列很有规律,这对查询和修改等 *** 作很有帮助,但扩展性和灵活性欠佳。 非结构化数据库就是各种文档、、视频/音频等没有固定结构的数据,一般直接整体进行存储为二进制的数据格式。 目前涵盖分布式数据库、图数据库、流数据库、时空数据库和众包数据库等多个领域。
MongoDB是文档型的非结构化新型数据库,Alan Chhabra表示, 与传统数据库相比,更能满足用户数据存储量大、计算灵活的需求。“在某些客户某些案例上,我们已经取代了传统数据库,比如甲骨文。”
当前, 软件对于商业模式的改变、开发人员地位的提高,以及企业向云端迁移的趋势 都让数据服务公司的发展得到了助力。但从毕马威会计事务所对首席信息官的调查结果来看, 88%的首席信息官认为他们未能从数字化战略中充分获益;82%的首席信息官认为其所在机构在利用技术推动业务发展方面并非“卓有成效”。 也就是说, 大多数公司的数字化战略是以失败告终的。
在此背景下,更加灵活、性能更加强大的新型数据库在一些领域获得了试验田丰收,并且可以看到,随着客户数据需求的繁杂程度的日益增加,传统数据库也在自我革新,以迎头赶上数据浪潮的大变革。
MongoDB成立于2007年,2017年在纳斯达克上市。最初,MongoDB是一项面向技术爱好者的技术,如今已成为一项企业级的业务关键技术。通过不断开发数据库即服务(Database-as-a-Service)产品,积极拥抱云计算,MongoDB在过去十年里,为开发人员提供了处理数据的方法。正因如此,它也成了企业数字化转型战略的一个关键部分。
MongoDB提供的产品主要包括MongoDB云服务MongoDB Atlas、MongoDB Mobile、MongoDB企业版和MongoDB Stitch等十余个相关产品。Alan Chhabra表示,产品包括了 开源版、付费版和云版。
2018 年 10 月,MongoDB宣布其开源许可证将从GNU AGPLv3切换到SSPL,新许可证将适用于新版本的MongoDB Community Server以及打过补丁的旧版本,这一举动引发了行业热议。基于GNU AGPLv3协议,企业可以将MongoDB作为公共服务但这需要企业开源自己的软件或是获得MongoDB的商业授权,事实却是MongoDB发现许多企业正在违反协议“疯狂试探”甚至已经违反协议。 SSPL( Server Side Public License)顾名思义,要求使用者必须得到服务器端公共许可证,这一协议会进一步约束商业公司使用MongoDB服务。
Alan Chhabra向亿欧解释, SSPL 针对的是提供MongoDB托管服务的云服务厂商。 也就是说,如果不是云服务厂商,没有公然售卖MongoDB产品,而只是作为应用后台数据库来使用的话,那么无论你是电商、物联网、金融、社交、 游戏 、移动应用等等,一概都不会有任何影响。 “MongoDB的宗旨还是为了始终支持并保护创新开放。”
但此开源协议的修改明显带来了市场用户的“掉粉”,比如Linux 社区的接连“弃用”,以及AWS 、IBM、微软推出了兼容MongoDB的相关产品来服务用户。
数据库开源的商业变现与创新形成的矛盾,目前似乎还尚未找到解决方案。
Alan Chhabra在大会上也透露了MongoDB的未来计划, 即将基于智能运营数据平台和下一代基础架构、文化、方法论和安全,推动原有系统的现代化、数据即服务、云数据策略、业务敏捷性,进而帮助客户实现以数据驱动的数字化转型。
针对MongoDB在中国的发展情况, Alan Chhabra表示,公司将以创新立足,持续引领数据库技术发展潮流,与合作伙伴携手助力中国企业的数字化转型。
MongoDB北亚区副总裁苏玉龙认为:“中国是数据大国,而数据就是未来的石油。如何利用好数据,让数据石油助力中国企业腾飞是MongoDB希望在中国达成的事情。随着中国企业数字化转型逐渐走向深入,MongoDB数据库的价值得到不断释放。”
本文作者龚晨霞,微信Gcx847076575,欢迎关注企业服务和产业互联网的朋友加微信交流。
目前实现了PDO接口:
支持的数据库
Cubrid
FreeTDS/MicrosoftSQLServer/Sybase
Firebird/Interbase6
IBMDB2
IBMInformixDynamicServer
MySQL3x/4x/5x
OracleCallInterface
ODBCv3(IBMDB2,unixODBCandwin32ODBC)
PostgreSQL
SQLite3及SQLite2
MicrosoftSQLServer/SQLAzure
4D
针对ORA-4030错误先收集如下的信息:
REM Locate the top PGA userset lines 75
set pages 999
set serveroutput on
spool topuserout
select from gv$version;
declare a1 number;
a2 number;
a3 varchar2(30);
a4 varchar2(30);
a5 number;
a6 number;
a7 number;
a8 number;
blankline varchar2(70);
cursor code is select pid, spid, substr(username,1,20) "USER" , substr(program,1,30) "Program",
PGA_USED_MEM, PGA_ALLOC_MEM, PGA_FREEABLE_MEM, PGA_MAX_MEM
from v$process where pga_alloc_mem=
(select max(pga_alloc_mem) from v$process
where program not like '%LGWR%');
begin
blankline:=chr(13);
open code;
fetch code into a1, a2, a3, a4, a5, a6, a7, a8;
dbms_outputput_line(blankline);
dbms_outputput_line(' Top PGA User');
dbms_outputput_line(blankline);
dbms_outputput_line('PID: '||a1||' '||'SPID: '||a2);
dbms_outputput_line('User Info: '||a3);
dbms_outputput_line('Program: '||a4);
dbms_outputput_line('PGA Used: '||a5);
dbms_outputput_line('PGA Allocated: '||a6);
dbms_outputput_line('PGA Freeable: '||a7);
dbms_outputput_line('Maximum PGA: '||a8);
end;
/
set lines 132
col value format 999,999,999,999,999
select from v$pgastat;
spool off
REM
REM Investigate memory from the database side
REM
col TTL format 999,999,999,999 heading "Total Memory"
break on report
compute sum on report of TTL
select bytes TTL from v$sgainfo where name='Maximum SGA Size'
union
select value from v$pgastat where name='total PGA allocated'
/
set lines 132
set pages 999
spool workareaoverviewout
REM overview of PGA usage
col name format a40 head "Name"
col value format 999,999,999 head "Total"
col unit format a10 head "Units"
col pga_size format a25 head "PGA Size"
col optimal_executions format 999,999,999,999 head "Optimal"
col onepass_executions format 999,999,999,999 head "One-Pass"
col multipasses_executions format 999,999,999,999 head "Multi-Pass"
col optimal_count format 999,999,999,999 head "Optimal Count"
col optimal_perc format 999 head "Optimal|PCT"
col onepass_count format 999,999,999,999 head "One-Pass Count"
col onepass_perc format 999 head "One|PCT"
col multipass_count format 999,999,999,999 head "Multi-Pass Count"
col multipass_perc format 999 head "Multi|PCT"
col sid format 999,999 Head "SID"
col operation format a30 head "Operation"
col esize format 999,999,999 head "Expected Size"
col mem format 999,999,999 head "Actual Mem"
col "MAX MEM" format 999,999,999 head "Maximum Mem"
col pass format 999,999 head "Passes"
col tsize format 999,999,999,999,999 head "Temporary|Segment Size"
spool workareaoverviewout
SELECT name, decode(unit, 'bytes', trunc(value/1024/1024), value) value ,
decode(unit, 'bytes', 'MBytes', unit) unit FROM V$PGASTAT
/
REM Review workarea buckets to see how efficient memory is utilized
REM Ideal to see OPTIMAL EXECUTIONS vs ONE-PASS and Multi-PASS
select case when low_optimal_size < 10241024
then to_char(low_optimal_size/1024,'999999') || 'kb 0
order by low_optimal_size
/
REM Review workarea buckets as percentages overall
REM this script assuming 64K optimal size
SELECT optimal_count, round(optimal_count100/total, 2) optimal_perc,
onepass_count, round(onepass_count100/total, 2) onepass_perc,
multipass_count, round(multipass_count100/total, 2) multipass_perc
FROM
(SELECT decode(sum(total_executions), 0, 1, sum(total_executions)) total,
sum(OPTIMAL_EXECUTIONS) optimal_count,
sum(ONEPASS_EXECUTIONS) onepass_count,
sum(MULTIPASSES_EXECUTIONS) multipass_count
FROM v$sql_workarea_histogram
WHERE low_optimal_size > 641024)
/
REM Review current activity in Work Areas
SELECT to_number(decode(SID, 65535, NULL, SID)) sid,
operation_type OPERATION,trunc(EXPECTED_SIZE/1024) ESIZE,
trunc(ACTUAL_MEM_USED/1024) MEM, trunc(MAX_MEM_USED/1024) "MAX MEM",
NUMBER_PASSES PASS, trunc(TEMPSEG_SIZE/1024) TSIZE
FROM V$SQL_WORKAREA_ACTIVE
ORDER BY 1,2
/
alter session set NLS_DATE_FORMAT='DD-MON-YYYY HH24:MI:SS';
select sysdate from dual;
select from v$pgastat;
col time form a30
col name form a30
select aBEGIN_INTERVAL_TIME time, b
from DBA_HIST_SNAPSHOT a, DBA_HIST_PGASTAT b
where aSNAP_ID=bSNAP_ID
and bname='total PGA allocated'
order by aBEGIN_INTERVAL_TIME desc
/
show parameter parallel_execution_message_size
show parameter memory
show parameter pga
spool off
clear col
#collect AIX info
ls -al $ORACLE_HOME/bin/oracle >> /tmp/supporttxt
oslevel -s
whoami >> /tmp/supporttxt
ulimit -a >> /tmp/supporttxt
svmon -O unit=MB >> /tmp/supporttxt
/usr/sbin/lsps -a >> /tmp/supporttxt
/usr/sbin/lsattr -HE -l sys0 -a realmem >> /tmp/supporttxt
ipcs -m >> /tmp/supporttxt
opatch lsinventory -detail
#collect Linux info
arch
cat /etc/issue
whoami
ulimit -a
df -h /dev/shm
ipcs -ma
cat /etc/sysctlconf
cat /proc/meminfo
cat /proc/swaps
cat /proc/vmstat
opatch lsinventory -detail
如果自己搞不定可以找ASKMACLEAN专业ORACLE数据库修复团队成员帮您恢复!
以上就是关于数据库性能优化有哪些措施全部的内容,包括:数据库性能优化有哪些措施、数据库里的string类型和页面的datatime比较、MongoDB挑战传统数据库:非结构化数据库的迭新不容小觑等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)