`

性能调优之六:数据库层面调优

阅读更多

 

--- --- ----------Oracle调优--- --- --------

 

调优思路

 

1. 数据库连接最大数设置

 

2. 回滚段大小设置

 

3. 共享SGA大小设置

 

4. 数据切分(水平分库、垂直分库、分区表)

 

5. 找出执行时间长的SQL语句并优化SQL的执行计划

 

6、查看数据库是否有死锁

 

7、数据库集群

 


优化措施

1、查看和设置数据库最大连接数

当数据库最大连接数不够时,会出现客户端连接间歇性失败,报ORA-12519错,我们可以通过以下的SQL语句来查看当前连接数和数据库允许的最大连接数,对比一下,看是否达到了最大值。

 

--查看当前连接数
select count(*) from v$process;

--查看数据库允许的最大连接数
select value from v$parameter where name = 'processes'; 
 

 

修改数据库允许的最大连接数:

 

(1)使用sqlplus登陆数据库

 

sqlplus "sys/oracle as sysdba";
 

 

(2)设置数据库允许的最大连接数

 

alter system set processes = 300 scope = spfile;

 

 

(3)重启数据库

 

shutdown immediate;
startup;
 

 

(4)查看数据库允许的最大连接数

 

select value from v$parameter where name = 'processes';

 

 

6、查看数据库是否有被锁的表

 

SELECT A.OWNER 方案名,
       A.OBJECT_NAME 表名,
       B.XIDUSN 回滚段号,
       B.XIDSLOT 槽号,
       B.XIDSQN 序列号,
       B.SESSION_ID 锁表SESSION_ID,
       B.ORACLE_USERNAME 锁表用户名,
       decode(D.type,
              'XR',
              'NULL',
              'RS',
              'SS(Row-S)',
              'CF',
              'SS(Row-S)',
              'TM',
              'TABLE LOCK',
              'PW',
              'TABLE LOCK',
              'TO',
              'TABLE LOCK',
              'TS',
              'TABLE LOCK',
              'RT',
              'ROW LOCK',
              'TX',
              'ROW LOCK',
              'MR',
              'S(Share)',
              NULL) 锁定方式,
      
       C.MACHINE 用户组,
       C.TERMINAL 机器名,
       B.OS_USER_NAME 系统用户名,
       B.PROCESS 系统进程id,
       DECODE(C.STATUS, 'INACTIVE', '不活动', 'ACTIVE', '活动') 活动情况,
       C.SERVER,
       C.SID,
       C.SERIAL#,
       C.PROGRAM 连接方式,
       C.LOGON_TIME
  FROM ALL_OBJECTS A, V$LOCKED_OBJECT B, SYS.GV_$SESSION C, v$lock d
 WHERE (A.OBJECT_ID = B.OBJECT_ID)
   AND (B.PROCESS = C.PROCESS)
   and C.sid = d.sid
   and B.LOCKED_MODE = D.LMODE
 ORDER BY 1, 2;
  

 

 

 

 

分享到:
评论

相关推荐

    性能测试诊断分析与优化

    第3篇是性能问题诊断分析篇,主要介绍如何分析、定位性能瓶颈,涵盖Web服务器、应用服务器、数据库、应用代码、操作系统等层面的诊断分析。 《性能测试诊断分析与优化》结合主流性能测试工具LoadRunner,讲解性能...

    MySQL优化笔记-整理版.doc

    A: 因为你只是回答一些大而化之的调优原则, 比如:”建立合理索引”(什么样的索引合理?) “分表分库”(用什么策略分表分库?) “主从分离”(用什么中间件?) 并没有从细化到定量的层面去分析. 如qps提高了%N? 有没有...

    最新Java面试题视频网盘,Java面试题84集、java面试专属及面试必问课程

    面试题包含了不同技术层面的面试问题,同时也能对一些没有面试开发经验的小白给予不可估量的包装, 让你的薪水绝对翻倍, 本人亲试有效.Java面试题84集、java面试专属及面试必问课程,所有的面试题有视屏讲解, 解答方案....

    mysql并发控制原理知识点

    在做后端开发时,有时会遇到性能瓶颈,这些瓶颈有时并不是来自应用本身,而是来自数据库层面。 所以所以掌握Mysql的一些底层原理有助于我们更好地理解Mysql,对Mysql进行性能调优, 从而开发高性能的后端服务。 1、...

    SQLServer性能调教系列

    在我们写SQL,设计Table或者做DBA,或者做项目时,会有好多性能方面的考量,好多论坛里面也会常常提问到:为何我这个SQL运行的这么慢或者效率很低,如果做性能方面的调优?如果管理的数据库比较大(maybe>50GB),性能方面的...

    浅谈mysql 系统用户最大文件打开数限制

    交代一下,mysql是装在mysql用户下的,装的时候虽然对数据库参数有进行调优,但是操作系统层面没做调整,所以mysql用户的最大文件打开数限制为默认的1024,用ulimit -n可以查询。然后我在用mysql的root账号登录...

    MySQL优化笔记

    A: 因为你只是回答一些大而化之的调优原则, 比如:”建立合理索引”(什么样的索引合理?) “分表分库”(用什么策略分表分库?) “主从分离”(用什么中间件?) 并没有从细化到定量的层面去分析. 如qps提高了%N? 有没有...

    大型管理信息系统(MIS)中数据库瓶颈的分析与优化 (2010年)

    性能调优代码优化(软优化)虽能解决绝大部分瓶颈问题,但对海量数据的访问性能提升依然存在先天不足,而物理层面对I/O的优化(硬优化)往往能够起到突出效果。实验结果表明,针对基本表设计、表分割以及表对象放置...

    优化器1_介绍.doc

    查询优化技术是数据库系统的核心技术之一,这里介绍的查询优化是SQL层面的优化,属于局部优化,而数据调优属于全局优化。

    优化器2_实现.doc

    查询优化技术是数据库系统的核心技术之一,这里介绍的查询优化是SQL层面的优化,属于局部优化,而数据调优属于全局优化。

Global site tag (gtag.js) - Google Analytics