仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 885|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页设计Oracle数据库碎片收拾

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:39:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
“MySQL实际上是一个数据库家族,你可以从选择一个并将其配置成可以满足你的大多数情况,”开源顾问公司Ethiqa的总裁如此表示,“因此,你可以在开始的时候选择一个小巧的版本产品,以后再根据需要来对其进行性能或大小上的扩展。”oracle|数据|数据库我们晓得,Oracle作为一种年夜型数据库,普遍使用于金融、邮电、电力、平易近航等数据吞吐量伟大,盘算机收集普遍提高的主要部门。关于体系办理员来说,怎样包管收集不乱运转,怎样进步数据库功能,使其加倍平安高效,就显得尤其主要。作为影响数据库功能的一年夜要素--数据库碎片,应该引发DBA的充足器重,实时发明并收拾碎片乃是DBA一项基础保护内容。
----1、碎片是怎样发生的
----当天生一个数据库时,它会分红称为表空间(Tablespace)的多个逻辑段(Segment),如体系(System)表空间,一时(Temporary)表空间等。一个表空间能够包括多个数据局限(Extent)和一个或多个自在局限块,即自在空间(FreeSpace)。
----表空间、段、局限、自在空间的逻辑干系以下:

----当表空间中天生一个段时,将从表空间无效自在空间中为这个段的初始局限分派空间。在这些初始局限充斥数据时,段会哀求增添另外一个局限。如许的扩大历程会一向持续下往,直抵达到最年夜的局限值,大概在表空间中已没有自在空间用于下一个局限。最幻想的形态就是一个段的数据可被存在单一的一个局限中。如许,一切的数据存储时接近段内别的数据,而且寻觅数据可罕用一些指针。可是一个段包括多个局限的情形是大批存在的,没有任何措施能够包管这些局限是相邻存储的,如图〈1〉。当要满意一个空间请求时,数据库不再兼并相邻的自在局限(除非别无选择),而是寻觅表空间中最年夜的自在局限来利用。如许将渐渐构成愈来愈多的团圆的、分开的、较小的自在空间,即碎片。比方:

----2、碎片对体系的影响
----跟着工夫推移,基于数据库的使用体系的普遍利用,发生的碎片会愈来愈多,将对数据库有以下两点次要影响:
----(1)招致体系功能削弱
----如上所述,当要满意一个空间请求时,数据库将起首查找以后最年夜的自在局限,而"最年夜"自在局限渐渐变小,要找到一个充足年夜的自在局限已变得愈来愈坚苦,从而招致表空间中的速率停滞,使数据库的空间分派愈发阔别幻想形态;
----(2)华侈大批的表空间
----只管有一部分自在局限(如表空间的pctincrease为非0)将会被SMON(体系监控)背景历程周期性地兼并,但一直有一部分自在局限没法得以主动兼并,华侈了大批的表空间。
----3、自在局限的碎片盘算
----因为自在空间碎片是由几部分构成,如局限数目、最年夜局限尺寸等,我们可用FSFI--FreeSpaceFragmentationIndex(自在空间碎片索引)值来直不雅表现:
FSFI=100*SQRT(max(extent)/sum(extents))*1/SQRT(SQRT(count(extents)))
----能够看出,FSFI的最年夜大概值为100(一个幻想的单文件表空间)。跟着局限的增添,FSFI值迟缓下落,而跟着最年夜局限尺寸的削减,FSFI值会敏捷下落。
----上面的剧本能够用来盘算FSFI值:
remFSFIValueComputeremfsfi.sqlcolumnFSFIformat999,99selecttablespace_name,sqrt(max(blocks)/sum(blocks))*(100/sqrt(sqrt(count(blocks))))FSFIfromdba_free_spacegroupbytablespace_nameorderby1;spoolfsfi.rep;/spooloff;
----好比,在某数据库运转剧本fsfi.sql,失掉以下FSFI值:
TABLESPACE_NAMEFSFI-------------------------------------RBS74.06SYSTEM100.00TEMP22.82TOOLS75.79USERS100.00USER_TOOLS100.00YDCX_DATA47.34YDCX_IDX57.19YDJF_DATA33.80YDJF_IDX75.55
----统计出了数据库的FSFI值,就能够把它作为一个可比参数。在一个有着充足无效自在空间,且FSFI值凌驾30的表空间中,很少会碰见无效自在空间的成绩。当一个空间将要靠近可比参数时,就必要做碎片收拾了。
----4、自在局限的碎片收拾
----(1)表空间的pctincrease值为非0
----能够将表空间的缺省存储参数pctincrease改成非0。一样平常将其设为1,如:
altertablespacetempdefaultstorage(pctincrease1);
----如许SMON便会将自在局限主动兼并。也能够手工兼并自在局限:
altertablespacetempcoalesce;
----5、段的碎片收拾
----我们晓得,段由局限构成。在有些情形下,有需要对段的碎片举行收拾。要检察段的有关信息,可检察数据字典dba_segments,局限的信息可检察数据字典dba_extents。假如段的碎片过量,将其数据紧缩到一个局限的最复杂办法即是用准确的存储参数将这个段重修,然后将旧表中的数据拔出到新表,同时删除旧表。这个历程能够用Import/Export(输出/输入)工具来完成。
----Export()命令有一个(紧缩)标记,这个标记在读表时会激发Export断定该表所分派的物理空间量,它会向输入转储文件写进一个新的初始化存储参数--即是全体所分派空间。若这个表封闭,则利用Import()工具从头天生。如许,它的数据会放进一个新的、较年夜的初始段中。比方:
expuser/passwordfile=exp.dmpcompress=Ygrants=Yindexes=Ytables=(table1,table2);
----若输入乐成,则从库中删除已输入的表,然后从输入转储文件中输出表:
impuser/passwordfile=exp.dmpcommit=Ybuffer=64000full=Y
----这类办法可用于全部数据库。
----以上复杂剖析了Oracle数据库碎片的发生、盘算办法及收拾,仅供参考。数据库的功能优化是一项手艺含量高,同时又必要有充足耐烦、仔细仔细的事情。对数据库碎片的一点切磋,
----假如能起到举一反三,对人人有所启示的话,即是作者最年夜的希望。当然,或许这并不是我们拒绝MySQL的一个有说服力的MySQL学习教程,但是对于一些比较守旧的IT经理来说,在为一些关键业务选择平台的时候,平台的成熟性却是必须要考虑的一个因素,在这一点上,MySQL无疑毫无优势。
再见西城 该用户已被删除
沙发
发表于 2015-1-19 20:33:05 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
板凳
发表于 2015-1-28 10:24:19 | 只看该作者
入门没那么困难,精通没那么容易
小女巫 该用户已被删除
地板
发表于 2015-2-5 15:42:29 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
若相依 该用户已被删除
5#
发表于 2015-2-12 19:56:20 | 只看该作者
我个人认为就是孜孜不懈的学习
灵魂腐蚀 该用户已被删除
6#
发表于 2015-3-3 07:03:25 | 只看该作者
也可谈一下你是怎么优化存储过程的?
蒙在股里 该用户已被删除
7#
发表于 2015-3-11 09:46:13 | 只看该作者
分区表效率问题肯定是大家关心的问题。在我的试验中,如果按照分区字段进行的查询(过滤)效率会高于未分区表的相同语句。但是如果按照非分区字段进行查询,效率会低于未分区表的相同语句。
小魔女 该用户已被删除
8#
发表于 2015-3-18 03:30:35 | 只看该作者
大家注意一点。如下面的例子:
老尸 该用户已被删除
9#
发表于 2015-3-25 11:18:16 | 只看该作者
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-2 16:09

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表