摘要: oracle 索引监控 即使是一个初期设计非常优秀的数据库系统,在持续运行一段时间后,由于数据量的累加,数据库对象的变化,甚至是业务方面的改变,多可能会对数据库的性能带来影响。所以一个持续、健康的数据库系统,时常在半年或一年进行一次全面体检。其中极其重要的体检的指标就是对索引的修改。有可能当初设计合理的索引现在没有发挥大的作用,也有可能已经完成没有作用,甚至可能对数据库性能产生了负担。。。 那么就需要我们去监控、分析、修改甚至删除了。 我们可以打开索引监控性能。查看一段时间内索引的使用频率。[TEST1@orcl#26-12月-10] SQL>select index_name,tabl 阅读全文
posted @ 2013-08-01 23:27 wilson.han 阅读(274) 评论(0) 推荐(0) 编辑
摘要: (一) 分类: Oracle DBA2011-05-25 17:19679人阅读评论(0)收藏举报objectsqltable测试disk磁盘1.创建测试用表t_compress_indexSQL> create table t_compress_index as select * from all_objects; Table created 2.不使用索引压缩技术创建索引SQL> create index idx_t_compress_index on t_compress_index(owner,object_type,object_name); Index createdS 阅读全文
posted @ 2013-08-01 23:23 wilson.han 阅读(491) 评论(0) 推荐(0) 编辑
摘要: oracle虚拟索引的创建oracle在创建索引时,可以通过在SQL语句后添加 nosegment快速建立虚拟索引。例如,create index index_name on table_name(col_name) nosegment;如果在哪个session需要测试虚拟索引,可以利用隐含参数来处理alter session set "_use_nosegment_indexes" = true;就可以利用explain plan for select ……来看虚拟索引的效果;利用@$ORACLE_HOME/rdbms/admin/utlxpls查看执行计划。最后,根据需 阅读全文
posted @ 2013-08-01 23:19 wilson.han 阅读(642) 评论(0) 推荐(0) 编辑
摘要: 函数索引的概念: 基于函数的索引也是8i以来的新产物,它有索引计算列的能力,它易于使用并且提供计算好的值,在不修改应用程序的逻辑上提高了查询性能。使用基于函数的索引有几个先决条件:(1) 必须拥有QUERY REWRITE(本模式下)或GLOBAL QUERY REWRITE(其他模式下)权限。 (2) 必须使用基于成本的优化器,基于规则的优化器将被忽略。 (3) 必须设置以下两个系统参数:QUERY_REWRITE_ENABLED=TRUEQUERY_REWRITE_INTEGRITY=TRUSTED可以通过alter system set,alter session set在系统级或线程级 阅读全文
posted @ 2013-08-01 23:15 wilson.han 阅读(2140) 评论(0) 推荐(0) 编辑
摘要: 关于is null和is not null不能利用索引的测试测试is null和is not null能否利用索引--创建测试数据create table student( id int primary key not null, sid int)--创建索引CREATE INDEX STU_SID ON STUDENT(SID ASC) PCTFREE 10 ALLOW REVERSE SCANS;--插入数据create procedure insertDate()BEGIN DECLARE v_id int; set v_id = 0; while v_id 由查询计划可以看出,该语句使 阅读全文
posted @ 2013-08-01 23:12 wilson.han 阅读(3069) 评论(0) 推荐(0) 编辑
摘要: 1、选择性 Oracle根据查询和数据,提供了多种方法来判断使用索引的价值。第一个方法是判断索引中的唯一键或不同键的数量。使用USER_INDEXES视图,该视图中显示了distinct_keys列。比较一下唯一键的数量和表中的行数,就可以判断索引的选择性。选择性越高,索引返回的数据就越少。索引的选择性可以帮助基于代价的优化器来判断执行途径。SQL> select index_name,table_name,num_rows,distinct_keys from user_indexes;INDEX_NAME TABLE_NA NUM_ROWS DISTINCT_KEYS---- 阅读全文
posted @ 2013-08-01 23:08 wilson.han 阅读(1478) 评论(0) 推荐(0) 编辑
摘要: simon 发表于 2012 -11 - 7 标签 oracle , 数据库优化 , 程序员 , 索引 阅读 878 次0 评论 关系数据库的精髓就是通过关系表进行规范化的数据存储,通过各种表连接技术和各种类型的索引技术来进行信息的检索和处理。合理的索引是保证各种操作快速、高效的关键。据统计,与数据库有关的性能问题,70%是因为程序员对索引和表连接的不了解,导致SQL语句共享性不高、全表扫描、索引被抑制而造成的。常用的索引类型有 B-树索引、位图索引、HASH索引、索引编排表、反转键索引、基于函数的索引、分区索引、本地和全局索引。一、索引设计基本原则 1) 针对B*树单字段索引的设计原则 1. 阅读全文
posted @ 2013-08-01 22:47 wilson.han 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 我们今天主要介绍的是Oracle性能调整,还有回收相关的表空间碎片的方案,如果你对其相关的实际操作步骤的感兴趣的话,以下的文章你就可以点击阅读了,AD:2013云计算架构师峰会超低价抢票中 以下的文章主要是介绍Oracle性能调整,以及回收相关的表空间碎片的几种方法,首先我们要将相关的表空间用compress=Y参数exp出来,在将其中表truncate后,将表imp进去。这是第一步,2、使用alter tablespace name coalesce; 手动收缩一次。3、将表空间的pctincreace参改为大于0,让其自动收缩。一般改为1。alter tablespace name sto 阅读全文
posted @ 2013-08-01 22:16 wilson.han 阅读(5215) 评论(0) 推荐(0) 编辑
摘要: Submitted on 21-Jul-2000 9:17 UTCTom's latest followup | Bookmark | BottomLast updated 21-Feb-2012 19:10You AskedHi Tom,I've entered the following command to coalesce my 'users' tablespace but it returned without any coalescing:alter tablespace users coalesce;What is the reason? and 阅读全文
posted @ 2013-08-01 22:08 wilson.han 阅读(641) 评论(0) 推荐(0) 编辑
摘要: 都知道alter table move 或shrink space可以收缩段,用来消除部分行迁移,消除空间碎片,使数据更紧密,但move跟shrink space还是有区别的。 Move会移动高水位,但不会释放申请的空间,是在高水位以下(below HWM)的操作。 而shrink space 同样会移动高水位,但也会释放申请的空间,是在高水位上下(below and above HWM)都有的操作。Move解决问题: a. 我们可以使用move将一个table从当前的tablespace上移动到另一个tablespace上: alter table t move tablespace tab 阅读全文
posted @ 2013-08-01 21:48 wilson.han 阅读(895) 评论(0) 推荐(0) 编辑
摘要: alter table xxx shrink space 和 alter table xxx move move命令是将数据从原来的段移到目标段的命令。 [move命令] SQL> alter table emp move;ORA-01652: unable to extend temp segment by 8 in tablespace AUTOSEG_TSTAUTOSEG_TST表空间没有足够的空闲空间。SQL> select f.tablespace_name,d.file_name,f.bytes/1024 KBytes,f.blocks,d.autoextensible 阅读全文
posted @ 2013-08-01 21:45 wilson.han 阅读(1510) 评论(0) 推荐(0) 编辑
摘要: Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。对于普通用户:授予connect, resource权限。对于DBA管理用户:授予connect,resource, 阅读全文
posted @ 2013-08-01 11:36 wilson.han 阅读(158) 评论(0) 推荐(0) 编辑