- 博客(13)
- 收藏
- 关注
原创 解读Oracle 9201的控制文件
Oracle 9201的控制文件内容列表: 控制文件头...数据库项... 检查点进度记录(该项从Oracle8开始引入)... 扩展的数据库项(该项从Oracle9i开始引入)... 重做线程项... 日志文件项... 数据文件项... 临时文件记录项(该项从Oracle9i开始引入)... 表空间记录项(该项从Oracle8开始引入)...
2004-11-30 11:42:00 2747 1
原创 转储控制文件头
转出控制文件必须在数据库打开(OPEN)或者安装(MOUNT)的状态下进行。 1. 连接数据库E:/>sqlplus "/ as sysdba" SQL*Plus: Release 9.2.0.1.0 - Production on 星期五 5月 14 08:52:03 2004 Copyright (c) 1982,
2004-11-30 11:33:00 2578
原创 如何找出消耗cup的进程信息和执行的语句
要找出最耗资源的sql,我们可以首先使用top等工具,找到最好资源的进程(记住进程号),例如,操作系统进程号为1217,然后根据这个进程号(v$process.spid)在v$process中找到进程地址(v$process.addr),然后根据这个地址在v$session中找到相应的sid(v$session.sid),然后根据这个sid找到相应的hash alue(v$session.
2004-11-24 10:45:00 2095
原创 如何找出数据文件的HWM
经常在resize数据文件的时候,resize的尺寸不好掌握,下面提供一个方法: SQL> declare 2 cursor c_dbfile is 3 select tablespace_name 4 ,file_name 5 ,file_id 6 ,bytes 7 from sys.dba_data_files 8 where s
2004-11-24 10:40:00 1205
原创 找出和解决系统中的锁
V$LOCK视图中包含了关于锁的信息V$LOCKED_OBJECT包含了关于锁的对象的信息 举个例子:首先在一个session使用了demo用户登陆,然后执行update lunar set c1=first lock where c2=999;系统显示:SQL> update lunar set c1=first lock where c2=
2004-11-24 10:37:00 2498 3
原创 使用索引的误区之六:为索引列都建立索引
使用索引的误区之六:为所有列都建立索引我们知道,建立索引是为了提高查询的效率,但是同时也应该注意到,索引增加了对DML操作(insert, update, delete)的代价,而且,一给中的索引如果太多,那么多数的索引是根本不会被使用到的,而另一方面我们维护这些不被使用的所以还要大幅度降低系统的性能。所以,索引不是越多越好,而是要恰到好处的使用。 比如说,有些列由于使用了函数,我们要
2004-11-24 10:32:00 2312 2
原创 使用索引的误区之五:空值的妙用
使用索引的误区之五:空值的妙用并不是因为完全为空的条目不被记录到索引中,就坚决不能使用空值,相反,有时候合理使用oracle的空值会为我们的查询带来几倍甚至几十倍的效率提高。举个例子,加入有一个表,里面有个字段是“处理时间”,如果没有处理的事务,该列就为空,并且在大部分情况下,处理的事务总是在总记录数的10%或者更少,而等待处理的记录(“处理时间”这列为空)总是绝大多数的记录,那么在“等待
2004-11-24 10:28:00 2705 1
原创 使用索引的误区之四:空值对索引的影响
使用索引的误区之四:空值对索引的影响我们首先做一些测试数据:SQL> create table t(x int, y int); Table created 请注意,这里我对表t做了一个唯一(联合)索引:SQL> create unique index t_idx on t(x,y); Index created SQL> insert into t v
2004-11-24 10:26:00 4005 2
原创 使用索引的误区之三:基于函数的索引
使用索引的误区之三:基于函数的索引使用基于函数的索引(BFI, Based Function Index):从Oracle 8i开始,可以使用基于函数的索引来提高查询性能, 使用基于函数的索引,需要几个条件:1, 用户需要有create index或者create any index权限2, 用户需要有query rewrite或者global query rewirt
2004-11-24 10:24:00 2612 3
原创 使用索引的误区之二:使用了 和 != 操作符,导致查询不使用索引
使用索引的误区之二:使用了 和 != 操作符,导致查询不使用索引首先,请记住这个结论:使用了和!=后,就不会使用索引 例如,下面的例子使用了,所以查询没有用到索引select empno from emp where empno PLAN_TABLE_OUTPUT---------------------------------------------------
2004-11-24 10:23:00 2546 4
原创 使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引
使用索引的误区之一:没有使用复合索引的前导列导致查询不使用索引在oracle中,我们经常以为建立了索引,sql查询的时候就会如我们所希望的那样使用索引,事实上,oracle只会在一定条件下使用索引,这里我们总结数第一点:oracle会在条件中包含了前导列时使用索引,即查询条件中必须使用索引中的第一个列,请看下面的例子SQL> select * from tab; TNAME
2004-11-24 10:21:00 3128 1
原创 如何查找某个对象的定义(V$_X$_DBA)
经常遇到需要查找某个对象的定义的情况,下面针对不同类型的对象分别讨论:一、V$视图和X$视图普通用户不能访问V$视图:SQL> conn lunar/lunar@test1已连接。SQL> select * from user_sys_privs;USERNAME PRIVILEGE
2004-11-24 10:12:00 2713
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人