数据库的性能管理哪些人员与数据库的性能有关系统管理员数据库管理员应用程序的设计者应用程序的开发者那些硬件/软件资源与性能有关CPU内存(包括虚拟内存)磁盘I/O网络应用程序性能调整的目标访问最少数量的数据块在内存中缓冲数据块共享应用程序代码以最快的速度读写数据确保用户不用等待资源执行备份,将损失减少到最小警告文件警告文件由一组按时间顺序排列的消息和错误日志组成经常检查警告日志文件可以:发现Oracle内部错误(ORA-600)和数据块损坏的错误监视数据库的操作查看非默认的初始化参数跟踪文件后台进程跟踪文件:记录后台进程运行出错的信息,用于判断数据库的故障用户进程跟踪文件:记录用户进程的活动,主要用于确定数据库的性能初始化参数BACKGROUND_DUMP_DEST和USER_DUMP_DEST用户进程的跟踪实例级跟踪:设置SQL_TRACE初始化参数会话级跟踪:altersessionsetsql_trace=true对某个特定的会话进行跟踪:dbms_system.set_sql_trace_in_session(sid,serial#,true)跟踪文件的格式化tkprof工具的功能是对用户跟踪文件进行格式化,将其转化为可读的文本文件,对SQL语句的执行情况进行统计tkprof命令的格式:tkprof跟踪文件结果文件统计数据的获取数据字典视图和动态性能视图DBA_xxx/USER_xxx数据字典视图V$xxx动态性能视图UTLBSTAT.SQL和UTLESTAT.SQL脚本STATSPACK脚本动态性能视图V$STATNAME•statistic#•name•classV$SYSSTAT•statistic#•name•class•valueV$SGASTAT•pool•name•bytesV$EVENT_NAME•event#•name•parameter1•parameter2•parameter3V$SYSTEM_EVENT•event•total_waits•total_timeouts•time_waited•average_waitUTLBSTAT和UTLESTAT脚本在指定的时间间隔内收集性能统计数据产生一个报表使用UTLBSTAT.SQL和UTLESTAT.SQL脚本在SQL*Plus中以SYSDBA的身份执行该脚本将初始化参数TIMED_STATISTICS设置为TRUESTATSPACK脚本手工或自动生成数据库性能统计数据的多个快照在两个快照之间进行对比,产生报表首先要执行脚本spcreate.sql,产生perfstat模式,以存储这些快照STATSPACK脚本以perfstat用户的身份登录数据库,并执行存储过程产生数据库的一个快照:SQLexecstatspack.snap当产生多个快照后,可以执行脚本spreport.sql,对任意两个快照之间的数据进行分析,并产生分析报告AWR和ADDMAWR:Oracle内部用于对统计数据进行搜集、分析、产生报告的内部数据储藏库统计数据:与SGA、PGA、SQL的执行等有关的详细数据每60分钟针对数据库产生一个snapshot,并且保留7天在每次snapshot产生之后,ADDM立即对数据进行分析,产生结果,存储在AWR中STATISTICS_LEVELBASICTYPICALALLRecommendeddefaultvalueAdditionalstatisticsformanualSQLdiagnosticsSelf-tuningcapabilitiesdisabledAWR和ADDM的例子123Oracle建议的措施Advisory框架ADDMSQLTuningAdvisorSQLAccessAdvisorMemorySpacePGAAdvisorSGASegmentAdvisorUndoAdvisorBufferCacheAdvisorLibraryCacheAdvisorPGABackupMTTRAdvisor利用EM监视数据库的性能CPU的监视会话的监视内存的监视Oracle提供的内存管理方法自动内存管理自动共享内存管理手动共享内存管理ClickEnabletoenableAutomaticSharedMemoryManagement.缓冲区的自动分配