怎么查看数据库参数配置信息上岗前准备
怎么查看数据库参数配置信息-上岗前准备
正式上岗前的准备:怎么查看数据库参数配置信息
个人分类:oracle
做性能测试实际上是一个不短调优和测试的过程,而不是一次测试结束就完成了那么简单,中间分析调优的过程至关重要,接触oracle 也有很长时间了,我们开发使用的数据库都是使用oracle的,也一直没有对oracle做总结,这里写这篇文章也算是自己学习和总结吧。下面就开始吧,不对之处还望指正,有些是摘自学习从书上拿来,有些查到的资料收集,也有一些自己的心的。
1、安装时注意:选择企业数据库中的一般用途
2、专用服务器与共享服务器的区别:在专用连接中,连接所需要的资源全部在PGA中分配。该内存区为指定连接私有,其它进:程不能访问。专用连接采用一对一的连接方式,能很快的响应用户的请求,
但是,如果连接用户太多时,由于要对每一个连接分配资源,因此,连接数受硬件限制比较大。为了克服这种情况,Oracle提出了共享连接的连接方法,即用一个服务器的进程响应多个用户连接,与专用连接不同有连接时才创建PGA不同,共享连接在实例一启动,就分配指定数量的服务器进程,所用户的连接,以排队的方式,由分配器指定给服务器进程,其它的进程排队等待。只要用户的请求一执行完,就会马上断开连接,分配器会把空闲的服务器进程分配给其它排除的进程。
长事务的共享连接会造成shared server进程的严重排队,造成性能的严重下降,长事务采用专用模式
在短事务多用户并发的情况下,多用Oracle的共享模式提高数据库性能,提高访问速度。web服务都是采用这样的服务模式来提高系统的并发性能,如果你的是j2ee或者的web服务都是需要采用这样的服务模式,具体配置过程你可以查手册。。。
3、配置成功验证方法:
查看共享配置成功的方式:
可在登陆sql下输入以下命令
Sql>show parameter dispat显示出含有dispat的所有涉及到的参数
Sql>show parameter share显示出含有share的所有涉及到的参数
SELECT*FROMV$PARAMETER查看Oracle所有的配置参数
selectusername,serverfromv$session查看所有的session以及它们的状态
select*fromv$dispatcher;查看当前共享服务的监听以及状态select*fromv$shared_server;查看当前shareserver线程的状态
selectname,(busy/(busy+idle))*100"Dispatcher% busy Rate"fromV$DISPATCHER
在命令行下输入
lsnrctl services可查看所有监听服务的状态以及连接数量
正确的监听连接显示如下
正在连接到(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)) )
服务摘要..
服务"PLSExtProc"包含1个例程。
例程"PLSExtProc",状态UNKNOWN,包含此服务的1个处理程序...
处理
程序:
"DEDICATED"已建立:0已被拒绝:0
LOCAL SERVER
服务"RMS01_XPT"包含1个例程。
例程"rms01",状态READY,包含此服务的2个处理程序...
处理程序:
"DEDICATED"已建立:8已拒绝:0状态:ready LOCAL SERVER
"D000"已建立:59已被拒绝:0当前:57最大:1002状态:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=gate2)(PORT=1685))
服务"rms01"包含1个例程。
sql连接不上服务器例程"rms01",状态READY,包含此服务的2个处理程序...
处理程序:
"DEDICATED"已建立:8已拒绝:0状态:ready LOCAL SERVER
"D000"已建立:59已被拒绝:0当前:57最大:1002状态:ready
DISPATCHER
(ADDRESS=(PROTOCOL=tcp)(HOST=gate2)(PORT=1685))
命令执行成功
D000建立的连接说明的,当前共享模式下的连接已经配置成功。
4、对Oracle所使用内存SGA的配置:
SGA的内存配置建议为系统内存的55%;
配置完成需要重启oracle数据库
sql>shutdown;
sql>startup;
5、其他参数说明:
共享池(SHARED_POOL):用于缓存最近被执行的SQL语句和最近被使用的数据定义
缓冲区高速缓存(DB_CACHE):用于缓存从数据文件中检索出来的数据块。可以大大提高查询和更新数据的性能。使用LRU算法进行管理
大型池(LARGE_POOL):
只用于shared server环境。可以减轻共享池的负担,可以为备份、恢复等操作来使用,不使用LRU算法来管理.
Java池(JAVA_POOL):为Java命令的语法分析提供服务,在安装和使用Java的情况下使用.
Program Global Area(PGA):
PGA是为每个连接到Oracle database的用户进程保留的内存。Program Global Area(PGA):
PGA存储一个服务器进程或后台进程的数据和控制信息,并且只能由一个进程使用。它在进程创建时分配,在进程结束时被收回。
6、一般这些参数配置经验值:
设置SGA内存大小的经验公式:(作为参考)
SGA=55%物理内存
Shared pool=45%SGA
Buffer cache=45%SGA
Redo Log Cache=10%SGA
7、SGA设置原则:
DataBuffer cache一般可以尽可能的大
Shared_pool应该适度
log buffer在1MB以内就可以了
假定oracle是32bit,服务器RAM大于2G,注意你的PGA的情况,,则建议shared_pool_size+data buffer+large_pool_size+ java_pool_size<1.6G
再具体化,如果512MRAM建议shared_pool_size=50M,data buffer=200M
如果1GRAM shared_pool_size=100M,data buffer=500M 如果2GRAM shared_pool_size=
150M,data buffer=1.2G
可以通过设置pre_page_sga=true,使得数据库启动的时候就把所有内存页装载,这样可能起到一定的作用。
alter system set timed_statistics=true
8、查看关于SGA的一些常用信息
下面的视图提供了关于SGA
组件和他们的动态大小的信息:
视图
描述
V$SGA
显示关于SGA的摘要信息.
V$SGAINFO
显示关于SGA的大小信息,包括不同SGA组件的大小信息,内存颗粒大小,和自由内存空间
V$SGASTAT
显示SGA的详细信息.
V$SGA_DYNAMIC_COMPONENTS
显示SGA组件的信息.此视图摘要了从实例启动以来所有SGA大小调整操作信息.
V$SGA_DYNAMIC_FREE_MEMORY
显示为将来调整SGA大小可用的自由内存空间.
V$SGA_RESIZE_OPS Displays
关于最近400条碗橱大额SGA大小调整操作的信息.
V$SGA_CURRENT_RESIZE_OPS
显示当前进行中的关于SGA大小调整的操作信息.一个调整操作是SGA组件的动态增大或减小。
查询动态性能视图
SELECT SUM(value)FROM V$SGA
SELECT CURRENT_SIZE FROM V$SGA_DYNAMIC_FREE_MEMORY
9、文件中常用参数说明:
job_queue_processes:oracle任务队列数量,不一定越大越好Dispatchers:开启后Oracle可自动设置
pga_aggregate_target:决定可以由所有服务器进程使用的内存的总量
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论