06-对象管理讲稿.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
重建索引的好处:减少了索引所占用的空间,索引块减少以后的好处如下 1、索引扫描的物理块数减少 2、内存占用减少 索引会加重DML的负担 1、每添加一个索引,DML语句的响应时间增加三倍 2、Oracle建议每个表上的索引不要超过7个 3、查询如果不怎么使用索引,那应该删除这个索引 Oracle提供了一种方法,用来监控某个索引是否被使用过 在监控的这段时间内,索引没有被使用过。 视图 可以把视图理解为给一条SQL语句起了个名字,这个名字就是视图名字,使用视图的好处如下: 1、可以屏蔽SQL语句的复杂性,使用一个视图的名字就可以代表一个复杂的SQL 2、可以管理权限,不同的用户创建不同的视图,访问的列不同,达到控制访问的目的 序列:唯一数值发生器,一般使用序列号生成的列作为主键列 使用序列号来生成主键,最大的好处就是快 即使多个session同时申请序列号,每个session所获得的序列号的值也是不一样的 第一次取序列号,将会从数据字典里面取出20个序列号,将数据字典里面的序列号改为21,当内存里面的序列号都使用完成,再次取出20个序列号,数据字典里面的序列号变成41 如果使用了5个序列号以后,发生实例的崩溃,内存里的序列号丢失了,下次重启实例,序列号就从数据字典里面记录的41开始,从26到40之间的序列号丢失了,这样序列号就不连续,对于字段连号的情况来说,不推荐使用序列号,cache设置为0,那么可以保证连号,但是性能很差 可恢复的空间分配 Oracle 10g之前,当我们正在进行大批量数据的插入操作(例如500000条记录),而导致磁盘空间耗尽的时候,整个操作被终止并且回滚,可能已经处理了大量的数据,只剩下1000条记录,之前的操作全部回滚,又要消耗非常多的资源 为了避免这种情况,Oracle10g推出了一个新的技术 Resumable space allocation 一个大的操作导致空间耗尽时,让该操作暂停并且挂起,我们添加新的空间以后,再次恢复该操作 空间耗尽的情况还是挺多的 1、磁盘空间耗尽 2、被操作的表的extents个数达到最大 3、执行操作用户的quota达到最大 4、能够被挂起的用户必须具有resumable系统权限 这个参数表示挂起时间超过设定以后,回滚事务,如果设置为0,表示不启用挂起,直接回滚。 此次会话中没有提交的所有的DML都被回滚。一致回滚到上一次的commit。 提示超时。 获得当前session的SID是149 显式的启用恢复,将参数设置为600秒,同时起了一个名字,便于后面确定的挂起 操作没有反应 另起一个会话,看一下149会话的情况,发现被挂起。 正在等待挂起的语句。 修改了admin的quota以后。 会话很快执行完成。 工具包DBMS_RESUMABLE可以动态的修改一些挂起的参数以及中断挂起操作。 * 书上p127页有一个脚本,可以对HWM进行查找,对比前后的HWM的变化。 * 这个名字我多加进了一个1,因为这是反过来重新做的时候出现的。 * Hash簇的主要意义在于:一个雇员表,将雇员部门编号作为hash簇列,数据在插入的时候,根据部门编号进行hash运算,这样部门编号相同的记录会存放到相同的块中去(可能是多个块容纳一个部门的员工信息,这些块的地址存放在段中的头部,针对每一个hashkeys,都会有一个地址列表)。 这就要求:1、hashkeys的数量不要太多,否则失去了联合存储的意义;2、每个部门编号对应的数据记录分布均匀、可以大体进行计算,否则段头针对每个hashkeys的地址列表很多以后,size空间不便于预留。当以部门编号进行数据读取的时候,速度会很快。 * 4、范围hash组合分区 1、首先根据范围进行划分,然后将每个范围划分的数据进行hash分区,分布到不同的hash子分区上,范围分区以后,并没有产生segment,对范围进行hash的时候,才会产生实实在在的segment 1、根据范围对表进行了范围划分,分成4个区。 2、对每个区的hash划分默认是根据id,分成4个分区 3、pmax分区没有使用默认值,而是分成了2个分区 因此一共产生了14个分区。 5、范围列表组合分区 首先对列进行范围划分,然后对每个分区进行列表分区 一共是6个分区 p1_1、 p1_2在ts01上 p1_3在ts02上 p2_1、 p2_2在ts03上 p2_3在ts04上 索引组织表 一般的表都是以堆来组织的,这是一种无序的组织方式。Oracle还提供了另外一种有序的表,索引组织表,简称IOT IOT表上必须有主键,表里所有的数据都存放在主键所在的索引的叶子节点里 在索引叶子节点里的索引条目里,不仅存放了被索引的列的值,还存放了其他列的值 对于总是通过主键访问数据的表来说,比较适合使用IO

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档