zoukankan      html  css  js  c++  java
  • oracle性能优化

    一、oracle数据库优化类型

    1、从未达到性能要求的数据库优化。

                压力测试或者业务刚刚上线时,通过修改应用框架或者大规模的优化SQL语句进行改进,耗时最长,难度也最大。

    2、量变引起质变的数据库优化

                 进入生产环境,随着业务的并发量、数据量的增加出现,通过增加硬件性能或存储,优化难度一般,但代价比较高。

    3、突发性数据库性能故障优化

                  需要数据库管理员快速定位问题,提出解决方案。 优化难度最低,但时间最急迫。

    二、优化目标

    1、增大数据库吞吐量。如通过数据库优化增加每秒执行的事务数。

    2、高效利用服务器硬件资源。如开启并行充分利用CPU和存储I/O资源加快执行速度。

    三、优化方法

    1、减少I/O读取次数、避免I/O争用

    2、锁表问题,导致某一个业务奔溃

         原因:当某一个用户正在操作一条数据时,若忘记提交,另外一个用户又要对其进行修改时。由于上个操作未提交,导致下一个修改操作一直处于等待状态,当时间长了,就会导致锁表情况的发生。

         解决方法:可以通过 kill语句杀死第一个未提交的会话,或者主动对第一个窗口的修改语句进行提交,即可解除锁表情况。

    3、表空间不足,即数据文件达到最大值

    -----先查询对应的表空间的最大空间,和可用空间,查找出哪个表空间查找不足的情况

     SELECT UPPER(F.TABLESPACE_NAME) "表空间名",

           D.TOT_GROOTTE_MB "表空间大小(M)",
           D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
           TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
                         2),
                   '990.99') || '%' "使用比(%)",
           F.TOTAL_BYTES "空闲空间(M)",
           F.MAX_BYTES "最大块(M)"
      FROM (SELECT TABLESPACE_NAME,
                   ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
                   ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
              FROM SYS.DBA_FREE_SPACE
             GROUP BY TABLESPACE_NAME) F,
           (SELECT DD.TABLESPACE_NAME,
                   ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
              FROM SYS.DBA_DATA_FILES DD
             GROUP BY DD.TABLESPACE_NAME) D
     WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
     ORDER BY F.TABLESPACE_NAME

    ----根据表空间的使用情况,查询表空间对应的具体数据文件的使用情况

     select t.TABLESPACE_NAME, --表空间名

           t.FILE_NAME, --文件名
           t.AUTOEXTENSIBLE, --是否自动扩展
           t.BYTES / 1024 / 1024, --表空间初始大小
           t.MAXBYTES / 1024 / 1024, --表空间最大扩展到多少
           b.CONTENTS, --表空间类型
           b.EXTENT_MANAGEMENT --表空间管理模式
      from dba_data_files t, dba_tablespaces b
     where t.TABLESPACE_NAME = b.TABLESPACE_NAME
    ---解决方法
    1、对数据文件USERS01.DBF进行扩充

    alter database datafile 'D:APPWEIHUAORADATAORCLSTUDENT1.DBF' resize 100M ;

     2、直接再增加一个数据文件USERS02.DBF,初始化大小为100M,自动扩展,最大值为500M的数据文件

    alter tablespace STUDENT1

    add datafile 'D:APPWEIHUAORADATAORCLSTUDENT1.DBF'
    size 100m
    autoextend on next 10m maxsize 500m
     
    四、操作系统资源对Oracle性能的重要性
    1、CPU资源:合理并最大限度地利用系统资源是数据库优化的目标之一
    2、内存:内存分配没有多少之分,够用就行
    3、I/O资源:
  • 相关阅读:
    《大道至简》第一章 编程的精义
    java课堂练习7
    Java课后练习6
    Java课后练习5
    Java课后练习4
    Java课后练习3
    课堂练习
    求和程序实验报告
    大道至简第二章读后感
    课堂作业例子
  • 原文地址:https://www.cnblogs.com/karlz/p/14441880.html
Copyright © 2011-2022 走看看