摘要: Oracle提高查询效率的解析原文出自【比特网】,转载请保留原文链接:http://soft.chinabyte.com/database/316/12292816.shtml在一个数据库中进行操作的时候,效率是很重要的,那么,如何提高oracle的查询效率呢?笔者将从以下几个方面进行详细解析: 1、选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接.. 阅读全文
posted @ 2013-04-03 23:57 wilson.han 阅读(275) 评论(1) 推荐(0) 编辑
摘要: 随着时间的累积,在没有很好的规划的情况下,数据库中也许会存在大量长期不被使用的索引,如果快速的定位这些索引以便清理便摆在案头。我们可以使用“alter index ××× monitoring usage;”命令将索引至于监控状态下,经过一定的监控周期,那些不被使用到的索引便会在具体Schema下的v$object_usage视图中得以体现。展示一下这个过程,供参考。友情提示:生产数据库中的索引添加和删除一定要慎重,需要做好充分的测试。1.环境准备1)创建表Tsec@ora10g> create table t (x int);Table created.2 阅读全文
posted @ 2013-04-03 22:46 wilson.han 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 如果仅仅是lock,以下语句可以发现所有用户锁selects.username,decode(l.type,'TM','TABLELOCK','TX','ROWLOCK',NULL)LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.terminal,s.machine,s.program,s.osuserfromv$sessions,v$lockl,dba_objectsowheres.sid=l.sidando.object_id=l.id1ands.usernameisnotnu 阅读全文
posted @ 2013-04-03 22:44 wilson.han 阅读(402) 评论(0) 推荐(0) 编辑
摘要: Oracle错误代码小结 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换会话 ORA-00022: 无效的会话 ID;访问被拒绝 ORA-00023: 会话引用进程私用内存;无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-00025: 无法分配 ORA-00026: 丢失或无效的会话 ID ORA-00027: 无法删去当前会话 ORA-0 阅读全文
posted @ 2013-04-03 22:34 wilson.han 阅读(3093) 评论(0) 推荐(0) 编辑
摘要: ORACLE SQL TUNINGsuetrain @ 2006-03-16 08:48ORACLE SQL TUNING一.优化器模式 ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 为了使用基于成本的优化器(CBO, Cost-Based Optimizer) , 你必须定期更新统计信息,以保证数据库中的对象统计信息(object statistics)的准确性. 如果数据库的优化器模式设置为选择性(CHOOSE),那么实际的优化器模式将和是否运行过analyze命令有关. 如果table已经被analyze过, 阅读全文
posted @ 2013-03-30 01:57 wilson.han 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 如何降低索引的clustering_factor 2012-06-08 22:40:19分类: Oracle环境:OS:Red Hat Linux As 5DB:10.2.0.4我们知道判断一个索引的好坏可以通过该索引的clustering_factor高低来衡量,clustering_factor越低,索引的使用效果就越好,那怎么样才能降低索引的clustering_factor呢,通常使用的方法是让表的索引字段值按顺序存储,下面通过一个例子说明.1.创建表并构造无序的数据create table scott.tb_index_test( id number not null, name v 阅读全文
posted @ 2013-03-27 22:20 wilson.han 阅读(330) 评论(0) 推荐(0) 编辑
摘要: oracle BBED 直接修改数据库block块博客分类:oracle高级oracle BBED修改数据库block块 BBED的使用[b]bbed就是英文block browse block edit的缩写,用来直接查看和修改数据文件数据的一个工具。[/b]新建一个表,插入5条测试数据:create table chenlintest (id number(5) , name varchar(10)) tablespace users;SQL> insert into chenlintest values(1,'aa');1 row created.SQL> i 阅读全文
posted @ 2013-03-25 21:37 wilson.han 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 一.BBED 的安装BBED在windows 8i中在$ORACLE_HOME/bin下可以找到,9i中似乎未随软件发布,故在windows没有这个工具,在linux上面有,需要编译。在9i/10g中连接生成bbed:cd $ORACLE_HOME/rdbms/libmake -f ins_rdbms.mk $ORACLE_HOME/rdbms/lib/bbed以上生成的bbed可执行文件在$ORACLE_HOME/rdbms/lib目录,可以复制到其他位置或者其他同Oracle版本的机器上运行。也可通过以下命令将bbed生成到$ORACLE_HOME/bin目录make -f ins_rdb 阅读全文
posted @ 2013-03-25 21:35 wilson.han 阅读(437) 评论(0) 推荐(0) 编辑
摘要: 转:http://blog.csdn.net/tianlesoftware/archive/2010/05/19/5604497.aspxLogminer是oracle从8i开始提供的用于分析重做日志信息的工具,它包括DBMS_LOGMNR和DBMS_LOGMNR_D两个package,后边的D是字典的意思。它既能分析redo log file,也能分析归档后的archive log file。在分析日志的过程中需要使用数据字典,一般先生成数据字典文件后使用,10g以后的版本还可以使用在线数据字典。Logminer可以分析其它数据库的重做日志文件,但是必须使用重做日志所在数据库的数据字典,否则 阅读全文
posted @ 2013-03-22 23:17 wilson.han 阅读(597) 评论(1) 推荐(0) 编辑
摘要: 问题描述: Oracle启动startup,ORA-03113:通信通道文件结尾SQL> startup;ORACLE 例程已经启动。Total System Global Area 2.0577E+10 bytesFixed Size 2184672 bytesVariable Size 1.0805E+10 bytesDatabase Buffers 9730785280 bytesRedo Buffers 39743488 bytes数据库装载完毕。ORA-03113: 通信通道的文件结尾进程 ID: 3836会话 ID: 66 序列号: 3问题分析:(1)加载数据库SQL> 阅读全文
posted @ 2013-03-22 23:05 wilson.han 阅读(430) 评论(0) 推荐(0) 编辑