调试oracle缓存命中率来增加数据库的效率
下面两篇文章全部是转帖~
原地址:http://www.im80hou.com/html/oracle/2009/0722/824.html
理论:
内存与硬盘的速度差异,从内存中读取数据要比从硬盘中读取数据快10000倍
众所周知,从内存中读取数据要比从硬盘中读取数据快10000倍。这主要是内存与硬盘的速度差异所造成的。为此在Oracle数据库中提出一个数据缓存的概念。简单的说,就是数据库会把用户前几次查询的数据放置在数据缓存中。下次假如其它用户也需要用到类似的数据,则直接中数据缓存中读取数据,而不是从硬盘中读取数据,以提高数据库的性能。这个数据库缓存命中率就是来评价缓存应用效率的一个指数,它是指那些不用从硬盘上无力操作的数据块比例。
一、 提高数据缓存命中率对数据库性能的影响。
在Oracle数据库中,有很多因素为影响到数据库的缓存命中率。不过根据笔者的经验,笔者认为主要影响缓存命中率的有三个因素,分别为连接、索引与数据缓存的大小。表与表之间的连接或者索引设置的不当的话,都会降低数据缓存的命中率。不过表与表之间的连接、索引等等对数据库性能的影响,是一个比较综合的影响,为此笔者不在这里做过多的阐述。以后若有计划的话,笔者会把他们分开来详细讲述。笔者今天要谈的是,假如调整数据缓存的大小来提高这个数据库缓存命中率。
在Oracl初始化参数文件中,有一个参数叫做DB_CACHE_SIZE。顾名思义,这个参数主要是用来设置数据库缓存大小的。也许有人会讲,把这个参数设置越大越好,如此就可以提高数据缓存命中率。这个说法是不科学的,至少是不全面的。假如把这个参数设置的太大,则系统在切换后就很可能会莫名其妙的罢工;而若这个参数设置的太小的花,则管理员无论如何优化数据库系统,其性能都会十分的有限,由于数据库没有足够的数据缓存来处理相关的操作。所以从这个角度讲,根据实际情况为数据库设置合适的缓存,是对数据库进行其它优化操作的前提。
假如不考虑其它因素(如索引、连接)的影响,则一般情况下,假如这个参数设置的比较低的话,那么最近使用得数据就会被最近一次查询的数据所覆盖掉。如此的话,假如另外一个查询需要重新调用这些被覆盖的数据,则就必须重新从服务器的硬盘中读取相关的数据。此时就会极大的降低数据库查询的效率。
显然,假如数据库缓存命中率降低,会影响数据库的性能,特别是查询作业的性能。那么这个影响的程度到底有多大的?是否值得数据库管理员花大力气去调整这个参数呢?笔者个人
相关文档:
背景:在windows2003server上安装了Oracle9.2.0.1.0,现打算将其升级到9.2.0.8版本,并打上最新的安全补丁April2008版。
1.升级oracle(administrator用户权限)
(1)到metalink下载升级压缩包,patch号为4547809,压缩包名称为 p4547809_92080_WINNT.zip,for windows 32bit。
(2)解压缩zip,下边包含一个 ......
1. 在打开Enterprise Manager Consol时报错: "找不到目标主机";
【解决方案】该问题在使用Ghost制作的系统中常见, 出错原因是Oracle中配置的主机名
和实际的主机名不一致. 解决方法如下:
(1) Enterprise Manager Consol -> 工具菜单 ->服务管理 -> Oracle Net Manager;
(2) 将"本地 ......
过程中的事务
定义过程p1
create or replace procedure p1
as
begin
insert into student values(5,'xdh','m',sysdate);
rollback;
end;
定义过程p2
create or replace procedure p2
as
begin
update student set stu_sex = 'a' where stu_id = 3;
p1;
end;
执行过程p2
exec p2;
执行完毕发现 ......
关于plsql中的define变量以及Oracle变量分类小结
2009-07-29 15:18
先记载刚困扰我的一个问题,最近学习plsql,由于所用学习书籍后面提供题目常用到define变量,但由于这一变量的使用特殊性,自己便寻思这一变量所书类别,Oracle提供的变量分类共有四类:
1)标量(scalar)类型
2)复合(composite)类型
3)参照(re ......
Linux下启动oracle10g的em和isqlplus的方法:
注:$ORACLE_HOME为oracle的安装路径
1,使用EM(enterprise managment)
1.1启动EM
$ORACLE_HOME/bin/emctl start dbconsole
如果出现下面相关信息,说明服务启动
Z set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.1.0.3.0
Copyright (c) 1996, 200 ......